更新 SUSE Linux Enterprise

目錄

7.1. 更新 SUSE Linux Enterprise
7.2. 部署 Service Pack
7.3. Atomic 更新
7.4. 版本 11 至版本 11 SP1 的軟體變更

摘要

SUSEŽ Linux Enterprise 不必完全重新安裝即可將現有系統更新成新版本。不需要任何新安裝。類似主目錄和系統組態等舊資料仍保持不變。在產品的生命週期期間,您可以套用 Service Pack 來提高系統安全性,以及修正軟體問題。請從本地 DVD 光碟機或從中央網路安裝來源進行安裝。

更新 SUSE Linux Enterprise

若要從 SUSE Linux Enterprise Server 10 SP3 或 11 GA 升級到 SUSE Linux Enterprise Server 11 SP1,請按照本節所述的步驟操作。請務必先將舊系統更新為最新的修補程式層級。

[Note]系統版本要求

有關可以升級到此版本之系統版本的精確要求,請參閱更新產品隨附的版本說明。版本說明中提供了關於升級程序的其他資訊。

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

準備

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

開始更新前,請記住這個 root 分割區。df / 指令會列出根分割區的設備名稱。在 範例 7.1 「使用 df -h 來列示」 中,要記下的 root 分割區為 /dev/sda3 (掛接位置是 /)。

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

Filesystem     Size  Used Avail Use% Mounted on
/dev/sda3       74G   22G   53G  29% /
tmpfs          506M     0  506M   0% /dev/shm
/dev/sda5      116G  5.8G  111G   5% /home
/dev/sda1       44G    4G   40G   9% /data

可能的問題

如果您將預設系統從上一版更新到這個版本,YaST 會執行必要變更並予以執行。根據您的自定設定,有些步驟或整個更新程序可能會失敗,導致您必須依靠還原備份資料的方式來解決。請先在開始系統更新之前檢查下列問題。

檢查 /etc 中的密碼和群組

更新系統之前,請先確定 /etc/passwd/etc/group 沒有任何語法錯誤。為此,請以 root 身分啟動驗證公用程式 pwckgrpck,以更正回報的錯誤。

PostgreSQL

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

使用 YaST 更新

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

  1. 您可以選擇性地準備安裝伺服器。如需背景詳細資訊,請參閱第 14.2.1 節「使用 YaST 設定安裝伺服器」

  2. 依照 第 6.5 節「系統啟動進行安裝」 中說明的安裝方式將您的系統開機。在 YaST 中,選擇語言,並選取安裝模式對話方塊中的更新。請不要選取全新安裝。另外還需新增儲存庫,以便在條件允許的情況下更新所有可用的軟體。如需關於安裝儲存庫的詳細資訊,請參閱第 6.10.1 節「附加產品」

  3. YaST 會判斷是否有多個根分割區。如果只有一個,繼續進行下一個步驟。若有多個的話,請選擇正確的分割區,然後按一下下一步,確認 (第 7.1.1 節「準備」 中的範例是選擇 /dev/sda3)。YaST 會在此分割區上讀取舊的 fstab,以分析並掛接此處列出的檔案系統。

    [Warning]永久的設備名稱

    執行更新之前,必須將 /etc/fstab 中使用核心設備名稱指定要掛接的分割區的所有項目,變更為其他任何受支援的方式。核心設備名稱不是永久不變的,因此在更新過程中使用該名稱並不可靠。要達到這個目的,您可以使用 YaST 進階磁碟分割程式來變更 fstab 選項設定中使用的方法;如需詳細資訊,請參閱第 15.1 節「使用 YaST 磁碟分割程式」

  4. 核取先前使用的儲存庫 (如果有)。啟用所有您仍要使用且要從中更新協力廠商軟體的儲存庫。對清單中的每個項目按一下切換狀態(若適用)。

  5. 如果在升級過程中已經按上述建議新增了儲存庫,現在就可以啟用您真正所需的儲存庫。

  6. 安裝設定對話方塊中,根據您的需求調整設定。通常,大多數預設設定都無需變更。在更新選項中,考慮選取透過安裝新軟體和功能進行更新。如果要進一步增強系統功能,請核取套件子功能表中提供的軟體,或是新增其他語言支援。不過,您也可以稍後再使用 YaST 調整這些設定。

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

  7. 按一下開始更新確認升級。

完成基本升級安裝後,按照 YaST 對話方塊中的指示測試網際網路連線。最後,YaST 會更新其餘軟體,並顯示版本說明。按一下完成寫入 YaST 組態。

使用 zypper 進行套裝作業系統升級

使用 zypper 指令行公用程式可以升級至新版套裝作業系統。最重要的是,您可以從執行中的系統啟動系統升級程序。

對於要執行遠端升級或在許多具有類似設定的系統上升級的進階使用者來說,此項功能很有吸引力。缺乏經驗的使用者喜歡使用 YaST 進行升級,如第 7.1.3 節「使用 YaST 更新」 中所述。

在使用 zypper 開始升級之前

為了避免在使用 zypper 進行升級的過程中出現未預期的錯誤,請將導致風險的因素減至最低。

請從最新版 (SUSE Linux Enterprise 11) 升級至此版本 (SUSE Linux Enterprise 11 SP1),不要跳過中間的任何 Service Pack。也就是說,不要一次性從 SUSE Linux Enterprise 10 SP3 或更早版本升級至此 Service Pack (SUSE Linux Enterprise 11 SP1),也不要從 SUSE Linux Enterprise 11 直接升級至 SUSE Linux Enterprise 11 SP2 (當將來該版本發佈時)。請確定在開始系統升級之前,已成功套用所有可用的線上更新。

儘可能多地關閉應用程式和不需要的服務,並將所有的一般使用者登出。

在開始升級之前停用協力廠商儲存庫,或降低這些儲存庫的優先程度,以便讓預設系統儲存庫之套件的優先程度優先。完成升級後,再將這些儲存庫啟用,並編輯其版本字串,使之與已升級之執行中系統的套裝作業系統的版本號碼相符。

升級程序

[Warning]檢查系統備份

在真正開始執行升級程序前進行檢查,確定您的系統備份最新並可還原。這一點很重要,因為您之後必須執行許多手動步驟。

  1. 執行線上更新,以確定軟體管理堆疊保持最新。如需詳細資訊,請參閱第 1 章「YaST 線上更新」 (↑管理指南)。

  2. 設定要用做更新來源的儲存庫。請務必正確設定。使用 YaST (請參閱第 9.3 節「管理軟體儲存庫與服務」) 或 zypper (請參閱第 4.1 節「使用 Zypper」 (第 4 章「使用指令行工具管理軟體」, ↑管理指南))。

    [Tip]儲存庫名稱

    根據您的自定設定,以下步驟中使用的儲存庫名稱會稍有不同。

    考慮準備或更新自己的安裝伺服器。如需背景詳細資訊,請參閱第 14.2.1 節「使用 YaST 設定安裝伺服器」

    若要檢視您目前的儲存庫,請輸入︰

    zypper lr -u
    
    1. 使用以下指令將系統儲存庫的版本號碼從 11 提升為 11-SP1,以及新增 11_SP1 儲存庫︰

      server=http://download.example.org
      zypper ar $server/distribution/11-SP1/repo/oss/ SLE-11-SP1
      zypper ar $server/update/11-SP1/ SLE-11-SP1-Update
      

      移除舊的儲存庫︰

      zypper rr SLE-11
      zypper rr SLE-11-Update
      
    2. 停用協力廠商儲存庫或其他 penSUSE Build Service 儲存庫,因為 zypper dup 只能用於預設的儲存庫︰

      zypper mr -d repo-alias
      

      您也可以不將其停用,而是降低這些儲存庫的優先程度。

      [Note]處理未解決的相依性

      zypper dup 會移除所有存在相依性未解決的問題的套件,但會保留滿足相依性之已停用儲存庫的套件。

      zypper dup 可確保所有安裝的套件都來自同一個可用的儲存庫。它不會考慮所安裝套件的版本、架構或廠商,因此會模擬執行全新安裝。儲存庫中不再可用的套件會視為孤立套件。如果此類套件無法滿足相依性,即會被解除安裝。若滿足相依性,將不會被解除安裝。

    3. 此作業結束後,使用以下指令檢查儲存庫組態︰

      zypper lr -d
      
  3. 使用 zypper ref 重新整理本地中繼資料和儲存庫內容。

  4. 使用 zypper in zypper 從 11 SP1 儲存庫引入 zypper。

  5. 使用 zypper dup 執行實際的套裝作業系統升級。系統會要求您確認 SUSE Linux Enterprise 和某些套件的授權,具體視安裝的套件集而定。

  6. 使用 SuSEconfig 執行基本的系統組態。

  7. 使用 shutdown -r now 將系統重新開機。

部署 Service Pack

使用 Service Pack 來更新 SUSE Linux Enterprise 安裝。您可以用幾種不同的方式來套用 Service Pack。您可以使用 Service Pack 媒體來更新現有安裝,或是啟動全新安裝。第 14.2 節「安裝保存安裝來源的伺服器」 中介紹了更新系統和設定中央網路安裝來源的幾種可能情形。

[Tip]安裝變更

請讀取 Service Pack 媒體的安裝指示,取得關於變更的詳細資訊。

安裝 Service Pack

[Note]

若要將現有的 SUSE Linux Enterprise 11 系統升級到 SUSE Linux Enterprise 11 Service Pack (SP),請參閱第 7.2.2 節「升級至 Service Pack (移轉)」

安裝 SUSE Linux Enterprise Service Pack 的程序非常類似安裝原始 SUSE Linux Enterprise 媒體。若有安裝原件,您可以選擇從本地 DVD 光碟機或是從中央網路安裝來源進行安裝。

從本地 DVD 光碟機安裝

在開始執行全新的 SUSE Linux Enterprise SP 安裝前,請確保所有 Service Pack 安裝媒體 (DVD) 都已備妥。

過程 7.1. 從 Service Pack 媒體開機

  1. 插入第一張 SUSE Linux Enterprise SP 媒體,然後開機。這時會出現類似 SUSE Linux Enterprise 11 原始安裝的開機畫面。

  2. 請選取安裝並參照第 6 章「使用 YaST 安裝中的 YaST 安裝指示繼續進行。

網路安裝

在開始進行 SUSE Linux Enterprise SP 網路安裝之前,請先確定確實符合下列需求:

網路安裝 — 從 DVD 開機

若要使用 SP DVD 做為開機媒體來執行網路安裝,請執行下列步驟:

  1. 插入 SUSE Linux Enterprise SP DVD 1,然後開機。這時會出現類似 SUSE Linux Enterprise 11 原始安裝的開機畫面。

  2. 選取安裝來為 SP 核心開機,然後使用 F3,選取網路安裝來源類型 (FTP、HTTP、NFS 或 SMB)。

  3. 提供適當的路徑資訊,或是選取SLP作為安裝來源。

  4. 從所提供伺服器中選擇適當的安裝伺服器,或是依照第 6.1.2 節「從沒有 SLP 的網路來源安裝」所述步驟,使用開機選項提示字串提供安裝來源類型和確實位置。YaST 於是啟動。

    請依照第 6 章「使用 YaST 安裝所述完成安裝。

網路安裝—PXE 開機

若要執行 SUSE Linux Enterprise 的網路安裝,請依照下列步驟執行:

  1. 依據第 14.3.5 節「準備用於 PXE 啟動的目標系統」所述,調整 DHCP 伺服器的設定,提供 PXE 開機時所需要的位址資訊。

  2. 設定 TFTP 伺服器存放 PXE 開機時所需要的開機影像。

    使用 SUSE Linux Enterprise Service Pack 的第一張 CD 或 DVD 進行這項開機,或者依照第 14.3.2 節「設定 TFTP 伺服器」的指示執行安裝。

  3. 在目標機器上準備 PXE 開機和網路喚醒功能。

  4. 啟始目標系統開機,並使用 VNC 遠端連接到這部機器所執行的安裝常式。如需相關資訊,請參閱第 14.5.1 節「安裝 VNC」

  5. 接受授權書,然後選取語言、預設桌面和其他的安裝設定。

  6. 按一下是,請安裝,開始安裝。

  7. 繼續依一般方式進行安裝 (輸入 root 的密碼、完成網路設定、測試網路連線、啟用「線上更新服務」、選擇使用者驗證方法,並輸入使用者名稱和密碼)。

    如需安裝 SUSE Linux Enterprise 的詳細指示說明,請參閱第 6 章「使用 YaST 安裝

升級至 Service Pack (移轉)

有兩種首選方法可以將系統升級到 Service Pack (SP) 功能層級。一種是以 SP 媒體開機,備選方法是執行 YaST 線上更新或桌面更新 applet,然後選取更新到 Service Pack X修補程式。更新為新的功能層級後,您的系統就可以使用諸如新驅動程式或軟體增強功能之類的額外功能。

[Warning]請勿遺漏更新到 Service Pack修補程式

如果不選取更新到 Service Pack修補程式,系統將仍然停留在先前的功能層級,而您只能取得限定時間內的錯誤修正和安全性更新 (對於 SUSE Linux Enterprise 11 GA,此時間段現在延長為六個月)。因此,為了確保持續的系統完整性,建議儘早變更為新的功能層級。

另幾種升級方法是手動執行 zypper 指令、使用修補程式 CD,或使用本地安裝的 SMT 系統。

[Note]

在 System z 系統中,修補程式 CD 更新選項不可用。

更新時使用 SP 媒體開機

請使用 SP 媒體開機,並在 YaST 中選擇更新做為安裝模式。如需詳細資訊並完成更新程序,請參閱第 7.1.3 節「使用 YaST 更新」

使用 YaST 線上更新

要起始 YaST 線上更新來更新至 SP 功能等級之前,請先確定是否符合下列需求:

  • 在整個更新程序中,系統都必須保持在線上的狀態,因為此程序需要存取 Novell Customer Center。

  • 如果您的安裝中有協力廠商軟體或附加軟體,請在其他機器上測試此程序,以確定這些相依性並未遭到更新程序的破壞。

  • 請確定整個程序都成功完成,否則系統會不一致。

[Tip]使用 YaST 線上移轉

或者,可以使用 YaST 線上移轉程序。以 root 身分在指令行輸入 yast2 wagon 啟動該程序。

圖形 7.1. 套件管理更新

套件管理更新

圖形 7.2. 更新至 Service Pack

更新至 Service Pack

[Note]

在使用 YaST 線上更新進行升級移轉的過程中,套件管理堆疊會加以更新。因此,建議不要使用任何其他軟體管理工具,例如 zypper 或桌面更新 applet。建議在移轉過程中停止桌面更新 applet。

  1. 在正在執行的 SUSE Linux Enterprise 系統中選取電腦+YaST+軟體+線上更新

    如果您不是以 root 身份登入,請在收到提示時輸入 root 密碼。

  2. 這時會開啟線上更新對話方塊。有幾個修補程式已預先選取。向下捲動修補程式清單並驗證是否真正預先選取了 Service Pack 更新的觸發程式。然後按套用以安裝選取的更新。

  3. 確認安裝,線上更新即會自動重新啟動。

  4. 重新啟動後,按一下接受套用所有可用的更新以及新核心。安裝後,必須重新啟動系統。

  5. 在重新啟動的線上更新中,現在可以向下捲動修補程式清單,並選取更新到 Service Pack(slessp0-sle11-sp1-migration),如圖形 7.2 「更新至 Service Pack」 中所示。確認所選內容。

    slessp0-sle11-sp1-migration 修補程式標示為選擇性。如果不選取該修補程式,系統將仍然停留在 GA 功能層級,而您只能取得限定時間內 (SP1 啟用後的六個月) 的錯誤修正和安全性更新。

  6. 下載並安裝修補程式對話方塊可以追蹤移轉修補程式安裝程序的進度記錄。當總進度達到100%時,安裝會自動完成。

  7. 重新啟動系統。

使用 zypper

若需要使用可編寫指令碼解決方案來進行更新,請使用 zypper

在使用 zypper 啟動線上更新以升級到 SP 功能層級之前,請確定符合第 7.2.2.2 節「使用 YaST 線上更新」 中列出的要求。

若要將系統移轉到 SP1 修補程式層級,至少需要執行以下指令序列:

zypper ref -s                 1
zypper up -t patch            2
zypper up -t patch            3
grep '<product>' /etc/products.d/*.prod        4
zypper in -t product SUSE_SLES-SP1-migration   5
suse_register -d 2 -L /root/.suse_register.log 6
zypper ref -s                  7
zypper mr --disable repo-alias 8
zypper mr --enable  repo-alias 9
zypper dup                     10 
suse_register -d 2 -L /root/.suse_register.log 11
reboot

1

重新整理所有服務及儲存庫。

2

更新修補程式,尤其是套件管理堆疊。

3

使用剛剛更新的套件管理堆疊更新其餘的修補程式。

4

閱讀移轉產品資訊...

5

...並使用之前擷取的名稱進行安裝。

6

註冊產品。

7

重新整理所有服務及儲存庫。

8

停用舊儲存庫 (GA)。

9

啟用新儲存庫 (SP1)。

10

使用 zypper 進行套裝作業系統升級。

11

重新註冊新產品。該過程會以新的 SP1 更新儲存庫取代舊 GA。

Atomic 更新

Atomic 更新依賴於能夠管理兩個系統副本並可讓您在更新失敗後輕鬆復原的工具來進行。提供的工具要求進行特殊的磁碟分割區設定。每個系統副本都位於系統自己的主分割區中。如果更新失敗,您總是可以切換回另一個分割區上系統的先前狀態。

設定

[Warning]嚴格的磁碟分割要求

該實作對磁碟分割有嚴格的要求︰第一個根分割區是 /dev/sda1,且其大小不得超過整個磁碟大小的一半。工具會建立系統的第二個根分割區 /dev/sda2。其他分割區 (如果有) 分享兩個根分割區上的大小 — 考量這些分割區的大小,然後相應減少第一個分割區的大小;以下是粗略的計算方法︰

完整磁碟大小 - sda1 的大小 - sda2 的大小 = 其他分割區的可用空間。

  1. /dev/sda1 做為單一的根分割區安裝系統,所佔空間要小於整個磁碟大小的一半。

  2. 視需要對安裝的系統進行自定。請務必安裝 multi-update-tools 套件。

  3. 執行 multi-update-setup --partition,以相近的大小建立系統的第二個根分割區 (/dev/sda2)。

  4. 視需要分割其餘的磁碟空間,然後繼接著續自定設定(*)。

  5. 執行 multi-update-setup --clone,將系統複製到另一個分割區。使用此指令還可以變更目標系統 /etc/fstab 中的 / (根) 項目。

  6. 如果需要,請進一步自定設定(*)。

  7. 執行 multi-update-setup --bootloader,啟動開機載入程式設定。開機載入程式功能表中即會包含一個項目,用於將另一個系統開機。

    [Warning]必要的 GRUB 開機載入程式

    必須安裝 GRUB 開機載入程式。工具與其他開機載入程式不相容。

  8. 如果沒有需要執行的自定設定 (即標有 * 號的設定),請執行 multi-update-setup --complete 以執行這三個步驟。

更新另一個系統

執行 multi-update。此指令會在 chroot 環境中執行 zypper,並更新另一個系統 — 使用中的是哪個系統無關緊要。開機時,預設會提供其開機功能表。

疑難排解

如果已更新系統的開機載入程式在更新後被損毀,則您必須變更「使用中」旗標,對另一個系統的根分割區設定該旗標以將該系統開機。

如果已更新的系統根本未開機,您需要存取開機載入程式功能表,選取另一個系統。

如需 GRUB 的詳細資訊,請參閱第 8 章「開機載入程式 GRUB」 (↑管理指南)。

如需更多資訊

如需詳細資訊,請參閱 multi-update-tools 套件隨附的 /usr/share/doc/packages/multi-update-tools/README

版本 11 至版本 11 SP1 的軟體變更

[Note]從 SLES 11 到 SLES 11 SP 1 的軟體變更

如需從 SUSE Linux Enterprise Server 11 到 SUSE Linux Enterprise Server 10 SP1 的軟體與組態變化詳細清單,請參閱 service pack 的版本說明。請使用 YaST 版本說明模組,在已安裝系統上進行檢閱。