章 7. 更新 SUSE Linux Enterprise

目錄

7.1. 術語
7.2. SUSE Linux Enterprise 11 維護模型
7.3. 受支援的 SLE SP4 升級路徑
7.4. 更新的一般準備工作
7.5. 將 SLE 11 SP1 升級到 SLE 11 SP2
7.6. 將 SLE 11 SP2 升級到 SLE 11 SP3
7.7. 將 SLE 11 SP3 升級到 SLE 11 SP4
7.8. 將源代碼回移
7.9. Atomic 更新
7.10. YaST Wagon 的移轉插入程式

摘要

SUSE® Linux Enterprise (SLE) 可讓您將現有系統更新為新版本,而不必全面重新安裝。不需要任何新安裝。主目錄和系統組態等現有資料仍保持不變。在產品的生命週期內,您可以套用 Service Pack 來提高系統安全性、修正軟體缺陷以及取得新功能的存取權。請從本地 CD 或 DVD 光碟機或從中央網路安裝來源進行安裝。

7.1. 術語

本章使用了一些詞彙。若要理解本章資訊,請參閱下面的定義︰

回移

回移是指調整較新版軟體中的特定變更並將其套用至較舊版本。最常用的情況是修正舊軟體元件中的安全漏洞。它通常也是維護模型的一部分,用於提供增強功能或 (較少見的) 新功能。

Deltarpm

deltarpm 只包括某套件兩個定義版本之間的二進位差異,因此,它的下載大小最小。安裝之前,會在本地機器上重建完整的 RPM 套件。

下游

軟體在開放原始碼領域中如何開發的一種比喻說法 (與上游相對)。下游一詞指的是這樣的人員或組織 (如 SUSE):他們將上游中的源代碼與其他軟體相整合,以建立由終端使用者使用的套裝作業系統。因此,軟體會將下游從其開發者經由整合器流向終端使用者。

線上移轉

使用線上更新工具 (而不是安裝媒體) 更新至 Service Pack (SP),以安裝對應的修補程式。它會將已安裝系統的所有套件更新到 SP3 + SP2 更新的最新狀態 (包括更新)。

套件

套件是採用 rpm 格式的壓縮檔案,它包含特定程式的所有檔案,包括組態、範例及文件等選用元件。

修補程式

修補程式由一或多個套件組成,並可透過 deltarpm 的方式進行套用。它還可能引入對尚未安裝之套件的相依性。

Service Pack (SP)

將多個修補程式合併為一種易於安裝或部署的形式。Service Pack 都指定了編號,通常包含程式的安全性修正、更新、升級或增強。

上游

軟體在開放原始碼領域中如何開發的一種比喻說法 (與下游相對)。上游一詞指的是做為源代碼分發之軟體的原始專案、原著者或維護者。回饋、修補程式、功能增強或其他改善從終端使用者或貢獻者流向上游開發者。他們決定是整合還是拒絕申請。

如果專案成員決定整合該申請,它將會在更新版本的軟體中體現出來。接受的申請將會讓有關各方均獲益。

如果申請不被接受,則可能是出於不同的原因︰該申請的狀態不符合專案準則、該申請無效或已整合,或者是不符合專案的利益或藍圖。不被接受的申請使得上游開發者更難處理,因為他們必須讓其修補程式與上游代碼保持同步。一般會避免這種做法,但是有時候仍需要這樣做。

更新

安裝套件的較新次要版本。

升級

安裝套件或套裝作業系統的較新主要版本,會引入新功能

7.2. SUSE Linux Enterprise 11 維護模型

SUSE Linux Enterprise 11 維護模型兼具 Service Pack 的靈活性和控制能力。它具有以下優點︰

  • 使 Service Pack 更精簡,更易於測試和部署。

  • 可讓您繼續使用較舊版本,但又能支援整個系統。

  • 透過提供選擇性的增強功能及允許對一般更新儲存庫進行更多更新,滿足 Service Pack 發行空檔期的市場需求。透過選取增強功能,彌補 Service Pack 較長發行週期的影響。

7.2.1. 背景資訊

過去數年中,在希望基於客戶回饋進行改良的明確目標指引下,SUSE 在向使用者提供更新的方式方面實作了多項變更:

  • SLES 9 中只有一個收集所有更新的更新儲存庫;最近發佈的更新是唯一受支援的一項更新。

  • 從 SLES 10 SP1 開始,引入了SP 特定儲存庫的概念。這表示將透過一個特定的儲存庫傳送特定 Service Pack 的所有更新。使用者移轉至較新版的 Service Pack 後,如果他們直接在 Novell Customer Center 上註冊,將會失去存取之前儲存庫的權限。SMT 或 SUSE Manager 的使用者不管是過去還是現在都能自由地訂閱任何 SP 通道。此項變更的主要原因是採用了允許在 6 個月重疊期間 (n-1 Service Pack 支援) 內驗證已發佈 Service Pack 的概念,並為客戶提供了一個移轉時段,在此期間他們將繼續從舊 SP 中獲得完全維護和支援。

  • SLES 11 GA 和 SLES 11 SP1 後跟 SLES 10 模型。在 SLES 11 SP2 中,我們引入了新的儲存庫模型,其含有以下各項:

    1. SLES 11 SP1 更新儲存庫保持訂閱狀態。同樣適用於 SP2 的所有更新也會或僅會發佈到 SP1 更新儲存庫中。這表示未違背 ABI 和 API 相容性的所有更新都繼續從這裡傳送。

    2. SLES 11 SP2 更新儲存庫僅包含因各種原因而無法傳送到 SP1 更新儲存庫的最新更新及任何創新更新。除此之外,我們還引入了一個核心儲存庫,它彌補了既無法發佈到 SP1 更新儲存庫亦無法發佈到 SP2 更新儲存庫之套件的缺陷

    3. SLES 11 SP4 將會具有與 SLES 10 類似的通道模型。該模型是所收到的提供特定 Service Pack 更新最簡單且更快捷的方式。所有更新都將透過特殊的更新通道提供。機器上將會提供其他通道,但會移除舊通道。

圖形 7.1 「維護遞送演變 (也適用於 SLED)」 對上述的一些方面進行了描述。

圖形 7.1. 維護遞送演變 (也適用於 SLED)

維護遞送演變 (也適用於 SLED)

我們的產品具有長達 10 年的生命週期:10 年的一般支援和 3 年的延伸支援。每 4 年發行一次主要版本,每 18 個月發行一次 Service Pack。「長期 Service Pack 支援」是指延伸的支援時段或延伸的主要版本生命週期 (請參閱圖形 7.2 「長期 Service Pack 支援」)。

圖形 7.2. 長期 Service Pack 支援

長期 Service Pack 支援

「長期 Service Pack 支援」需要有作用中的標準訂閱或優先訂閱。它不影響 L1 或 L2 訂閱條款。安全性更新是以主動方式處理︰這些更新用於解決任何非使用者驅動的嚴重弱點、核心中的本地根入侵或無需使用者互動即會直接執行的其他根入侵。

7.2.2. 支援等級

延伸支援層級從第 8 年開始,到第 10 年結束。這些支援包括延續的 L3 工程層級診斷和反應式重要錯誤修正。這些支援層級針對下列問題提供主動更新:核心中的本地根入侵或無需使用者互動即會直接執行的其他根入侵。此外,它們還支援現有的工作負載、軟體堆疊和硬體,其中只對少數套件不提供支援。表格 7.1 「安全性更新和錯誤修正」 中提供了綜覽。

表格 7.1. 安全性更新和錯誤修正

 

— 一般支援 —

延長支援

主題

目前的 SP

SP (n-1) 6 個月

SP (n-1) 提供 LTSS

第 6、第 7 年 提供 LTSS

第 8、第 9、第 10 年 提供 LTSS

L1/L2 技術服務

主動式維護

 

 

透過 PLDP 進行的驅動程式更新

  

主動式安全性更新

 

L3 工程支援

支援回移

 


7.2.3. 通道模型

對於之前的維護模型,系統為 SUSE Linux Enterprise Server 指定了兩個通道︰SLES11-SPx-PoolSLES11-SPx-Updates。在線上移轉至 SPx+1 期間,這些通道會暫時由 SLES11-SPx-Online 取代。

在 SUSE Linux Enterprise SP 2 中,通道配置已經過變更,可支援新維護模型的優勢。表格 7.2 「SUSE Linux Enterprise 11 SP1、SP2 和 SP3 的通道配置」 包含了從 SP1 到 SP3 之所有通道的清單。

表格 7.2. SUSE Linux Enterprise 11 SP1、SP2 和 SP3 的通道配置

類型

SLES

SLED

必要通道

SP1

SLES11-SP1-Pool
SLES11-SP1-Updates

SP2

SLES11-SP1-Pool
SLES11-SP1-Updates
SLES11-SP2-Core
SLES11-SP2-Updates

SP3

SLES11-SP3-Pool
SLES11-SP3-Updates

SP4

SLES11-SP4-Pool
SLES11-SP4-Updates

SP1

SLED11-SP1-Pool
SLED11-SP1-Updates

SP2

SLED11-SP1-Pool
SLED11-SP1-Updates
SLED11-SP2-Core
SLED11-SP2-Updates

SP3

SLED11-SP3-Pool
SLED11-SP3-Updates

SP4

SLED11-SP4-Pool
SLED11-SP4-Updates

選擇性通道

SP1

SLES11-SP1-Debuginfo-Pool
SLES11-SP1-Debuginfo-Updates

SP2

SLES11-SP2-Debuginfo-Core
SLES11-SP2-Debuginfo-Updates
SLES11-Extras
SLES11-SP2-Extension-Store

SP3

SLES11-SP3-Debuginfo-Core
SLES11-SP3-Debuginfo-Updates
SLES11-SP3-Extension-Store
SLES11-Extra

SP4

SLES11-SP4-Debuginfo-Pool
SLES11-SP4-Debuginfo-Updates
SLES11-Extra
SLES11-Security-Module

SP1

SLED11-SP1-Debuginfo-Pool
SLED11-SP1-Debuginfo-Updates

SP2

SLED11-SP2-Debuginfo-Core
SLED11-SP2-Debuginfo-Updates
SLED11-Extras
SLED11-SP2-Extension-Store

SP3

SLED11-SP3-Debuginfo-Core
SLED11-SP3-Debuginfo-Updates
SLED11-SP3-Extension-Store
SLED11-Extra

SP4

SLED11-SP4-Debuginfo-Pool
SLED11-SP4-Debuginfo-Updates

產品特定 (範例)

SLES11-WebYaST-SP2-Pool
SLES11-WebYaST-SP2-Updates
SLED11-MSI-Updates

必要通道的描述

核心

已解壓縮安裝媒體的子集,它僅包含視為 SPx 核心的那些套件 (約佔套件總計的 30%)。SP 儲存庫僅包含特定於 SP 及其主題 (例如,硬體支援) 的套件。僅存在於 SP2 中。

更新

相應核心儲存庫中之套件的維護更新。

儲存池

包含安裝媒體中的所有二進位 RPM,以及模式資訊和支援狀態中繼資料。

選擇性通道的描述

Debuginfo-Pool, Debuginfo-Updates

這些通道包含靜態內容。不過,只有 Debuginfo-Updates 通道會接收更新。如果您需要安裝含有除錯資訊的資料庫供在發生問題時使用,請啟用這些通道。

Extension-Store

尚未使用。應該包含 (未來) 附加產品的套件。從 SLES 11 SP4 開始,將會移除延伸儲存通道。

LTSS-Updates

相應儲存庫中套件的維護更新,適用於包含長期支援服務 (LTSS) 的安裝。此特定通道需要 LTSS 合約。

7.2.3.1. 套件的來源

SUSE Linux Enterprise 11 SP3/SP4. 安裝 SP3 之後,只有兩個通道可供使用:SLES11-SP3-Pool 和 SLES11-SP3-Updates。SP2 中所有之前的通道都可顯示,但無法啟用。只有擁有特定需求的使用者才需要這些已停用的通道。

7.2.3.2. 使用通道

註冊時,系統會接收 Customer Center 中的通道。通道名稱會對應到 Customer Center 中的特定 URI (請參閱 http://scc.suse.com)。若要列出系統上所有可用的通道,請按如下方式使用 zypper

zypper repos -u

這會顯示系統上所有可用通道的清單。對於每個通道,都會列出其別名、名稱以及它是否啟用並將重新整理。選項 -u 還會顯示其來源的 URI。

如果您要移除舊通道 (例如,從 SP1 中),請使用 zypper removerepo 及通道的名稱。例如,若要移除舊的 SP1 和 SP2 通道,請使用下列指令:

zypper removerepo SLES11-SP1-Pool SLES11-SP1-Updates \
  SLE11-SP1-Debuginfo-Pool SLE11-SP1-Debuginfo-Updates \
  SLES11-SP2-Core SLES11-SP2-Updates \
  SLE11-SP2-Debuginfo-Core SLES11-SP2-Extension-Store\
  SLE11-SP2-Debuginfo-Updates

如果要重新新增某些通道,請登入 http://www.novell.com/ncc 並從功能表我的產品+鏡射身分證明中進行選取。您可在其中看到一個 URI 清單;只能新增此產品清單中的通道。例如,若要新增 SP2 Extension Store,請使用下列指令 (寫在一行上,不使用反斜線):

zypper addrepo -n SLES11-SP2-Extension-Store \
 https://nu.novell.com/repo/$RCE/SLES11-SP2-Extension-Store/nu_novell_com:SLES11-SP2-Extension-Store

7.3. 受支援的 SLE SP4 升級路徑

升級 SLES 8、SLES 9 和 NLD 9

沒有直接從這些版本升級的受支援路徑。建議您改為執行新安裝。

從 SUSE Linux Enterprise 10 (任何 Service Pack) 升級

系統支援您透過一些方法從 SLES 10 GA 和 SPx 或 SLES 11 GA 和 SP1 升級到 SLES 11 SP3,其中有些方法可能需要中間升級步驟︰

  • SLES 10 GA -> SLES 10 SP1 -> SLES 10 SP2 -> SLES 10 SP3 -> SLES 10 SP4 -> SLES 11 SP3,或

  • SLES 11 GA -> SLES 11 SP1 -> SLES 11 SP2 -> SLES 11 SP3 -> SLES 11 SP4

支援透過可開機媒體 (包括 PXE 開機) 從 SLES 10 SP4 升級。如需參考,請參閱版本說明 (https://www.suse.com/releasenotes/x86_64/SUSE-SLES/11-SP4/#Update.General.Sequence)。

SLED 使用者注意事項︰一些開發套件已從 SLED11-SP2 安裝媒體移動到 SLED11-Extras 儲存庫。為了避免在升級期間發生相依性衝突,請在實際升級前先啟用此儲存庫。執行 yast2 repositories 並就地啟用 SLED11-Extras。在 SLES 上,不需要額外執行此步驟。

從 SUSE Linux Enterprise 11 GA 升級

不支援直接移轉到 SUSE Linux Enterprise 11 SP3 的移轉路徑。必須先執行從 SUSE Linux Enterprise 11 GA 到 SP1 的更新。然後繼續執行第 7.5 節「將 SLE 11 SP1 升級到 SLE 11 SP2」第 7.6 節「將 SLE 11 SP2 升級到 SLE 11 SP3」

從 SUSE Linux Enterprise 11 SP1 升級

如需詳細資訊,請參閱第 7.5 節「將 SLE 11 SP1 升級到 SLE 11 SP2」

從 SUSE Linux Enterprise 11 SP2 升級

如需詳細資訊,請參閱第 7.6 節「將 SLE 11 SP2 升級到 SLE 11 SP3」

從 SUSE Linux Enterprise 11 SP3 升級

如需詳細資訊,請參閱第 7.7 節「將 SLE 11 SP3 升級到 SLE 11 SP4」

[Important]不支援跨架構升級

不支援跨架構升級 (從 32 位元到 64 位元,反之亦然)。

7.4. 更新的一般準備工作

在開始更新程序之前,請先確定您的系統已準備妥當。此外,準備工作還包括備份資料和檢查版本說明。

7.4.1. 備份

更新之前,請先將現有的組態檔案複製到單獨的媒體 (例如磁帶裝置、可移除式硬碟等) 中,以便備份資料。此作業主要適用於儲存在 /etc 中的檔案、一些目錄及 /var/opt 中的檔案。您最好也將 /home (即 HOME 目錄) 中的使用者資料複製到備份媒體。將此資料備份為 root。只有 root 才有權讀取所有本地檔案。

如果您在 YaST 中選取了更新現有系統做為安裝模式,則可以選擇稍後執行 (系統) 備份。您可以選擇包含所有已修改的檔案以及 /etc/sysconfig 目錄中的檔案。不過,這並不是一個完整備份,因為缺少上述的所有其他重要目錄。您可在 /var/adm/backup 目錄中找到該備份。

7.4.2. 磁碟分割與磁碟空間

開始更新前,請記住這個 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

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

7.4.3. 關閉虛擬機器

如果您的機器用做 KVM 或 Xen 的虛擬機器主機伺服器,請確定在更新之前,先正常關閉所有執行中的虛擬機器客體。否則,您可能會在更新之後無法存取這些客體作業系統。

7.4.4. 版本特定要求

如需版本特定要求,請參閱更新產品隨附的版本說明。版本說明中提供了關於升級程序的其他資訊。

包含有關 SUSE Linux Enterprise Server 最新資訊的版本說明文件最新版本可在線上造訪 http://www.suse.com/doc/sles11/#additional 進行閱讀。

7.5. 將 SLE 11 SP1 升級到 SLE 11 SP2

支援多種不同的方法從 SUSE Linux Enterprise 11 SP1 系統更新到 Service Pack 2。您可以使用線上更新工具安裝相應的修補程式 (線上移轉) 進行更新,也可以透過 Service Pack 安裝媒體來更新。另外,更新可透過代管訂閱管理工具或 SUSE Manager 的伺服器執行。

下列工具支援線上移轉:

  • YaST wagon (圖形使用者介面)

  • zypper (指令行)

或者,您也可以下載完整的 Service Pack 媒體 (DVD ISO 影像)。透過從實體 Service Pack 媒體或網路安裝來源開機來開始更新程序。

7.5.1. 線上移轉

透過線上移轉更新系統的操作是從正在執行的系統中完成的。更新完成後,您只需要重新開機一次。

7.5.1.1. 要求

若要執行線上更新,必須滿足下列要求。另請務必閱讀第 7.4 節「更新的一般準備工作」

產品註冊

為了能夠連接至更新通道,您必須註冊產品。如果未註冊,請在 YaST 中執行 Novell Customer Center 組態模組或使用 suse_register 指令行工具開始註冊。

執行線上更新

確定目前安裝的版本已裝有最新的修補程式。請在執行線上移轉之前先執行線上更新。使用圖形介面時,請啟動 YaST 線上更新或更新程式 applet。在指令行上,請執行下列指令 (最後一個指令需要執行兩次):

zypper ref -s
zypper update -t patch
zypper update -t patch

視需要將系統重新開機。

請參閱第 1 章「YaST 線上更新」 (↑管理指南) 或第 6.1.3 節「使用 Zypper 更新軟體」 (第 6 章「使用指令行工具管理軟體」, ↑管理指南) 以取得線上更新工具的詳細資訊。

協力廠商軟體

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

[Important]始終執行完整線上移轉

必須始終從頭到尾完成整個線上移轉。如果線上移轉中途發生中斷,系統將會損毀且無法復原。

7.5.1.2. 使用 YaST Wagon 進行線上移轉

如果您擁有 SLES 11 SP1 系統,請在 https://www.suse.com/support/kb/doc.php?id=7011872 中尋找所需的步驟。下面的程序適用於從 SP2 到 SP3 的線上移轉。

  1. 滿足所有要求 (請參閱第 7.5.1.1 節「要求」) 後,系統匣中的更新 applet 將會顯示一則訊息,指出有套裝作業系統升級可用。按一下它以啟動 YaST Wagon。或者以 root 身分從指令行執行 /usr/sbin/wagon

  2. 下一步確認歡迎使用對話方塊。

  3. 如果 Wagon 發現要求未得到滿足 (有必要的維護更新可用但尚未安裝),它將會執行自動自我更新,而這可能需要重新開機。依照螢幕上的指示進行。

  4. 在下面的對話方塊中選擇更新方式。選擇Customer Center以使用預設設定 (建議)。

    按一下自定 URL以手動選擇用於線上移轉的軟體通道。此時會顯示通道清單,供您選擇手動啟用、停用、新增或刪除通道。新增 SP2 更新來源,可以是 SP2 安裝媒體,也可以是 SP2-CoreSP2-Updates 通道。按一下確定以回到更新方式對話方塊。

    如果您要檢閱因更新程序而對通道設定引起的變更,請選取檢查儲存庫的自動變更

    下一步繼續。

  5. 系統將會重新註冊。在此過程中,SP2-CoreSP2-Updates 通道將會新增到系統中 (如需詳細資訊,請參閱第 7.2.3 節「通道模型」)。確認新增通道。

  6. 如果您在更新方式對話方塊中選取了檢查儲存庫的自動變更,將會顯示儲存庫清單,供您選擇手動啟用、停用、新增或刪除通道。完成後,按一下確定以繼續。

  7. 選擇移轉類型:

    完全移轉

    將所有套件都更新至最新的 SP2 層級。

    精簡移轉

    將最小一組套件更新至最新的 SP2 層級。

    按一下進階以手動選取用於升級的儲存庫。

    確認您的選擇。

  8. 套裝作業系統升級設定螢幕將會開啟,並顯示更新組態的摘要。可用區段如下:

    附加產品

    您可以在這裡新增 SUSE Linux Enterprise Server 附加產品或協力廠商產品。

    更新選項

    列出更新期間將會執行的動作。您可以選擇是先下載所有套件再進行安裝 (建議的預設設定),還是逐個下載和安裝。

    套件

    更新的統計綜覽。

    備份

    設定備份選項。

    下一步開始更新以繼續。

    [Important]中止線上移轉

    在按一下開始更新之前,您都可以在此螢幕及所有之前螢幕上安全地中止線上移轉。按一下中止離開更新程序,並將系統還原到啟動 YaST Wagon 之前它所處的狀態。遵循螢幕上的指示,並在離開 Wagon 之前先執行重新註冊,以從您的系統中移除 SP2 通道。

  9. 在更新過程中,將會執行下列步驟:

    1. 將會更新套件。

    2. 將會執行 SuSEconfig

    3. 將會重新啟動系統 (按確定)。

    4. 將會重新註冊剛更新的系統。

  10. 您的系統已成功更新到 Service Pack 2。

7.5.1.3. 使用 zypper 進行線上移轉

  1. 滿足所有要求 (請參閱第 7.5.1.1 節「要求」) 後,線上移轉所需的產品便已新增至 /etc/products.d。執行下列指令取得這些產品的清單:

    zypper se -t product | grep -h -- "-migration" | cut -d'|' -f2

    此指令至少應傳回 SUSE_SLES-SP2-migration。根據安裝的範圍,可能會列出更多產品。

  2. 使用指令 zypper in -t product 產品清單安裝上一步中取回的移轉產品,例如:

    zypper in -t product SUSE_SLES-SP2-migration
  3. 註冊上一步中安裝的產品,以便取得相應的更新通道:

    suse_register -d 2 -L /root/.suse_register.log
  4. 再次重新整理儲存庫和服務︰

    zypper ref -s
  5. 使用 zypper lr 檢查您可以取回的儲存庫清單。至少下列儲存庫需要處於已啟用狀態︰

    • SLES11-SP1-Pool

    • SLES11-SP1-Updates

    • SLES11-SP2-Core

    • SLES11-SP2-Updates

    根據安裝的範圍,需要啟用附加產品或延伸的其他儲存庫。

    如果這些儲存庫中的一個未啟用 (遵循此工作流程時,預設不會啟用 SP2 儲存庫),請使用 zypper modifyrepo --enable 儲存庫別名進行啟用,例如:

    zypper modifyrepo --enable SLES11-SP2-Core SLES11-SP2-Updates

    如果安裝程式包含無法與 SP2 相容的協力廠商儲存庫,請使用 zypper modifyrepo --disable 儲存庫別名停用這些儲存庫。

  6. 現在一切準備就緒,您可以使用 zypper dup --from 儲存庫 1 --from 儲存庫 2 ... 執行套裝作業系統升級了。請務必使用 --from 列出所有需要的儲存庫,例如:

    zypper dup --from SLES11-SP2-Core --from SLES11-SP2-Updates

    y進行確認,以開始升級。

  7. 完成上一步中的套裝作業系統升級後,便已執行精簡移轉 (最小一組套件已更新至最新 SP2 層級)。如果您不想執行完全移轉,請跳過此步驟。

    若要執行完全移轉 (將所有套件都更新到最新的 SP2 層級),請執行下列指令:

    zypper update -t patch
  8. SP2 的升級現已完成,您需要重新註冊產品:

    suse_register -d 2 -L /root/.suse_register.log
  9. 最後,將系統重新開機。

  10. 您的系統已成功更新到 Service Pack 2。

7.5.2. 透過從安裝來源開機進行更新

做為線上移轉 (如需詳細資料,請參閱第 7.5.1 節「線上移轉」) 的替代方法,您還可以從安裝來源 (DVD 或網路安裝來源) 開機來更新系統。更新將與一般安裝一樣開始。

Service Pack 2 ISO 影像可從 http://download.novell.com/ 取得。將它燒錄到 DVD,或如第 14.2 節「安裝保存安裝來源的伺服器」 中所示準備網路安裝來源。

7.5.2.1. 從本地 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 安裝指示繼續進行。

7.5.2.2. 從網路安裝來源更新

在從網路安裝來源開始更新 SUSE Linux Enterprise SP 之前,請先確定滿足下列要求:

請參閱第 14 章「遠端安裝,深入瞭解從遠端伺服器開始升級的相關資訊。

7.5.2.2.1. 網路安裝 — 從 DVD 開機

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

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

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

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

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

    請依照第 7.5.2.3 節「更新程序」 所述完成安裝。

7.5.2.2.2. 網路安裝 -- PXE 開機

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

  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. 請依照第 7.5.2.3 節「更新程序」 所述完成安裝。

7.5.2.3. 更新程序

從安裝媒體或網路成功開機後,請執行下列步驟開始更新:

  1. 歡迎使用螢幕上,選擇語言鍵盤並接受授權合約。按下一步繼續。

  2. 如果您已從實體媒體開機,請執行媒體檢查以驗證媒體的完整性。僅當您先前已檢查過媒體,方可跳過此步驟。

  3. 安裝模式螢幕上,選擇更新。按下一步將會開始更新程序。

7.5.3. 透過訂閱管理工具 (SMT) 進行更新

如果不想從 Novell 更新伺服器下載每個單一用戶端系統的更新,則另一個替代的方式是使用適用於 SUSE Linux Enterprise 的訂閱管理工具 (SMT),將更新鏡射到本地伺服器。

此工具可用做用戶端註冊的 Novell Customer Center 代理,也可用做軟體更新儲存庫。http://www.suse.com/doc/smt11/ 中的 SMT 文件提供了其功能的綜覽以及如何實作的相關指示。

7.5.4. 透過 SUSE Manager 進行更新

SUSE Manager 是一個伺服器解決方案,用於提供適用於 SUSE Linux Enterprise 用戶端的更新、修補程式和安全性修正程式。它隨附一組工具和一個 Web 式使用者介面,用於執行管理任務。

http://www.suse.com/doc/suse_manager/ 中的 SUSE Manager 文件提供了其功能的綜覽以及如何設定伺服器與用戶端的相關指示。

7.6. 將 SLE 11 SP2 升級到 SLE 11 SP3

下列工具支援線上移轉:

  • YaST wagon (圖形使用者介面)

  • zypper (指令行)

如果要透過線上移轉更新系統,該更新會在系統執行期間進行。更新完成後,您只需要重新開機一次。您仍可以使用下列替代方法進行更新:

7.6.1. 要求

若要執行線上更新,必須滿足下列要求。另請務必閱讀第 7.4 節「更新的一般準備工作」

產品註冊

為了能夠連接至更新通道,您必須註冊產品。如果未註冊,請在 YaST 中執行 Novell Customer Center 組態模組或使用 suse_register 指令行工具開始註冊。

執行線上更新

確定目前安裝的版本已裝有最新的修補程式。請在執行線上移轉之前先執行線上更新。使用圖形介面時,請啟動 YaST 線上更新或更新程式 applet。在指令行上,請執行下列指令 (最後一個指令需要執行兩次):

zypper ref -s
zypper update -t patch
zypper update -t patch

視需要將系統重新開機。

如需線上更新工具的詳細資訊,請參閱第 1 章「YaST 線上更新」 (↑管理指南) 或第 6.1.3 節「使用 Zypper 更新軟體」 (第 6 章「使用指令行工具管理軟體」, ↑管理指南)。

協力廠商軟體

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

[Important]始終執行完整線上移轉

必須始終從頭到尾完成整個線上移轉。如果線上移轉中途發生中斷,系統將會損毀且無法復原。

7.6.2. 使用 YaST Wagon 進行線上移轉

  1. 滿足所有要求 (請參閱第 7.5.1.1 節「要求」) 後,系統匣中的更新 applet 將會顯示一則訊息,指出有套裝作業系統升級可用。按一下它以啟動 YaST Wagon。或者以 root 身分從指令行執行 /usr/sbin/wagon

  2. 下一步確認歡迎使用對話方塊。

  3. 如果 Wagon 發現要求未得到滿足 (有必要的維護更新可用但尚未安裝),它將會執行自動自我更新,而這可能需要重新開機。依照螢幕上的指示進行。

  4. 在下面的對話方塊中選擇更新方式。選擇Customer Center以使用預設設定 (建議)。

    按一下自定 URL以手動選擇用於線上移轉的軟體通道。此時會顯示通道清單,供您選擇手動啟用、停用、新增或刪除通道。新增 SP3 更新來源,可以是 SP3 安裝媒體或 SP3-PoolSP3-Updates 通道。按一下確定以回到更新方式對話方塊。

    如果您要檢閱因更新程序而對通道設定引起的變更,請選取檢查儲存庫的自動變更

    下一步繼續。

  5. 系統將會重新註冊。在此過程中,SP3-PoolSP3-Updates 通道將會新增到系統中 (如需詳細資訊,請參閱第 7.2.3 節「通道模型」)。確認新增通道。

  6. 如果您在更新方式對話方塊中選取了檢查儲存庫的自動變更,將會顯示儲存庫清單,供您選擇手動啟用、停用、新增或刪除通道。完成後,按一下確定以繼續。

  7. 套裝作業系統升級設定螢幕將會開啟,並顯示更新組態的摘要。可用區段如下:

    附加產品

    您可以在這裡新增 SUSE Linux Enterprise Server 附加產品或協力廠商產品。

    更新選項

    列出更新期間將會執行的動作。您可以選擇是先下載所有套件再進行安裝 (建議的預設設定),還是逐個下載和安裝。

    套件

    更新的統計綜覽。

    備份

    設定備份選項。

    下一步開始更新以繼續。

    [Important]中止線上移轉

    在按一下開始更新之前,您都可以在此螢幕及所有之前螢幕上安全地中止線上移轉。按一下中止離開更新程序,並將系統還原到啟動 YaST Wagon 之前它所處的狀態。遵循螢幕上的指示,並在離開 Wagon 之前先執行重新註冊,以從您的系統中移除 SP2 通道。

  8. 在更新過程中,將會執行下列步驟:

    1. 將會更新套件。

    2. 將會執行 SuSEconfig

    3. 將會重新啟動系統 (按確定)。

    4. 將會重新註冊剛更新的系統。

  9. 您的系統已成功更新到 Service Pack 3。

7.6.3. 使用 zypper 進行線上移轉

  1. 滿足所有要求 (請參閱第 7.5.1.1 節「要求」) 後,線上移轉所需的產品便會新增至 /etc/products.d。執行下列指令取得這些產品的清單:

    zypper se -t product | grep -h -- "-migration" | cut -d'|' -f2

    此指令至少應傳回 SUSE_SLES-SP3-migration。根據安裝的範圍,可能會列出更多產品。

  2. 使用指令 zypper in -t product 產品清單安裝上一步中取回的移轉產品,例如:

    zypper in -t product SUSE_SLES-SP3-migration
  3. 註冊上一步中安裝的產品,以便取得相應的更新通道:

    suse_register -d 2 -L /root/.suse_register.log
  4. 重新整理儲存庫和服務:

    zypper ref -s
  5. 使用 zypper lr 檢查您可以取回的儲存庫清單。

    如果這些儲存庫中的任一個未啟用 (遵循此工作流程時,預設不會啟用 SP3 儲存庫),請使用 zypper modifyrepo --enable 儲存庫別名進行啟用,例如:

    zypper modifyrepo --enable SLES11-SP3-Core SLES11-SP3-Updates

    如果安裝程式包含無法與 SP3 相容的協力廠商儲存庫,請使用 zypper modifyrepo --disable 儲存庫別名停用這些儲存庫。

  6. 現在一切準備就緒,您可以使用 zypper dup --from 儲存庫 1 --from 儲存庫 2 ... 執行套裝作業系統升級了。請務必使用 --from 列出所有需要的儲存庫,例如:

    zypper dup --from SLES11-SP3-Pool --from SLES11-SP3-Updates

    y進行確認,以開始升級。

  7. 完成上一步中的套裝作業系統升級後,請執行下列指令:

    zypper update -t patch
  8. SP3 的升級現已完成,您需要重新註冊產品:

    suse_register -d 2 -L /root/.suse_register.log
  9. 最後,將系統重新開機。

  10. 您的系統已成功更新到 Service Pack 3。

7.7. 將 SLE 11 SP3 升級到 SLE 11 SP4

可以透過多種不同的方法從 SUSE Linux Enterprise Server 11 SP3 系統更新到 Service Pack 4。您可以使用線上更新工具安裝相應的修補程式 (線上移轉) 進行更新,也可以透過 Service Pack 安裝媒體來更新。另外,更新可透過代管訂閱管理工具 (SMT) 或 SUSE Manager 的伺服器執行。

下列工具支援線上移轉:

  • YaST wagon (圖形使用者介面)

  • zypper (指令行)

或者,您也可以下載完整的 Service Pack 媒體 (DVD ISO 影像)。透過從實體 Service Pack 媒體或網路安裝來源開機來開始更新程序。

7.7.1. 線上移轉

透過線上移轉更新系統的操作是從正在執行的系統中完成的。更新完成後,您只需要重新開機一次。

7.7.1.1. 要求

若要執行線上更新,必須滿足下列要求。另請務必閱讀第 7.4 節「更新的一般準備工作」

產品註冊

為了能夠連接至更新通道,您必須註冊產品。如果未註冊,請在 YaST 中執行 Novell Customer Center 組態模組或使用 suse_register 指令行工具開始註冊。

執行線上更新

確定目前安裝的版本已裝有最新的修補程式。請在執行線上移轉之前先執行線上更新。使用圖形介面時,請啟動 YaST 線上更新或更新程式 applet。在指令行上,請執行下列指令 (最後一個指令需要執行兩次):

zypper ref -s
zypper update -t patch
zypper update -t patch

視需要將系統重新開機。

請參閱第 1.0 節「YaST 線上更新」(↑管理指南) 或第 6.1.3 節「使用 Zypper 更新軟體」(↑管理指南)。以取得線上更新工具的詳細資訊。

協力廠商軟體

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

[Important]始終執行完整線上移轉

必須始終從頭到尾完成整個線上移轉。如果線上移轉中途發生中斷,系統將會損毀且無法復原。

7.7.1.2. 使用 YaST Wagon 進行線上移轉

如果您擁有 SLES 11 SP1 系統,請在 https://www.suse.com/support/kb/doc.php?id=7011872 中尋找所需的步驟。下面的程序適用於從 SP3 到 SP4 的線上移轉。

  1. 滿足所有要求 (請參閱第 7.5.1.1 節「要求」) 後,系統匣中的更新 applet 將會顯示一則訊息,指出有套裝作業系統升級可用。按一下它以啟動 YaST Wagon。或者以 root 身分從指令行執行 /usr/sbin/wagon

  2. 下一步確認歡迎使用對話方塊。

  3. 如果 Wagon 發現要求未得到滿足 (有必要的維護更新可用但尚未安裝),它將會執行自動自我更新,而這可能需要重新開機。依照螢幕上的指示進行。

  4. 在下面的對話方塊中選擇更新方式。選擇Customer Center以使用預設設定 (建議)。

    按一下自定 URL以手動選擇用於線上移轉的軟體通道。此時會顯示通道清單,供您選擇手動啟用、停用、新增或刪除通道。新增 SP4 更新來源,可以是 SP4 安裝媒體或 SP4-PoolSP4-Updates 通道。按一下確定以回到更新方式對話方塊。

    如果您要檢閱因更新程序而對通道設定引起的變更,請選取檢查儲存庫的自動變更

    下一步繼續。

  5. 系統將會重新註冊。在此過程中,SP4-PoolSP4-Updates 通道將會新增到系統中 (如需詳細資訊,請參閱第 7.2.3 節「通道模型」)。確認新增通道。

  6. 如果您在更新方式對話方塊中選取了檢查儲存庫的自動變更,將會顯示儲存庫清單,供您選擇手動啟用、停用、新增或刪除通道。完成後,按一下確定以繼續。

  7. 選擇移轉類型:

    完全移轉

    將所有套件都更新至最新的 SP4 層級。

    精簡移轉

    將最小一組套件更新至最新的 SP4 層級。

    按一下進階以手動選取用於升級的儲存庫。確認您的選擇。

  8. 套裝作業系統升級設定螢幕將會開啟,並顯示更新組態的摘要。可用區段如下:

    附加產品

    您可以在這裡新增 SUSE Linux Enterprise Server 附加產品或協力廠商產品。

    更新選項

    列出更新期間將會執行的動作。您可以選擇是先下載所有套件再進行安裝 (建議的預設設定),還是逐個下載和安裝。

    套件

    更新的統計綜覽。

    備份

    設定備份選項。

    下一步開始更新以繼續。

    [Important]中止線上移轉

    在按一下開始更新之前,您都可以在此螢幕及所有之前螢幕上安全地中止線上移轉。按一下中止離開更新程序,並將系統還原到啟動 YaST Wagon 之前它所處的狀態。遵循螢幕上的指示,並在離開 Wagon 之前先執行重新註冊,以從您的系統中移除 SP4 通道。

  9. 在更新過程中,將會執行下列步驟:

    1. 將會更新套件。

    2. 將會執行 SuSEconfig

    3. 將會重新啟動系統 (按確定)。

    4. 將會重新註冊剛更新的系統。

  10. 您的系統已成功更新到 Service Pack 4。

7.7.1.3. 使用 zypper 進行線上移轉

  1. 滿足所有要求 (請參閱第 7.5.1.1 節「要求」) 後,線上移轉所需的產品便會新增至 /etc/products.d。執行下列指令取得這些產品的清單:

    zypper se -t product | grep -h -- "-migration" | cut -d'|' -f2

    此指令至少應傳回 SUSE_SLES-SP4-migration。根據安裝的範圍,可能會列出更多產品。

  2. 使用指令 zypper in -t product 產品清單安裝上一步中取回的移轉產品,例如:

    zypper in -t product SUSE_SLES-SP4-migration
  3. 註冊上一步中安裝的產品,以便取得相應的更新通道:

    suse_register -d 2 -L /root/.suse_register.log
  4. 重新整理儲存庫和服務:

    zypper ref -s
  5. 使用 zypper lr 檢查您可以取回的儲存庫清單。至少下列儲存庫需要處於已啟用狀態︰

    • SLES11-SP4-Pool

    • SLES11-SP4-Updates

    根據安裝的範圍,需要啟用附加產品或延伸的其他儲存庫。

    如果這些儲存庫中的任一個未啟用 (遵循此工作流程時,預設不會啟用 SP4 儲存庫),請使用 zypper modifyrepo --enable 儲存庫別名進行啟用,例如:

    zypper modifyrepo --enable SLES11-SP4-Pool --enable SLES11-SP4-Updates

    如果安裝程式包含無法與 SP4 相容的協力廠商儲存庫,請使用 zypper modifyrepo --disable 儲存庫別名停用這些儲存庫。

  6. 現在一切準備就緒,您可以使用 zypper dup --from 儲存庫 1 --from 儲存庫 2 ... 執行套裝作業系統升級了。請務必使用 --from 列出所有需要的儲存庫,例如:

    zypper dup --from SLES11-SP4-Pool --from SLES11-SP4-Updates

    y進行確認,以開始升級。

  7. 完成上一步中的套裝作業系統升級後,便已執行精簡移轉 (已將最低限度的一組套件更新至最新的 SP4 層級)。如果您不想執行完整移轉,請跳過此步驟。

    若要執行完全移轉 (將所有套件都更新到最新的 SP4 層級),請執行下列指令:

    zypper update -t patch
  8. SP4 的升級現已完成,您需要重新註冊產品:

    suse_register -d 2 -L /root/.suse_register.log
  9. 最後,將系統重新開機。

您的系統已成功更新到 Service Pack 4。

7.7.1.4. 透過從安裝來源開機進行更新

做為線上移轉的替代方法,您還可以從安裝來源 (DVD 或網路安裝來源) 開機來更新系統。更新將與一般安裝一樣開始。

Service Pack 4 ISO 影像可從 http://download.suse.com/ 取得。將它燒錄到 DVD,或如第 14.2 節「安裝保存安裝來源的伺服器」 中所示準備網路安裝來源。

7.8. 將源代碼回移

SUSE 廣泛地使用了回移。本節中的資訊將幫助您瞭解為何透過比較版本號碼來判斷軟體功能和問題的做法不可靠。

7.8.1. 為何要回移?

上游開發人員主要關注所開發軟體的進度。在大多情況下,他們會在修正錯誤的同時,引入未經廣泛測試且可能引發新錯誤的新功能。

對於套裝作業系統開發人員,務必要區分清楚:

  • 對功能可能造成有限中斷的錯誤修正;以及

  • 可能會中斷現有功能的變更。

在大部分情況下,當某套件成為已發行套裝作業系統的一部分時,套裝作業系統開發人員便不會遵循所有上游變更。通常,他們會繼續使用最初發行的上游版本,並根據上游變更建立修補程式來修正錯誤。此做法稱為回移

只有在下列兩種情況下,套裝作業系統開發人員一般才會引入較新版本的軟體:

  • 套件與上游版本之間的變更過多,以致於回移操作不再可行,或者

  • 軟體本身已嚴重老化,例如防惡意程式軟體。

7.8.2. 回移的原因

為了能在考量各種企業軟體的顧慮之間取得良好平衡,SUSE 廣泛使用了回移。其中,最重要的顧慮因素有:

  • 提供穩定的介面 (API),軟體廠商在建立 SUSE 的企業產品上使用的產品時可以依賴於這些介面。

  • 確保 SUSE 企業產品版本中使用的套件 (不論是套件本身還是做為整個企業產品的一部分) 都擁有最高品質且已經過全面測試。

  • 維護其他廠商提供之 SUSE 企業產品的各種證書,例如 Oracle 或 SAP 產品的證書。

  • 允許 SUSE 的開發人員竭盡所能提高下一版本產品的品質,而不是狹隘地把精力分散於推出各種版本。

  • 讓特定企業版本所含內容清楚可見,使得我們的支援人員可以提供有關該版本的準確及時的資訊。

7.8.3. 反對回移的原因

企業產品中不引入套件的任何新上游版本是一項基本政策規則。但這並不是絕對的規則。對於有限的一類套件,尤其是防毒軟體,我們顧慮更多的是安全因素,而不是品質保證方面優先顧慮的保守方法。對於該類別的套件,偶爾會將較新的版本引入到企業產品線的已發行版本中。

對於其他類型的套件,有時還會選擇引入新版本,而不是執行回移。當產生回移在經濟上不可行時,或者存在極其相關的技術原因而需要引入較新版本時,便會這麼做。

7.8.4. 解譯版本號碼時產生的回移問題

由於採取了回移的做法,使用者無法僅透過比較版本號碼來判斷 SUSE 套件是否包含特定問題的修正程式或新增了特定功能。使用回移時,SUSE 套件版本號碼的上游部分僅表示 SUSE 套件所基於的上游版本。它可能包含相應上游版本中沒有但已回移至 SUSE 套件中的錯誤修正程式和功能。

有很多位置用於儲存此類錯誤修正程式和功能的相關資訊︰

  • 套件的變更記錄:

    rpm -q --changelog name-of-installed-package
    rpm -qp --changelog packagefile.rpm

    輸出簡要記錄套件的變更歷程。

  • 套件變更記錄可能包含 bnc#1234 等項目,它們指代的是 Novell Bugzilla 追蹤系統中的錯誤或連至其他錯誤追蹤系統的連結。(由於機密性規則,您可能無法存取所有此類資訊)。

  • 套件可能包含 /usr/share/doc/packagename/README.SUSEREADME.SuSE 檔案,其含有 SUSE 套件特定的一般高階資訊。

  • RPM 來源套件包含的修補程式可在將一般二進位 RPM 建立為獨立檔案期間加以套用;如果您熟悉如何讀取源代碼,可以解譯這些獨立檔案。如需詳細資訊,請參閱《Maximum RPM》 一書。

  • 如需瞭解安全性錯誤修正程式,請參閱 SUSE 安全性通告。這些修正程式通常適用於由通用弱點披露 專案維護之以 CAN-2005-2495 等標準名稱顯示的錯誤。

在涉及回移時,版本號碼的這種限制值可能會導致問題的一個特定方面就是使用安全性掃描工具時。某些安全性弱點掃描工具 (或在此類工具中進行的特定測試) 僅針對版本資訊操作。在涉及回移時,這些工具/測試容易產生誤判 (宣稱發現軟體存在弱點,而實際上並沒有弱點)。評估安全性掃描工具產生的報告時,使用者始終應該調查項目是僅基於版本號碼,還是實際弱點是否存在的實際測試。

7.9. Atomic 更新

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

7.9.1. 設定

[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 以執行這三個步驟。

7.9.2. 更新另一個系統

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

7.9.3. 疑難排解

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

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

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

7.9.4. 限制

根分割區必須按分割區名稱、ID 或採用其他方式進行掛接。不支援按分割區 UUID 或標籤掛接。

7.9.5. 更多資訊

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

7.10. YaST Wagon 的移轉插入程式

移轉插入程式可讓您在移轉過程中的某個時間點執行自定外部程序檔。使用這些程序檔,您可以處理透過一般 RPM 程序檔無法處理的特定問題,或者執行移轉期間可能需要的任何額外動作 (一般套件更新期間不需要執行這些動作)。

移轉插入程式會以 root 權限執行,因此,可以在程序檔中執行任何維護任務 (啟動/停止服務、資料備份、資料移轉等)。程序檔不能是互動式的;STDIN 和 STDOUT 在 YaST 中執行時會被重新導向至管線。不應使用 X 工作階段,因為它可能並不適用於所有情況 (例如,在文字模式下執行時)。不要忘記設定插入程式程序檔的可執行權限。

yast2-wagon 套件 2.17.32.1 版 (做為 SLES11-SP2 的更新提供) 或 2.17.3 版 (包含在 SLES11-SP3 中) 或更高版本中支援移轉插入程式。

7.10.1. 插入程式程序檔位置和命名慣例

可在 /var/lib/YaST2/wagon/hooks/ 目錄中搜尋這些程序檔。預期的程序檔名稱採用步驟_順序_字首_名稱格式,其中:

步驟

是預先定義的移轉步驟名稱,說明目前的移轉步驟。

順序

是 00...99 範圍內的順序編號,您可以設定執行程序檔的順序。(務必保留前導零以便正確排序!)

字首

應保持唯一,以避免衝突 (例如名稱空間)。使用套件名稱 (如果它是套件的一部分) 或廠商名稱、網際網路網域名稱等,基本而言,使用可視為足夠唯一的任何內容

名稱

可以是任意字串 (僅用於區分程序檔)。建議使用一些描述性名稱。

範例 7.2. 包含完整路徑的插入程式程序檔

/var/lib/YaST2/wagon/hooks/before_package_migration_00_postgresql_backup

7.10.2. 插入程式程序檔結束值

程序檔應傳回結束值 0。如果失敗 (任何非零結束值),Wagon 中將會顯示一則錯誤訊息,此時您可以重新啟動程序檔、忽略失敗 (並繼續執行其他程序檔) 或完全取消目前步驟和階段的插入程式。

7.10.3. 等冪程序檔

插入程式程序檔可能會執行多次 (不斷切換 Wagon 對話方塊時,Wagon 可能會重新啟動本身,或者移轉工作流程中的某些步驟可能會執行多次),因此程序檔必須應付這種情況 (它們可以在開始時檢查是否需要執行該動作,或該動作已執行;或者可以建立簡單的暫存戳記檔案或以其他方式正確解決多次執行問題)。

7.10.4. 受支援的插入程式清單

有些插入程式是選擇性的 (因為它們相依於先前的結果或使用者選取的值)。請注意,某些插入程式會被呼叫多次 (例如,移轉前後都會呼叫註冊)。下面按執行順序列出了受支援的插入程式 (步驟名稱):

before_init

在最初啟動 (請注意︰Wagon 重新啟動後會再次呼叫它)

before_welcome , after_welcome

在顯示歡迎使用對話方塊之前/之後啟動

before_registration_check , after_registration_check

Wagon 會檢查註冊狀態 (如果某些產品的註冊已過期,移轉可能會失敗)。如果一切正常,則不會顯示任何對話方塊,且 Wagon 會自動繼續執行下一步。

before_custom_url , after_custom_url

啟動儲存庫管理員 (選擇性,僅限修補程式 CD 模式)

before_self_update , after_self_update

在 Wagon 更新本身之前/之後呼叫 (以確保使用最新版本進行移轉)

before_installing_migration_products , after_installing_migration_products

在安裝移轉產品之前/之後呼叫

before_selecting_migration_source , after_selecting_migration_source

Wagon 會詢問使用者是透過 Novell Customer Center 儲存庫還是使用自定儲存庫進行移轉;下一步視使用者的選擇而定

before_registration , after_registration

執行 SUSE 註冊 (以新增移轉儲存庫)

before_repo_selection , after_repo_selection

手動儲存庫管理

before_set_migration_repo , after_set_migration_repo

選取移轉儲存庫 (使用 Novell Customer Center 時選取完全/精簡移轉) 或更新儲存庫選擇 (自定儲存庫移轉)

before_package_migration

在套件更新開始之前,此步驟之後,實際移轉將會開始,此時無法自動返回到先前的狀態 (在此階段中止將會導致系統出現不一致 (半升級),因此需要手動復原)

before_registration , after_registration

執行 SUSE 註冊 (以註冊更新的產品)

before_congratulate , after_congratulate

在 Wagon 因移轉成功而顯示恭喜對話方塊之前/之後

before_exit

在 Wagon 即將結束之前呼叫 (始終如此,不管移轉結果如何;亦會在中止之後和重新啟動之時呼叫)

7.10.5. 中止插入程式

這些是特殊的中止插入程式,當使用者中止移轉時會呼叫它們。這些插入程式可在移轉工作流程的任何步驟中呼叫,因此無法保證執行順序。如果程序檔依賴於其他插入程式的結果,則需要檢查目前狀態。

before_abort

使用者確認中止移轉

before_abort_rollback , after_abort_rollback

使用者確認在中止之後復原 (回復到開始移轉之前所安裝的舊產品)。這些插入程式會在 before_abort 之後呼叫;使用者不確認復原時,則跳過。

7.10.6. 重新啟動插入程式

每次 Wagon 重新啟動本身時,都會呼叫這些插入程式。

before_restart

Wagon 正在完成,並將再次啟動

after_restart

Wagon 已重新啟動,並將執行移轉工作流程中的下一步

7.10.7. 常用插入程式

插入程式清單相當長,但是其中許多插入程式僅適用於特定情況。在通常情況下,應該為這些插入程式指定優先設定︰

  • 若要在系統移轉之前執行某動作 (仍執行先前版本),請使用 before_package_migration 插入程式。

    此時,使用者清楚地知道移轉已就緒且即將開始,而此前的所有步驟都可能中止移轉。

  • 若要在系統移轉之後執行某動作 (系統執行的是新的已移轉版本,但是有些設定可能尚未處於使用中,例如更新的核心需要重新開機、更新的服務可能需要重新啟動等),請使用 before_congratulateafter_congratulate 插入程式。

    此插入程式還可用於清理 before_package_migration 插入程式的暫存結果。此時,移轉已成功完成。

  • 若要在移轉中止時回復變更,請視情況使用下列其中一個中止插入程式。請記住,您可以隨時呼叫中止插入程式,因此可能並不需要回復 (可能尚未呼叫執行變更的插入程式)。中止插入程式需要檢查目前狀態。

7.10.8. 過時的插入程式

舊版 Wagon 僅支援兩個插入程式程序檔:/usr/lib/YaST2/bin/wagon_hook_init/usr/lib/YaST2/bin/wagon_hook_finish。問題在於只能將一個程序檔做為插入程式執行,並且無法直接將這些插入程式置於 RPM 套件中。

較新版本的 Wagon 中仍支援這些舊插入程式程序檔以取得反向相容性,但是應使用新的插入程式 before_initbefore_exit,而不是過時的插入程式。


SUSE Linux Enterprise Server 部署指南 11 SP4