套用至 SUSE Linux Enterprise Server 12

7 更新 SUSE Linux Enterprise

SUSE® Linux Enterprise 允許您將現有系統更新到新版本,例如,從 SLE 11 SP3 更新到 SLE 12。不需要任何新安裝。主目錄和資料目錄以及系統組態等現有資料仍保持不變。您可以從本地 CD 或 DVD 光碟機或從中央網路安裝來源進行更新。

如果您大致熟悉 SUSE Linux Enterprise 更新、升級和 Service Pack,可以在查看術語區段瞭解新條目後,直接深入至更新綜覽區段。此區段會顯示可用的更新可能性,並引導您規劃整體更新,以及後續區段︰更新至最新版本 SUSE Linux Enterprise Server 12 的逐步更新指示。

本章的其餘部分提供 SUSE 產品生命週期與 Service Pack 版本的背景資訊、建議的升級規則、SUSE Linux Enterprise 軟體的最新程度而不管其為非最新版本號碼 (即回移),以及逐步更新指示參考的其他材料。

7.1 背景資訊︰術語

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

回移

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

Delta RPM

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

下游

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

延伸, 附加產品

延伸 (也稱為附加產品) 為 SUSE Linux Enterprise Server 提供了額外的產品功能,提升了產品價值。它們由 SUSE 及 SUSE 的合作夥伴提供,並且在基礎產品 SUSE Linux Enterprise Server 之上註冊並進行安裝。

模組

模組則全部由 SUSE Linux Enterprise Server 支援,生命週期也不同。它們具有明確定義的範圍並僅透過線上通道提供。在 SUSE Customer Center 上註冊產品是能夠訂閱這些通道的先決條件。

線上移轉

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

套件

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

修補程式

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

主要版本, 廣泛使用 (GA) 版本

SUSE Linux Enterprise (或任何軟體產品) 的主要版本是一個新版本,該版本中引入了新功能及工具,去除了先前淘汰的元件並提供了不可向後相容的變更。

Service Pack (SP)

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

上游

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

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

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

更新

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

升級

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

7.2 受支援的 SLE 升級路徑

SUSE Linux Enterprise 支援直接從一個版本升級到下一個版本。例如,如果您目前執行的是 SUSE Linux Enterprise 11 SP2,可分兩步升級︰首先升級至 SUSE Linux Enterprise 11 SP3,然後升級至 SUSE Linux Enterprise 12。

更新時,無法跳過中間版本。因此,如果您執行的是落後數個版本的產品,如 SUSE Linux Enterprise 10 或 SUSE Linux Enterprise 11 SP1,SUSE 建議您考慮進行全新安裝而不是走漫長的升級之路。

重要
重要:不支援跨架構升級

支援跨架構升級!例如,從 32 位元版本的 SUSE Linux Enterprise Server 升級到 64 位元版本,或從位元組由大到小升級到位元組由小到大。

具體來說,就是支援從 SLE 11 SP3 on POWER (位元組由大到小) 升級到 SLE 12 on POWER (新增︰位元組由小到大)。

另外,由於 SUSE Linux Enterprise 12 僅為 64 位元,所以支援從任何 32 位元的 SUSE Linux Enterprise 11 系統升級到 SUSE Linux Enterprise 12。

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

不支援直接移轉到 SUSE Linux Enterprise 12 的移轉路徑。建議改為進行全新安裝。

從 SUSE Linux Enterprise 11 GA 或 SUSE Linux Enterprise 11 SP1 升級

不支援直接移轉到 SUSE Linux Enterprise 12 的移轉路徑。

如果您無法執行全新安裝,則需要先從 SUSE Linux Enterprise 11 GA 更新到 SP1,再從 SUSE Linux Enterprise 11 SP1 更新到 SP2,然後才能繼續。《SUSE Linux Enterprise 11 部署指南》 (https://www.suse.com/documentation/sles11/)中說明了這些要預先執行的步驟。

然後,您便可以繼續執行下一步︰

從 SUSE Linux Enterprise 11 SP2 升級

首先將系統升級到 SUSE Linux Enterprise 11 SP3。如需詳細資訊,請參閱第 7.4 節「中間步驟︰將 SLE 11 SP2 升級到 SLE 11 SP3」

然後,繼續執行下一步︰

從 SUSE Linux Enterprise 11 SP3 升級到 SUSE Linux Enterprise 12

如需詳細資訊,請參閱第 7.5 節「升級到 SLE 12」

7.3 更新的一般準備工作

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

7.3.1 查看版本說明

在版本說明中,您可以找到有關自 SUSE Linux Enterprise 先前版本以來所做變更的其他資訊。請根據此版本說明確認您的特定硬體或設定是否需要特別注意、您最愛的特定軟體套件是否已有重大變更,以及除本節中的一般建議之外,您還需要注意哪些事項。版本說明還提供了無法及時編入手冊中的最新資訊和已知問題。

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

7.3.2 備份

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

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

7.3.3 磁碟分割與磁碟空間

開始更新前,請記住這個 root 分割區。df / 指令會列出根分割區的裝置名稱。例如,在 範例 7.1 「使用 df -h 來列示」 中,要記下的根分割區為 /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.3.4 關閉虛擬機器客體

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

7.4 中間步驟︰將 SLE 11 SP2 升級到 SLE 11 SP3

下列工具支援線上移轉:

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

  • zypper (指令行)

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

7.4.1 要求

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

產品註冊

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

執行線上更新

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

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

視需要將系統重新開機。

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

協力廠商軟體

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

重要
重要:始終執行完整線上移轉

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

7.4.2 使用 YaST Wagon 進行線上移轉

  1. 滿足所有要求 (請參閱第 7.4.4.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.7.2 節「儲存庫模型」)。確認新增儲存庫。

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

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

    附加產品

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

    更新選項

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

    套件

    更新的統計綜覽。

    備份

    設定備份選項。

    下一步開始更新以繼續。

    重要
    重要:中止線上移轉

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

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

    1. 將會更新套件。

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

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

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

7.4.3 使用 zypper 進行線上移轉

  1. 滿足所有要求 (請參閱第 7.4.4.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.4.4 線上移轉

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

7.4.4.1 要求

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

產品註冊

為了能夠連線至更新儲存庫,您需要註冊產品。如果未註冊,請在 YaST 中執行SUSE Customer Center 組態模組或使用 suse_register 指令行工具開始註冊。

執行線上更新

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

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

視需要將系統重新開機。

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

協力廠商軟體

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

重要
重要:始終執行完整線上移轉

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

7.4.4.2 使用 YaST Wagon 進行線上移轉

注意
注意

使用 YaST Wagon 進行的線上移轉僅適用於 SUSE Linux Enterprise Server 12 之前的版本。

  1. 滿足所有要求 (請參閱第 7.4.4.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.7.2 節「儲存庫模型」)。確認新增儲存庫。

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

  7. 選擇移轉類型:

    完全移轉

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

    精簡移轉

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

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

    確認您的選擇。

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

    附加產品

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

    更新選項

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

    套件

    更新的統計綜覽。

    備份

    設定備份選項。

    下一步開始更新以繼續。

    重要
    重要:中止線上移轉

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

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

    1. 將會更新套件。

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

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

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

7.4.4.3 使用 zypper 進行線上移轉

  1. 滿足所有要求 (請參閱第 7.4.4.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.4.5 透過從安裝來源開機進行更新

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

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

7.4.5.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.4.5.2 從網路安裝來源更新

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

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

7.4.5.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. 從所提供伺服器中選擇適當的安裝伺服器,或是依照從網路伺服器安裝 所述步驟,使用開機選項提示字串提供安裝來源類型和確實位置。這樣便會啟動 YaST。

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

7.4.5.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.4.5.3 節「更新程序」 所述完成安裝。

7.4.5.3 更新程序

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

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

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

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

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

做為從 SUSE 更新伺服器下載每個單一用戶端系統之更新的替代方法,您可以使用適用於 SUSE Linux Enterprise 的訂閱管理工具 (SMT),將更新鏡射到本地伺服器。

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

7.4.7 透過 SUSE Manager 進行更新

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

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

7.5 升級到 SLE 12

下列工具支援從 SUSE Linux Enterprise 11 SP3 (或更高版本) 升級到 SUSE Linux Enterprise 12︰

7.5.1 使用安裝來源從 SUSE Linux Enterprise 11 SP3 或更高版本手動升級

您可以如同執行全新安裝那樣透過從安裝來源 (本地 DVD 或網路安裝來源) 開機來升級系統。然後,只需在「開機畫面」中選取「升級」而不是「安裝」,即可升級系統。

過程 7.2 使用 SUSE Linux Enterprise 12 ISO 從 SUSE Linux Enterprise 11 SP3 或更高版本手動升級
  1. 選取開機方法以從 ISO 啟動系統 (請參閱第 6.1 節「選擇安裝方法」)。

  2. 從 ISO 啟動系統 (請參閱第 6.2 節「系統啟動進行安裝」)。

    在「開機畫面」中,選取「升級」以開始系統升級。

    警告
    警告

    如果您選取「安裝」,日後可能會發生資料遺失。在全新安裝期間,您需要格外小心,以免某些操作損毀資料分割區,這些操作包括重新分割磁碟 (可能會損毀現有分割區) 或重新格式化資料分割區 (這會清除資料分割區上的所有資料)。SUSE 建議您在此處選取「升級」。

  3. 執行有用的升級程序 (請參閱第 7.4.5.3 節「更新程序」)。

7.5.2 從 SUSE Linux Enterprise 11 SP3 自動移轉到 SUSE Linux Enterprise 12

若要執行自動移轉,請執行下列步驟︰

過程 7.3 從 SUSE Linux Enterprise 11 SP3 自動移轉到 SUSE Linux Enterprise 12
  1. 將第一張安裝 DVD 的 /boot/x86_64/loader/ 中的安裝核心 linux 和檔案 initrd 複製到系統的 /boot 目錄︰

    cp -vi DVDROOT/boot/x86_64/loader/linux /boot/linux.upgrade
    cp -vi DVDROOT/boot/x86_64/loader/initrd /boot/initrd.upgrade

    DVDROOT 表示系統掛接 DVD 的路徑,通常是 /run/media/$USER/$DVDNAME

  2. 開啟 GRUB 舊組態檔案 /boot/grub/menu.lst 並新增另一個區段。對於其他開機載入程式,請編輯相應的組態檔案。相應地調整裝置名稱。例如:

    title Linux Upgrade Kernel
    kernel (hd0,0)/boot/linux.upgrade root=/dev/sda1 upgrade OPTIONAL_PARAMETERS
    initrd (hd0,0)/boot/initrd.upgrade

    OPTIONAL_PARAMETERS 表示其他開機參數,將系統開機和執行升級時可能需要這些參數。這些參數是系統需要的核心參數 --- 您可能需要從現有 GRUB 項目中檢閱並複製這些參數。它們還可能是 SUSE linuxrc 參數,請參閱線上文件說明 (http://en.opensuse.org/Linuxrc)

  3. 如果升級應自動執行 (請參閱第 22.2 節「執行自動升級」),請將 autoupgrade=1 新增至 GRUB 組態中 kernel 行的末尾。

  4. 將機器重新開機,並從開機功能表中選取新增的區段 (此處是 Linux 升級核心)。您可以使用 grubonce 預先選取新建立的 GRUB 項目,以便以無人管理的方式自動重新開機到新建立的項目。您還可以使用 reboot 來從指令行啟動重新開機。

  5. 執行有用的升級程序 (請參閱第 7.4.5.3 節「更新程序」)。

  6. 升級程序成功完成後,移除安裝核心和 initrd 檔案 (/boot/linux.upgrade/boot/initrd.upgrade)。現在,它們再無用處也不再需要。

7.6 Atomic 更新

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

7.6.1 設定

警告
警告:嚴格的磁碟分割要求

該實作對磁碟分割有嚴格的要求︰第一個根分割區是 /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,啟動開機載入程式設定。開機載入程式功能表中即會包含一個項目,用於將另一個系統開機。

    警告
    警告:GRUB 2 開機載入程式強制選項

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

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

7.6.2 更新另一個系統

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

7.6.3 疑難排解

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

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

如需 GRUB 2 的詳細資訊,請參閱第 12 章「開機載入程式 GRUB 2」, 管理指南

7.6.4 限制

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

7.6.5 如需更多資訊

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

7.7 背景資訊︰SUSE Linux Enterprise 的產品生命週期

SUSE Linux Enterprise Server 的生命週期為 13 年︰10 年的一般支援以及 3 年的延長支援。

SUSE Linux Enterprise Desktop 的生命週期為 10 年︰7 年的一般支援以及 3 年的延長支援。

主要版本每 4 年發行一次。Service Pack 每 18 個月發行一次。

當新的 Service Pack 發行後,SUSE 會在 6 個月後停止對上一個 Service Pack 的支援。圖形 7.1 「主要版本和 Service Pack」 對提及的一些方面進行了描述。

主要版本和 Service Pack
圖形 7.1 主要版本和 Service Pack

如果您需要更多時間來設計、驗證和測試您的升級計劃,長期 Service Pack 支援可將對您的支援延長 12 到 36 個月 (以 12 個月為單位遞增),即針對任何指定 Service Pack 您總共可取得 3 到 5 年的支援 (請參閱圖形 7.2 「長期 Service Pack 支援」)。

長期 Service Pack 支援
圖形 7.2 長期 Service Pack 支援

7.7.1 支援等級

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

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

最新 Service Pack (SP) 的一般支援

先前 SP (含 LTSS) 的一般支援

使用 LTSS 的延長支援

特性

1-5 年

6-7 年

8-10 年

4-10 年

10-13 年

技術服務

存取修補程式與修正程式

存取文件與知識庫

支援現有堆疊與工作負載

支援新部署

受限制 (根據合作夥伴和客戶要求)

受限制 (根據合作夥伴和客戶要求)

改善申請

受限制 (根據合作夥伴和客戶要求)

受限制 (根據合作夥伴和客戶要求)

硬體啟用與最佳化

受限制 (根據合作夥伴和客戶要求)

受限制 (根據合作夥伴和客戶要求)

透過 SUSE SolidDriver 程式 (先前稱為 PLDP) 進行驅動程式更新

受限制 (根據合作夥伴和客戶要求)

受限制 (根據合作夥伴和客戶要求)

從最新 SP 回移修正程式

受限制 (根據合作夥伴和客戶要求)

重大安全性更新

缺陷解決方法

受限制 (僅限嚴重性層級 1 和 2 的缺陷)

受限制 (僅限嚴重性層級 1 和 2 的缺陷)

受限制 (僅限嚴重性層級 1 和 2 的缺陷)

7.7.2 儲存庫模型

儲存庫配置對應於產品生命週期。表格 7.2 「SUSE Linux Enterprise 11 SP2 及 SP3 或 SUSE Linux Enterprise 12 的儲存庫配置」包含從 SUSE Linux Enterprise 11 SP2 到 SUSE Linux Enterprise 12 的所有儲存庫清單。

表格 7.2 SUSE Linux Enterprise 11 SP2 及 SP3 或 SUSE Linux Enterprise 12 的儲存庫配置

類型

SLES

SLED

必要儲存庫

11 SP2

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

11 SP3

SLES11-SP3-Pool
SLES11-SP3-Updates

12

SLES12-GA-Pool
SLES12-GA-Updates

11 SP2

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

11 SP3

SLED11-SP3-Pool
SLED11-SP3-Updates

12

SLED12-GA-Pool
SLED12-GA-Updates

選擇性儲存庫

11 SP2

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

11 SP3

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

12

SLES12-GA-Debuginfo-Core
SLES12-GA-Debuginfo-Updates

11 SP2

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

11 SP3

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

12

SLED12-GA-Debuginfo-Core
SLED12-GA-Debuginfo-Updates

新增︰模組特定的儲存庫

12

sle-module-web-scripting
sle-module-adv-systems-management
sle-module-public-cloud
sle-module-legacy

12

必要儲存庫的描述
更新

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

儲存池

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

選擇性儲存庫的描述
Debuginfo-Pool, Debuginfo-Updates

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

7.7.2.1 套件的來源

SUSE Linux Enterprise 11 SP3.  對於更新到 SP3,只有下面兩個儲存庫可用︰SLES11-SP3-PoolSLES11-SP3-Updates。SP2 中的所有先前儲存庫都會顯示,但未啟用。只有擁有特定需求的使用者才需要這些已停用的儲存庫。

SUSE Linux Enterprise 12.  對於更新到 SUSE Linux Enterprise 12,只有下面兩個儲存庫可用︰SLES12-GA-PoolSLES12-GA-Updates。SUSE Linux Enterprise 11 SP3 中的所有先前儲存庫都會停用。

7.7.2.2 使用儲存庫

註冊時,系統會接收 SUSE Customer Center 中的儲存庫。儲存庫名稱會對應到客戶中心中的特定 URI (請參閱 https://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

如果要重新新增某些儲存庫,請登入 https://scc.suse.com/ 並從功能表My Products › Mirror Credentials(我的產品 > 鏡射身分證明) 中進行選取。您可在其中看到一個 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.8 背景︰將源代碼回移

SUSE 廣泛使用了回移,例如,將目前軟體修正程式和功能移轉到已發行的 SUSE Linux Enterprise 套件。本節中的資訊可協助您瞭解為何透過比較版本號碼來判斷 SUSE Linux Enterprise 軟體套件的功能和安全性的方法不可靠。您將瞭解 SUSE 如何在保持系統軟體安全和最新狀態的同時,保持 SUSE Linux Enterprise 產品上的應用程式軟體的相容性。您還將瞭解如何查看 SUSE Linux Enterprise 系統軟體中實際解決了哪些公開的安全問題,以及您的軟體實際上的最新程度。

7.8.1 為何要回移?

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

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

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

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

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

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

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

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

7.8.2 回移的原因

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

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

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

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

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

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

7.8.3 反對回移的原因

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

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

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

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

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

7.8.5 如何檢查哪些錯誤已修正以及哪些功能已回移且可用

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

  • 套件的變更記錄:

    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 建立為獨立檔案期間加以套用;如果您熟悉如何讀取源代碼,可以解譯這些獨立檔案。有關 SUSE Linux Enterprise 軟體的安裝來源請參閱第 6.1.2.1 節「安裝或下載來源套件」, 第 6 章「使用指令行工具管理軟體」, 管理指南,有關 SUSE Linux Enterprise 上的建構套件請參閱第 6.2.5 節「安裝與編譯來源套件」, 第 6 章「使用指令行工具管理軟體」, 管理指南,有關 SUSE Linux Enterprise 軟體套件建構的內部工作方式請參閱《Maximum RPM》(最大 RPM) (http://www.rpm.org/max-rpm/) 一書。

  • 如需瞭解安全性錯誤修正程式,請參閱 SUSE 安全性通告 (http://www.suse.com/support/security/#1)。這些修正程式通常適用於由通用弱點披露 (http://cve.mitre.org) 專案維護之以 CAN-2005-2495 等標準名稱顯示的錯誤。

7.9 背景︰YaST Wagon 的移轉插入程式

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

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

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

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

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

步驟

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

順序

是 00...99 範圍內的順序編號,您可以設定執行程序檔的順序。(開始時必須保持為零,這樣才能啟用正確的排序!)

字首

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

名稱

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

範例 7.2 包含完整路徑的插入程式程序檔
/var/lib/YaST2/wagon/hooks/before_package_migration_00_postgresql_backup

7.9.2 插入程式程序檔結束值

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

7.9.3 等冪程序檔

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

7.9.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 會詢問使用者是透過 SUSE Customer Center 儲存庫還是使用自定儲存庫進行移轉;下一步視使用者的選擇而定

before_registration , after_registration

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

before_repo_selection , after_repo_selection

手動儲存庫管理

before_set_migration_repo , after_set_migration_repo

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

before_package_migration

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

before_registration , after_registration

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

before_congratulate , after_congratulate

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

before_exit

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

7.9.5 中止插入程式

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

before_abort

使用者確認中止移轉

before_abort_rollback , after_abort_rollback

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

7.9.6 重新啟動插入程式

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

before_restart

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

after_restart

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

7.9.7 常用插入程式

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

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

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

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

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

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

7.9.8 過時的插入程式

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

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

列印此頁面