章 3. 更新系統和套件管理

內容目錄

3.1. 更新 SUSE Linux
3.2. 隨版本演進的軟體變更
3.3. RPM──套件管理員

摘要

SUSE Linux 會提供不必完全重新安裝、便可更新現有系統的選項。更新的方式有兩種:更新個別的軟體套件更新整個系統。您也可以利用套件管理員 RPM 來手動安裝套件。


3.1. 更新 SUSE Linux

軟體通常會隨著版本更新而「擴增」。因此,請先在更新之前使用 df 來檢視可用的分割區空間。如果您認為磁碟空間可能不夠,請在更新前先確保您資料的安全,再為系統重新分割。每個分割區應該多大並沒有常規可循。分割區的大小需求視您的特定分割設定檔、選定的軟體和 SUSE Linux 的版本而定。

3.1.1. 準備

更新之前,請先將舊的組態檔案複製到其它媒體,例如資料流、抽取式硬碟、USB 碟或 ZIP 磁碟,以確保資料的安全。此作業主要適用於儲存在 /etc 中的檔案,以及 /var/opt 中的一些目錄和檔案。您最好也將 /home (即 HOME 目錄) 中的使用者資料複製到備份媒體。以 root 身分來備份這項資料。只有 root 擁有所有本地檔案的讀取許可權。

開始更新前,請記下這個 root 分割區。df / 指令會列出 root 分割區的設備名稱。在 範例 3.1, "使用 df -h 來列示" 中,要記下的 root 分割區為 /dev/hda3 (裝載位置是 /)。

範例 3.1. 使用 df -h 來列示

Filesystem     Size  Used Avail Use% Mounted on
/dev/hda3       74G   22G   53G  29% /
tmpfs          506M     0  506M   0% /dev/shm
/dev/hda5      116G  5.8G  111G   5% /home
/dev/hda1       39G  1.6G   37G   4% /windows/C
/dev/hda2      4.6G  2.6G  2.1G  57% /windows/D

3.1.2. 可能的問題

如果您將預設系統從上一版更新到這個版本,YaST 會執行必要變更並予以執行。根據您的自訂項目,有些步驟或整個更新程序可能會失敗,導致您必須求訴於複製還原備份資料。我們在這裡指出一些開始更新系統前要檢查的問題。

3.1.2.1. 檢查 /etc 中的密碼和群組

更新系統之前,請先確定 /etc/passwd/etc/group 沒有任何語法錯誤。若要完成這個目的,請以 root 身分來啟動驗證公用程式 pwckgrpck,並排除任何回報的錯誤。

3.1.2.2. PostgreSQL

在更新 PostgreSQL (postgres)之前,先傾印資料庫。請參閱手冊中的 pg_dump。您只需要在更新前有使用 PostgreSQL 的情況下,才需要執行這個動作。

3.1.3. 使用 YaST 更新

依照節 3.1.1, "準備"所述步驟執行準備程序之後,您就可以開始更新系統了:

  1. 就像安裝程序方式為系統進行開機,詳細資訊請參閱節 1.1, "系統啟動進行安裝" (↑啟動)。在 YaST 中,選擇語言,並選取安裝模式對話方塊中的更新。請不要選取全新安裝

  2. YaST 會決定是否有多個 root 分割區。如果只有一個,繼續進行下一個步驟。若有多個的話,請選擇正確的分割區,然後按一下下一步確認 (節 3.1.1, "準備"的範例是選擇 /dev/hda3)。YaST 會在此分割區上讀取舊的 fstab,以分析並裝載此處列出的檔案系統。

  3. 安裝設定對話方塊中,根據您的需求調整設定。一般而言,您可以保留預設設定,但若您希望加強系統,請在軟體選擇子功能表中選取提供的套件,或是新增其他的語言支援。

    您也可以製作不同系統元件的備份。選擇備份會使更新程序變慢。如果您沒有最新的系統備份,請使用這個選項。

  4. 在下列對話方塊中選擇只更新已安裝的軟體,或是將新的軟體元件加入系統 (更新模式)。建議您接受建議的內容,例如根據選項「包含 KDE 的標準系統」更新根據選項「包含 GNOME 的標準系統」更新。調整部分可稍後使用 YaST 進行。

3.1.4. 更新個別套件

不論整體的更新環境為何,您都可以更新個別的套件。不過,此後您必須負責確保系統的一致性。如需更新建議,請造訪 http://www.novell.com/linux/download/updates/

根據您的需要,從 YaST 套件選擇清單中選取元件。如果您選取的套件會影響系統運作,YaST 將會發出警告。這些套件只能在更新模式下更新。例如,許多套件都包含共用程式庫。如果您是在系統執行時更新這些程式和應用程式,可能會出現故障。