章 9. 啟動及設定 Linux 系統

目錄

9.1. Linux 開機程序
9.2. init 程序
9.3. 透過 /etc/sysconfig 設定系統組態

摘要

啟動 Linux 系統涉及多個元件。硬體自身是由 BIOS 啟動的。BIOS 會藉由開機載入程式啟動核心。此後,關於 init 和執行層級的開機程序完全由作業系統控制。憑藉執行層級的概念,您可以保持日常使用的設定,以及對系統執行維護任務。

9.1. Linux 開機程序

Linux 開機程序由數個階段所組成,每個階段分別由不同的元件所代表。以下清單簡短概述開機程序,以及所有相關主要元件的功能。

  1. BIOS.  開啟電腦之後,BIOS 會啟始化螢幕和鍵盤並測試主記憶體。在此階段中,機器不會存取大量儲存媒體。接著,會從 CMOS 值載入目前日期、時間和最重要的周邊。識別第一個硬碟及其幾何之後,系統控制將會從 BIOS 轉到開機載入程式。

  2. 開機載入程式.  第一顆硬碟的第一個實體 512 位元組資料磁區,會載入主要記憶體。接著,在此磁區開頭的開機載入程式會接管開機程序。開機載入程式執行的指令,決定其他部份的開機程序。因此,第一個硬碟的前 512 位元組是主開機紀錄 (MBR)。然後,開機載入程式會將控制權交給實際的作業系統,在這裡是指 Linux 核心。如需 Linux 開機載入程式 GRUB 的詳細資訊,請參閱第 10 章「開機載入程式 GRUB

  3. 核心和 initramfs 為了送出系統控制權,開機載入程式會將核心和初始 RAM 式檔案系統 (initramfs) 兩者都載入記憶體。核心可以直接使用 initramfs 的內容。initramfs 包含一個名為 init 的小執行檔,該執行檔可以處理實際根目錄檔案系統的掛接。若需要特殊的硬體驅動程式才能存取大量儲存,那一定就是 initramfs 了。如需 initramfs 的詳細資訊,請參閱第 9.1.1 節「initramfs

  4. initramfs 上的 init 本程式將執行掛接適當根目錄檔案系統所需執行的全部動作,例如提供所需檔案系統的核心功能,以及為 udev 提供適用於大量儲存控制器的設備驅動程式。找到根目錄檔案系統後,將會檢查是否有錯誤並進行掛接。若掛接成功,系統會清理 initramfs 並執行根目錄檔案系統上的 init 程式。如需有關 init 的詳細資訊,請參閱第 9.1.2 節「initramfs 上的 init」。如需有關 udev 的詳細資訊,請參閱第 13 章「使用 udev 進行動態核心設備管理

  5. init init 會透過幾個提供不同功能的不同層級來處理實際的系統開機作業。第 9.2 節「init 程序」 中對 init 做了介紹。

9.1.1. initramfs

initramfs 是一個小型 cpio 歸檔,可由核心載入 RAM 磁碟。在實際根目錄檔案系統掛接之前,它提供可讓程式執行的最小 Linux 環境。BIOS 常式會將這個精簡的 Linux 環境載入記憶體,該環境只要求記憶體空間足夠大,此外沒有特定的硬體要求。initramfs 在任何情況下都必須提供一個名為 init 的可執行檔,由它來在根目錄檔案系統上執行實際的 init 程式,如此開機程序才可繼續進行。

在根目錄檔案系統能夠掛接以及作業系統可以啟動之前,核心需要相應的驅動程式才能存取根目錄檔案系統所在的設備。這些驅動程式可能包含特定類型硬碟的特殊驅動程式,或者甚至包含存取網路檔案系統的網路驅動程式。initramfs 上的 init 可以載入根目錄檔案系統所需的模組。當模組載入之後,udev 便會為 initramfs 提供所需的設備。在後來的開機程序中,變更根目錄檔案系統後,必須重新產生這些設備。結合使用 boot.udev 和指令 udevtrigger 可以實現此目的。

如果您要變更已安裝系統上的硬體 (例如硬碟),而開機時此硬體需要核心中存在與原先不同的驅動程式,那麼您就必須更新 initramfs。此過程與更新其前任 (init) 一樣,需要透過呼叫 mkinitrd 來完成。如果不使用任何引數呼叫 mkinitrd,將會建立一個 initramfs。呼叫 mkinitrd -R 則會建立一個 init。在 SUSE® Linux Enterprise Desktop 中,/etc/sysconfig/kernel 中的變數 INITRD_MODULES 會指定要載入的模組。 安裝之後,此變數會自動設定為正確值。模組會確實依據它們在 INITRD_MODULES 中出現的順序來載入。如果您不依賴於 /dev/sd? 設備檔案的正確設定,這一點將無關緊要。不過,在目前系統中,您也可以使用 /dev/disk/ 下以幾個不同子目錄分類的設備檔案,這些子目錄的名稱為 by-idby-pathby-uuid,這些目錄總是代表相同磁碟。在安裝時也可以透過指定相應的掛接選項來實現此目的。

[Important]更新 initramfsinit

開機載入程式將採用與核心相同的方式載入 initramfsinit。更新 initramfsinit 之後不需要重新安裝 GRUB,因為開機時 GRUB 會在目錄中搜尋適當的檔案。

9.1.2. initramfs 上的 init

initramfs 上的 init 主要用途是為掛接以及存取實際根目錄檔案系統做好準備。根據您的系統組態,init 負責下列任務。

載入核心模組

存取您電腦的硬體元件可能需要特殊的驅動程式 (最重要的元件是硬碟),具體取決於您的硬體組態。若要存取最終的根目錄檔案系統,核心需載入適當的檔案系統驅動程式。

提供區塊特殊檔案

對於每個載入的模組,核心均會產生設備事件。udev 會處理這些事件,並在 /dev 內的 RAM 檔案系統中產生所需的特殊區塊檔案。如果沒有這些專用檔案,便無法存取檔案系統和其他設備。

管理 RAID 和 LVM 設定

如果您之前將系統設定為在 RAID 或 LVM 下存放根目錄檔案系統,init 此時會設定 LVM 或 RAID,以便之後能夠存取根目錄檔案系統。如需有關 RAID 與 LVM 的資訊,請參閱第 12 章「Advanced Disk Setup」 (↑部署指南)。

管理網路組態

如果您之前將系統設定為使用網路掛接的根目錄檔案系統 (透過 NFS 掛接),那麼 init 此時必須確定是否已載入適當的網路驅動程式,並且這些驅動程式是否設定為允許存取根目錄檔案系統。

若於安裝過程的啟始開機階段呼叫 init,它執行的任務會與上述任務有所不同:

尋找安裝媒體

當您啟動安裝程序時,您的機器會透過安裝媒體上的 YaST 安裝程式載入一個安裝核心以及一個特殊的 init。在 RAM 檔案系統中執行的 YaST 安裝程式,必需具備安裝媒體的實際位置相關資訊,以便存取該程式和安裝作業系統。

啟始硬體辨識並載入適當核心模組

第 9.1.1 節「initramfs 中所述,開機程序會以最少量的驅動程式啟動,供大部分的硬體組態使用。init 會啟動一個啟始硬體掃描程序,以確定這組驅動程式是否適合您的硬體組態。開機程序所需的模組名稱會寫入 /etc/sysconfig/kernelINITRD_MODULES 中。這些名稱用來產生系統開機所需的自定 initramfs。如果模組不是開機所需,而是供 coldplug 使用,則模組會寫入 /etc/sysconfig/hardware/hwconfig-*。用此目錄中的組態檔案描述的所有設備都會在開機程序中啟始化。

載入安裝系統或救援系統

正確識別硬體後,系統會立即載入適當的驅動程式,udev 會建立特殊的設備檔案,而 init 會透過實際的 YaST 安裝程式啟動安裝系統或者啟動救援系統。

啟動 YaST

最後,init 會啟動 YaST,後者會啟動套件安裝和系統組態程序。

9.2. init 程序

init 程式是第一個程序,它負責以所需的方式來啟始化系統。init 由核心直接啟動,它拒絕訊號 9,因為這個訊號通常會結束程序。所有其他程式不是由 init 直接啟動,就是由它的子程序啟動。

init 是在 /etc/inittab 檔案中集中設定,執行層級也是在該檔案中定義 (請參閱第 9.2.1 節「執行層級」)。該檔案還會指定每個執行層級可以使用的服務和精靈。按照 /etc/inittab 的項目,init 會執行多個程序檔。依預設,開機後啟動的第一個程序檔是 /etc/init.d/boot。系統啟始化階段一旦完成,系統就會使用 /etc/init.d/rc 程序檔將執行層級變更為其預設執行層級。為避免混淆,這些稱做 init 程序檔 的程序檔都位於目錄 /etc/init.d 中 (請參閱第 9.2.2 節「Init 程序檔」)。

系統啟動和關閉的程序,是由 init 維護。從這個角度看,核心可以視為一個背景程序,負責維護所有其他的程序,以及根據其他程式的要求來調整 CPU 時間和硬體存取。

9.2.1. 執行層級

在 Linux 中是由執行層級定義啟動系統的方式,以及在所執行的系統可以使用哪些服務。開機之後,系統會按照 /etc/inittab 中的 initdefault 這一行文字的定義而啟動。一般是 35。請參閱表格 9.1 「可用的執行層級」。 還有一種方法是,執行層級可以在開機期間指定 (例如,在開機提示時新增執行層級編號)。所有不是由核心自身直接計算的參數,都會傳送至 init。要開機進入執行層級 3,只需在開機提示處新增數字 3。

表格 9.1. 可用的執行層級

執行層級

描述

0

系統終止

S 或 1

單一使用者模式

2

本地多重使用者模式,不包含遠端網路 (NFS 等)

3

完整的多重使用者模式,包含網路

4

使用者定義,除非管理員設定了此執行層級,否則此項將不可用。

5

完整多重使用者模式,包含網路、X 顯示管理員—KDM、GDM 或 XDM

6

系統重新開機


[Important]避免透過 NFS 掛接分割區的執行層級 2

如果系統會透過 NFS 掛接 /usr 一類分割區,您就不應該使用執行層級 2。如果程式檔案或是程式庫因執行層級 2 (本地多重使用者模式,無遠端網路) 無法提供 NFS 服務而發生遺失,系統可能無法正常運作。

若要在系統執行時變更執行層級,請輸入 telinit 以及當成引數的對應數字。只有系統管理員可以執行此動作。以下清單列出執行層級區域中最重要的指令摘要。

telinit 1shutdown now

系統變更為單一使用者模式。此模式是用於系統維護和管理任務。

telinit 3

可以啟動所有主要的程式和服務 (包括網路),且可讓一般使用者登入並在非圖形環境下使用該系統。

telinit 5

啟用圖形式環境。此時通常會啟動顯示管理員,如 XDM、GDM 或 KDM。如果已啟用自動登入,本地使用者就可以登入事先選定的視窗管理員 (GNOME、KDE 或任何其他視窗管理員)。

telinit 0shutdown -h now

系統終止。

telinit 6shutdown -r now

系統終止後重新開機

所有 SUSE Linux Enterprise Desktop 標準安裝中,預設都使用執行層級 5。使用者會在提示之下使用圖形介面登入或預設的使用者會自動登入。

[Warning]/etc/inittab 中有錯誤可能會造成系統開機發生錯誤

如果 /etc/inittab 損毀,系統可能無法正常開機。因此,在編輯 /etc/inittab 時要格外小心。將機器重新開機前,請務必使用 telinit q 指令讓 init 重新讀取 /etc/inittab

通常,當您變更執行層級時會發生兩件事。首先,啟動目前執行層級中的停止程序檔,關閉對目前執行層級很重要的一些程式。然後啟動新執行層級的啟動程序檔。在大部份的情況下,此時也會啟動一些程式。例如,從執行層級 3 變更成 5 時,會發生以下事件:

  1. 管理員 (root) 可以透過輸入 telinit 5,要求 init 變更為不同的執行層級。

  2. init 會檢查目前的執行層級 (runlevel) 並決定是否要以新執行層級作為啟動 /etc/init.d/rc 的參數。

  3. 現在,如果新執行層級沒有啟動程序檔,rc 會呼叫目前執行層級的停止程序檔。在此範例中,所有程序檔都位於 /etc/init.d/rc3.d (舊的執行層級是 3),並以 K 開頭。K 後面的數字表示以 stop 參數執行程序檔的順序,因為還有其他的因素要考慮。

  4. 新的執行層級啟動程序檔,會最後才啟動。在此範例中的所有程序檔,都位於 /etc/init.d/rc5.d,而且開頭是 S。同時,S 後面的數字決定要啟動程序檔的序列。

變更成與目前 runlevel 相同的 runlevel 時,init 只會檢查 /etc/inittab 是否變更,並啟動適當的步驟,例如,在另一個介面啟動 getty。使用指令 telinit q 也可以完成相同功能。

9.2.2. Init 程序檔

/etc/init.d 中的程序檔有兩種類型:

init 直接執行的程序檔

這種狀況僅出現於開機程序或立即關閉系統 (電源中斷或使用者按下 Ctrl+Alt+Del)時。此程序檔定義於 /etc/inittab

init 間接執行的程序檔

這些程序檔在變更執行層級時就會執行,而且永遠會呼叫主要程序檔 /etc/init.d/rc,以保證相關程序檔的順序正確。

所有程序檔都位於 /etc/init.d。在開機時執行的程序檔會透過 /etc/init.d/boot.d 的符號連結來呼叫。用於變更執行層級的程序也可以透過其中一個子目錄 (/etc/init.d/rc0.d/etc/init.d/rc6.d) 的符號連結來呼叫。這樣的安排是為了更加明確,避免程序檔用於多個執行層級時,造成重複情況。因為每一個程序檔都可當成啟動程序檔和停止程序檔來執行,所以這些程序檔必須瞭解參數 startstop。程序檔也瞭解 restartreloadforce-reloadstatus 選項。這些不同選項在 表格 9.2 「可用的 init 程序檔選項」 都有說明。直接由 init 執行的程序檔沒有這些連結。他們可以根據需要從執行層級獨立執行。

表格 9.2. 可用的 init 程序檔選項

選項

描述

start

啟動服務。

stop

停止服務。

restart

如果服務在執行中,先停止,再重新啟動。如果服務沒有執行,請啟動它。

reload

不需停止和重新啟動服務,就可以重新載入組態。

force-reload

如果服務支援,請重新載入組態。否則,執行與 restart 相同的動作。

status

顯示目前狀態。


每一個特定執行層級子目錄中的連結,可以將程序檔與不同執行層級產生關聯。安裝或解除安裝套件時,可以透過程式 insserv 的協助,新增和移除這些連結 (或透過 /usr/lib/lsb/install_initd,它是一個會呼叫該程式的程序檔)。請參閱 man 8 insserv 以取得詳細資料。

這些設定也都可以利用 YaST 模組來變更。如果您需要透過指令行檢查狀態,請使用 chkconfig 工具。man 8 chkconfig man 頁面中提供了說明。

簡介最先啟動的開機及最後啟動的停止程序檔,並說明維護程序檔。

boot

使用 init 直接啟系統時會執行。它與所選的執行層級無關,而且只會執行一次。此時會掛接 /proc/dev/pts 檔案系統,並啟動 blogd (開機記錄精靈)。如果系統是更新或安裝之後第一次開機,會啟動啟始系統組態。

blogd 精靈是透過 bootrc 啟動的服務,先於其他任何服務。它在這些程序檔 (會執行多個子程序檔,如使特殊區塊檔案能夠使用) 觸發的動作完成之後就會停止。blogd 會將螢幕輸出的所有內容寫入記錄檔案 /var/log/boot.msg,但唯有當 /var 掛接為可讀寫,才會發生。否則,blogd 會緩衝處理所有螢幕資料,直到 /var 可以使用為止。使用 man 8 blogd 可取得關於 blogd 的其他資訊。

boot 程序檔還負責啟動 /etc/init.d/boot.d 中名稱以 S 開頭的所有程序檔。在該處,會檢查檔案系統,並在需要時設定迴圈設備。也會設定系統時間。如果自動檢查和修復檔案系統時發生錯誤,系統管理員輸入管理員密碼後即可介入。最後執行的程序檔是 boot.local

boot.local

此處輸入開機時進入執行層級之前要執行的其他指令。它就像是 DOS 系統的 AUTOEXEC.BAT

halt

僅在進入執行層級 0 或 6 時才會執行此程序檔。此時,它做為 initinit 來執行。系統是否關閉還是重新開機,取決於呼叫 halt 的方式。如果在關機期間需要執行特殊指令,請將這些指令新增至 init 程序檔。

rc

此程序檔會呼叫目前執行層級的適當停止程序檔,以及新選取執行層級的啟動程序檔。與 /etc/init.d/boot 程序檔相似,系統從 /etc/inittab 中呼叫此程序檔,並使用所需的執行層級做為參數。

您可以建立自己的程序檔,並輕鬆將它們整合至上述配置。如需有關格式化、命名以及組織自定程序檔的指示,請參閱 LSB 的規格和 initinit.dchkconfiginsserv 的 man 頁面。另請參閱 startprockillproc 的 man 頁面。

[Warning]錯誤的 init 程序檔可能會終止系統

錯誤的 init 程序檔可能會讓您的機器當機。編輯類似程序檔要格外小心,可能的話,讓它們在多重使用者環境下密集測試。第 9.2.1 節「執行層級」 中提供了關於 init 程序檔的有用資訊。

若要為指定的程式或服務建立自定 init 程序檔,請使用 /etc/init.d/skeleton 檔案做為樣板。使用新名稱儲存此檔案的副本,並根據需要編輯相關程式和檔案名稱、路徑以及其他詳細資料。您也可能因個人的特別需求而要增強程序檔的功能,以便 init 程序觸發適當的動作。

上方的 INIT INFO 區塊是程序檔的必要組件,因此必須進行編輯。請參閱範例 9.1 「迷你 INIT INFO 區塊」

範例 9.1. 迷你 INIT INFO 區塊

### BEGIN INIT INFO
# Provides:          FOO
# Required-Start:    $syslog $remote_fs
# Required-Stop:     $syslog $remote_fs
# Default-Start:     3 5
# Default-Stop:      0 1 2 6
# Description:       Start FOO to allow XY and provide YZ
### END INIT INFO

請在 INFO 區塊的第一行中、Provides: 後面,為此 init 程序檔所控制的程式或服務指定名稱。Required-Start:Required-Stop: 這兩行中,指定服務本身停止後仍必須處於執行狀態的所有服務。此資訊以後會用來產生程序檔名稱的編號,這些就是在執行層級目錄可以找到的編號。Default-Start:Default-Stop: 之後,指定應該自動啟動或停止服務的執行層級。最後,會在 Description: 簡要說明討論中的服務。

若要從執行層級目錄 (/etc/init.d/rc?.d/) 建立對應到 /etc/init.d/ 中的程序檔,請輸入 insserv new-script-name指令。insserv 會根據 INIT INFO 標頭進行計算,在執行層級目錄 (/etc/init.d/rc?.d/) 中建立啟動和停止程序檔的必要連結。該程式也會為這些連結的名稱加上必要的編號,即可依正確順序啟動和停止每一個執行層級。如果您偏好以圖形工具來建立類似連結,請使用 YaST 提供的執行層級編輯器,請見第 9.2.3 節「使用 YaST 設定系統服務 (執行層級)」

如果 /etc/init.d/ 裡已經有程序檔,應該整合至現有的執行層級配置,使用 insserv 在執行層級目錄中立即建立連結,或者在 YaST 的執行層級編輯器中啟用對應的服務。下次重新啟動時,將會套用您所做的變更—新服務會自動啟動。

請勿手動設定這些連結。如果 INFO 區塊發生錯誤,稍後執行某些其他服務的 insserv 將會發生問題。手動新增的服務將會在下次為此程序檔執行 insserv 時予以移除。

9.2.3. 使用 YaST 設定系統服務 (執行層級)

使用 YaST+系統系統服務 (執行層級)+ 啟動 YaST 模組後,會出現一個概觀清單,其中會列出所有可用的服務和每個服務目前的狀態 (停用或啟用)。決定要以簡單模式進階模式使用模組。大部份情況下,預設的簡單模式應該都已夠用。左欄顯示服務的名稱,中間欄顯示其目前狀態,而右欄提供簡短說明。視窗下方為選取的服務提供更詳細的說明。若要啟用服務,在表格中選取它,然後選取啟用。停用服務的步驟也一樣。

要更仔細控制啟動或停止服務的執行層級,或者變更預設的執行層級,請先選取進階模式。目前預設的執行層級或 initdefault (系統開機時預設掛接的執行層級) 會出現在視窗上方。一般情況下,SUSE Linux Enterprise Desktop 系統的預設執行層級是執行層級 5 (含網路和 X 的完整多重使用者模式)。合適的替代方法可能是執行層級 3 (含網路的完整多重使用者模式)。

此 YaST 對話方塊允許其中一個執行層級選項 (如表格 9.1 「可用的執行層級」所列) 做為新預設。此外,還可使用此視窗中的表格,啟用或停用個別服務和精靈。表格會列示可用的服務和精靈,顯示它們在您的系統上目前是否啟用,如果啟用,是哪一個執行層級。使用滑鼠選取其中一列後,按一下代表執行層級的核取方塊 (B012356S) 來定義執行層級,以便在該處執行選取的服務或精靈。執行層級 4 並未定義,以便建立自定執行層級。表格概觀的正下方,提供目前所選服務或精靈的簡要說明。

[Warning]錯誤的執行層級設定可能會造成系統損害

錯誤的執行層級設定可能會導致系統無法使用。在您套用變更之前,請務必確定您知道它們的後果。

圖形 9.1. 系統服務 (執行層級)

系統服務 (執行層級)

使用啟動、停止或重新整理,決定是否啟動服務。重新整理狀態 檢查目前狀態。您可以使用設定或重設來做選擇,將您的變更套用至系統,或復原啟動執行層級編輯器之前的設定。選取確定即可將變更的設定儲存至磁碟。

9.3. 透過 /etc/sysconfig 設定系統組態

SUSE Linux Enterprise Desktop 的主要組態是由 /etc/sysconfig 中的組態檔案來控制。/etc/sysconfig 中個別的檔案只由相關的程式檔讀取。這可以確保例如網路設定,只由網路相關的程序檔來剖析。

有兩種方式可以編輯系統組態:使用 YaST Sysconfig 編輯器或手動編輯組態檔。

9.3.1. 使用 YaST Sysconfig 編輯器變更系統組態

YaST sysconfig 編輯器會提供一個易於使用的前端工具,用於設定系統。無須瞭解要變更之組態變數的實際位置,只要使用此模組內建的搜尋功能,根據需要變更組態變數的值,接著 YaST 會套用這些變更、根據 sysconfig 中設定的值更新組態,然後重新啟動服務。

[Warning]修改 /etc/sysconfig/* 檔案可能會損壞您的安裝檔案

如果您先前並無經驗和相關知識,請勿修改 /etc/sysconfig 檔案。它可能會嚴重損毀您的系統。/etc/sysconfig 中的檔案包含每一個變數的簡短註解,說明它們的實際作用。

圖形 9.2. 使用 sysconfig 編輯器的系統組態

使用 sysconfig 編輯器的系統組態

YaST sysconfig 對話方塊分割成三個部份。對話方塊的左側顯示所有可設定變數的樹狀結構檢視。當您選取變數時,右側會顯示目前的選擇,以及此變數的目前設定。下方的第三個視窗對變數的用途、可能值、預設值以及產生此變數的實際組態檔提供了簡短說明。對話方塊也提供關於變更變數後要執行的組態程序檔,以及變更結果會啟動什麼新服務等等的相關資訊。YaST 會要求您確認變更,並告訴您在選取完成並離開對話方塊後會執行的程序檔。請選取目前要略過的服務和程序檔,它們會在稍後啟動。為了讓變更生效,YaST 會自動套用所有變更並重新啟動已變更組態的服務。

9.3.2. 手動變更系統組態

若要手動變更系統組態,請執行下列步驟:

  1. 切換為 root 身分。

  2. 使用 telinit 1,將系統置於單一使用者模式 (執行層級 1)。

  3. 使用選擇的編輯器對組態檔進行所需變更。

    如果未使用 YaST 來變更 /etc/sysconfig 中的組態檔,請確定空的變數值是由兩個引號所表示 (KEYTABLE=""),而且該值與其中的空格包夾在引號中。由一個文字組成的值不需要包夾在引號中。

  4. 執行 SUSEconfig 來確定變更生效。

  5. 使用 telinit default_runlevel 指令,將系統還原成先前的執行層級。採用系統預設的執行層級來取代 default_runlevel。若要返回有網路和 X 的完整多重使用者模式,請選擇 5;若要在有網路的完整多重使用者模式下工作,請選擇 3

變更整個系統設定,例如網路組態時,才會用到此程序。小幅度變更不必進入單一使用者模式,不過您也可以進入單一使用者模式,即可百分之百確定所有相關程式都正確重新啟動。

[Tip]設定自動系統組態

若要停用由 SuSEconfig 自動設定的系統組態,請將 /etc/sysconfig/suseconfig 中的 ENABLE_SUSECONFIG 變數設為 no。如果您想使用 SUSE 安裝支援,請勿停用 SuSEconfig,也可以停用部分自動組態。