本節僅介紹 SCPM 的指令行組態。瞭解如何啟動它、設定它和使用設定檔。
SCPM 必須在使用前啟用。以 scpmenable 啟用 SCPM。第一次執行時,SCPM 會花費數秒鐘起始化。以 scpm disable 隨時停用 SCPM 以避免意外切換設定檔。後續的重新啟動只會繼續起始化。
根據預設,SCPM 會處理網路和印表機設定以及 X.Org 組態。若要管理特殊服務或組態檔,請啟用對應的資源群組。若要列出預先定義的資源群組,請使用 scpmlist_groups。若僅要查看已經啟用的群組,請使用 scpmlist_groups -a。請在指令行以 root 的身份執行這些指令。
scpm list_groups -a nis Network Information Service client mail Mail subsystem ntpd Network Time Protocol daemon xf86 X Server settings autofs Automounter service network Basic network settings printer Printer settings
以 scpmactivate_group NAME 或 scpmdeactivate_group NAME 啟用或停用群組。以相關群組名稱取代 NAME。
在啟用 SCPM 之後,名為 default 的設定檔就已經存在。以 scpm list 取得所有可用設定檔的清單。此一現有的設定檔也是作用中的設定檔,可使用 scpm active 來確認。設定檔 default 是基本組態,其他設定檔均從此衍生。因此,應該先進行在所有設定檔中均相同的設定。然後將這些修改以 scpm reload 儲存在作用中的設定檔中。default 設定檔可複製並重新命名作為新設定檔的基礎。
有兩種方法可新增設定檔。如果新設定檔 (在此處名為 work) 要以設定檔 default 為基礎,請以 scpmcopy default work 建立它。指令 scpmswitch work 可變為新設定檔,然後便可修改。您可能基於某些特殊原因想要修改系統組態,以及將變更儲存到新設定檔。指令 scpmadd work 可藉由將目前系統組態儲存在設定檔 work 中,並將它標示為作用中來建立新設定檔。執行 scpm reload,然後將變更儲存到 work 設定檔。
以指令 scpm rename x y 與 scpm delete z 重新命名或刪除設定檔。例如,若要將 work 重新命名為 project,請輸入 scpmrename work project。若要刪除 project,請輸入 scpm delete project。作用中的設定檔無法刪除。
scpm switch work 指令可切換到另一個設定檔 (在此例中為 work 設定檔)。切換到作用中的設定檔可將系統組態修改的設定包括在設定檔中。這等同於指令 scpmreload。
在切換設定檔時,SCPM 首先檢查作用中設定檔的哪些資源被修改。然後查詢每一個資源的修改是否應新增到作用中的設定檔或捨棄。若您偏好分別列出資源 (如先前版本的 SCPM),請使用 switch 加上 -r 參數:scpm switch -r work。
scpm switch -r work Checking for modified resources Checking for Resources to be started/shut down Checking for dependencies Restoring profile default
然後 SCPM 會將目前系統組態與要切換的設定檔相比較。在此階段中,SCPM 會評估因為相互依存性或反映組態中變更而要停止或重新啟動的系統服務。這就像僅涉及小部份系統的部份系統重新開機,而沒有變更的其他部份仍可繼續運作。只有在此時系統服務會停止、所有修改的資源 (如組態檔案) 會寫入,而系統服務會重新啟動。
您可以對每一個以 scpmlist 顯示的設定檔輸入描述。對於作用中的設定檔,以 scpmset description "text" 設定。例如,以 scpm set description "text" work 提供非作用中設定檔的名稱。有時您可能想在切換設定檔時執行 SCPM 未提供的其他動作。最多可對每一個設定檔附加四個執行檔。可在切換過程的不同階段呼叫。這些階段有:
離開設定檔時、停止服務之前執行
離開設定檔時、停止服務之後執行
啟用設定檔時、啟動服務之前執行
啟用設定檔時、啟動服務之後執行
輸入 scpm set prestop filename、scpm set poststop filename、scpm set prestart filename,或 scpm set poststart filename,以指令 set 插入這些動作。程序檔必須為執行檔,並參考正確的解譯器。
警告: 整合自定程序檔
其他可由 SCPM 執行的程序檔必須為超級使用者 (root) 可讀取且可執行。必須對其他所有使用者封鎖這些檔案的存取權。輸入 chmod 700 filename 與 chown root:root filename 以給予 root 對檔案的專用許可權。
以 set 與 get 查詢所輸入的其他所有設定。例如,scpm get poststart 指令可傳回 poststart 呼叫的名稱,而若沒有附加則不會傳回任何內容。以 "" 覆寫來重設此設定。指令 scpm set prestop "" 會移除附加的 prestop 程式。
所有 set 和 get 指令均可使用新增註解的方式套用於任意設定檔。例如,scpm get prestop filename work 或 scpm get prestop work。