8.13 從指令行管理 YaST

當某工作只需進行一次時,圖形或 ncurses 介面通常是最好的解決方案。如果某工作必須重複進行,使用 YaST 指令行介面可能就比較簡單。自定程序檔也能使用此介面來進行工作的自動化。

使用 yast -lyast --list,則可以檢視一個清單,其中包含您系統中所有可用的模組。若要顯示某模組的可用選項,請輸入 yast module_name help。如果某模組沒有指令行模式,就會發出訊息通知您。

若要顯示某模組的指令選項說明,請輸入 yast module_name command help。若要設定選項值,請輸入 yast module_name command option=value

某些模組並不支援指令行模式,因為已經有指令行工具擁有相同的功能。相關的模組以及可用的指令行工具包括:

sw_single

sw_single 可提供套件管理和系統更新功能。 使用 rug,而不使用程序檔中的 YaST。請參閱 節 8.14, 以指令行的 rug 管理套件

online_update_setup

online_update_setup 會為您的系統設定自動更新。這可以使用 cron 設定。

inst_suse_register

請利用 inst_suse_register 註冊您的 SUSE Linux Enterprise。如需關於註冊的詳細資訊,請參閱 節 8.3.4, 註冊 SUSE Linux Enterprise

hwinfo

hwinfo 可提供您系統硬體的相關資訊。指令 hwinfo 也有相同作用。

GenProf、LogProf、SD_AddProfile、SD_DeleteProfile、SD_EditProfile、SD_Report 和子領域

這些模組可控制或設定 AppArmor。 AppArmor 擁有自己的指令行工具。

8.13.1 管理使用者

與傳統指令不同,YaST 用於使用者管理的指令在建立、修改或移除使用者時,會將您系統的組態驗證方法和預設使用者管理設定納入考量。舉例來說,您在使用者新增前後都不需要建立主目錄或複製 skel 檔案。如果您輸入使用者名稱和密碼,所有其他設定都會根據預設組態而自動產生。指令行提供的功能與圖形介面的相同。

YaST 模組 users 可用於使用者管理。若要顯示指令選項,請輸入 yast users help

若要新增多個使用者,請建立 /tmp/users.txt 檔案,並在其中列出要新增的使用者。請在每一行輸入一個使用者名稱,並使用下列程序檔:

範例 8-2 新增多個使用者

  #!/bin/bash
  # 
  # adds new user, the password is same as username
  #
  
  for i in `cat /tmp/users.txt`;
  do
   yast users add username=$i password=$i
  done
 

與新增操作類似,您可以刪除 /tmp/users.txt 中定義的使用者:

範例 8-3 移除多個使用者

  #!/bin/bash
  #
  # the home will be not deleted
  # to delete homes, use option delete_home
  #
  
  for i in `cat /tmp/users.txt`;
  do
  yast users delete username=$i
  done
 

8.13.2 設定網路和防火牆

程序檔中通常沒有網路和防火牆組態指令。請針對網路組態使用 yast lanyast firewall

若要顯示 YaST 網路卡組態選項,請輸入 yast lan help。若要顯示 YaST 防火牆介面卡組態選項,請輸入 yast firewall help。YaST 之網路和防火牆組態的效果會保持一致。重新開機以後,並沒有必要再次執行程序檔。

若要顯示網路的組態摘要,請使用 yast lan list範例 8-4 輸出的第一個項目是設備 ID。如需設備組態的詳細資訊,請使用 yast lan show id=<number>。此範例中的正確指令為 yast lan show id=0

範例 8-4 yast lan list 的輸出範例

   0       Digital DECchip 21142/43, DHCP
  

YaST 防火牆組態的指令行介面可快速且輕易地啟用或停用各種服務、連接埠或通訊協定。若要顯示允許的服務、連接埠和通訊協定,請使用 yast firewall services show。如需啟用服務或連接埠的範例,請使用 yast firewall services help。如需啟用偽裝,請輸入 yast firewall masquerade enable