跳至內容
documentation.suse.com / 升級指南
SUSE Linux Enterprise Server 15 SP2

升級指南

本指南引導您完成 SUSE Linux Enterprise Server 的升級和更新。指南中介紹了不同的方法,例如,從安裝 DVD、透過網路開機或從執行中的系統進行升級。

出版日期: 2023 年 12 月 11 日

版權所有 © 2006– 2023 SUSE LLC 和貢獻者。保留所有權利。

根據 GNU 自由文件授權 (GNU Free Documentation License) 1.2 版或 1.3 版 (自由選擇),使用者可以複製、散佈與/或修改本文件;「恆常章節」為此著作權聲明與授權。GNU 自由文件授權一節中包含 1.2 版授權的一份副本。

如需 SUSE 商標,請參閱 https://www.suse.com/company/legal/。所有其他協力廠商的商標所有權分屬其各自的公司。®、 等商標符號表示 SUSE 及其關係企業的商標。星號 (*) 表示協力廠商的商標。

本手冊中所有資訊在編輯時,都已全力注意各項細節。但這不保證百分之百的正確性。因此,SUSE LLC 及其關係企業、作者或譯者都不需對任何錯誤或造成的結果負責。

關於本指南

可使用不同的方法升級 SUSE Linux Enterprise Server。但無法包含開機或安裝伺服器、自動安裝或影像部署的所有方面。本手冊可協助您為自己的安裝選取適當的升級方法。

Book “升級指南”

本部分將介紹一些有關術語、SUSE 產品生命週期、Service Pack 版本以及推薦的升級規則的背景資訊。

1 可用文件

注意
注意:線上文件和最新更新

我們的產品文件可從 https://documentation.suse.com/ 獲取,您也可以在此處找到最新更新,以及瀏覽或下載各種格式的文件。文件的英文版通常會提供最新的文件更新。

針對本產品提供的文件如下:

Article “安裝快速入門

此《快速入門》引導您逐步完成安裝 SUSE® Linux Enterprise Server 15 SP2 的過程。

Book “部署指南

此指南詳細介紹如何安裝單個或多個系統,以及如何利用產品繼承功能部署基礎結構。從以下多種方法中進行選擇:從實體安裝媒體進行本地安裝;自訂標準安裝影像;網路安裝伺服器;使用遠端控制的高度自訂自動化安裝程序進行大規模部署;及初始系統組態。

Book “管理指南

描述系統管理任務,如維護、監控及自訂初始安裝的系統。

Book “Virtualization Guide”

概述虛擬化技術,並介紹虛擬化的整合式介面 libvirt,以及關於特定監管程式的詳細資訊。

Book “儲存管理指南

提供關於如何管理 SUSE Linux Enterprise Server 上儲存裝置的資訊。

Book “AutoYaST Guide”

AutoYaST 系統會使用包含安裝和組態資料的 AutoYaST 設定檔,讓您以無人管理的方式大量部署 SUSE Linux Enterprise Server 系統。該手冊會指引您完成自動安裝的基本步驟:準備、安裝及設定。

Book “Security and Hardening Guide”

介紹系統安全性的基本概念,涵蓋了本地安全性與網路安全性方面。說明如何使用產品固有的安全軟體 (例如 AppArmor),或者能夠可靠收集關於任何安全相關事件之資訊的稽核系統。

Book “System Analysis and Tuning Guide”

用於偵測、解決及最佳化問題的管理員指南。其中描述了如何透過監控工具檢查並最佳化系統,以及如何有效管理資源。該指南還概述了常見問題與解決方案,以及其他說明與文件資源。

Book “Repository Mirroring Tool Guide”

訂閱管理工具的管理員指南 - SUSE Customer Center 的代理系統,其中包含儲存庫與註冊目標。瞭解如何安裝與設定本地 SMT 伺服器、鏡像複製與管理儲存庫、管理用戶端機器,以及設定用戶端以使用 SMT。

Book “GNOME 使用者指南

介紹 SUSE Linux Enterprise Server 的 GNOME 桌面。本指南將引導您使用與設定桌面,並協助您執行主要任務。主要適用對象為希望將 GNOME 做為預設桌面有效利用的終端使用者。

https://www.suse.com/releasenotes/ 上提供了本產品的版本說明。

2 提供回饋

歡迎為本文件提供回饋及協助我們改進文件!我們提供了多種回饋管道:

服務要求和支援

有關適用於產品的服務與支援選項,請參閱 https://www.suse.com/support/

若要開啟服務要求,需要在 SUSE Customer Center 中擁有一個訂閱。請移至 https://scc.suse.com/support/requests 並登入,然後按一下新建立的

錯誤報告

https://bugzilla.suse.com/ 中報告文件問題。若要簡化此程序,可以使用本文件 HTML 版本中的標題旁邊的報告文件錯誤連結。如此會在 Bugzilla 中預先選取正確的產品和類別,並新增目前章節的連結。然後,您便可以立即開始輸入錯誤報告。需要一個 Bugzilla 帳戶。

協助改進

若要協助我們改進本文件,請使用本文件 HTML 版本中的標題旁邊的編輯原始碼連結。這些連結會將您移至 GitHub 上的原始碼,在其中您可以開啟提取要求。需要一個 GitHub 帳戶。

如需本文件使用的文件環境的詳細資訊,請參閱儲存庫的讀我檔案

郵件

或者,您也可以向以下電子郵件地址報告錯誤以及傳送有關本文件的回饋: <>。請務必包含文件標題、產品版本以及文件發行日期。請參考相關的章節編號和標題 (或包含 URL),並提供問題的簡要說明。

3 文件慣例

本文件中使用以下注意事項與排版慣例:

  • /etc/passwd:目錄名稱與檔案名稱

  • 保留字元:以實際的值來取代保留字元

  • PATH:環境變數 PATH

  • ls--help:指令、選項和參數

  • user:使用者或群組

  • 套件名稱:套件的名稱

  • AltAltF1:供人按下的按鍵或案件組合;顯示的按鍵與鍵盤上一樣為大寫

  • 檔案 檔案 ›  另存新檔:功能表項目、按鈕

  • AMD/Intel 本段內容僅與 AMD64/Intel 64 架構相關。箭頭標示了文字區塊的開頭與結尾。

    IBM Z, POWER 本段內容僅與 IBM ZPOWER 架構相關。箭頭標示了文字區塊的開頭與結尾。

  • Dancing Penguins (「Penguins」一章,↑另一本手冊):這是對另一本手冊中某一章的參考。

  • 必須具有 root 權限才能執行的指令。通常,您也可以在這些指令前加上 sudo 指令,以非特權使用者身分來執行它們。

    root # command
    tux > sudo command
  • 沒有權限的使用者也可以執行的指令。

    tux > command
  • 注意事項

    警告
    警告:警告

    繼續操作之前必須瞭解的重要資訊。提醒您注意安全問題、可能的資料遺失、硬體損毀或者實際危險。

    重要
    重要:重要說明

    繼續操作之前應該瞭解的重要資訊。

    注意
    注意:備註

    其他資訊,例如各軟體版本之間的區別。

    提示
    提示:提示

    有用的資訊,例如一條準則或實用的建議。

4 產品生命週期和支援

SUSE 產品的支援週期長達 13 年。若要查看產品的生命週期日期,請參閱 https://www.suse.com/lifecycle/

SUSE Linux Enterprise 適用以下生命週期和發行週期:

  • SUSE Linux Enterprise Server 的生命週期為 13 年:10 年的一般支援,以及 3 年的延伸支援。

  • SUSE Linux Enterprise Desktop 的生命週期為 10 年:7 年的一般支援,以及 3 年的延伸支援。

  • 主要版本每 4 年發行一次。Service Pack 每 12-14 個月發行一次。

  • 當新的 SUSE Linux Enterprise Service Pack 發行後,SUSE 會在 6 個月後停止對上一個 Service Pack 的支援。

某些產品提供長期 Service Pack 支援 (LTSS)。如需我們的支援規則和選項的資訊,請參閱 https://www.suse.com/support/policy.htmlhttps://www.suse.com/support/programs/long-term-service-pack-support.html

模組的生命週期、更新規則和更新時間軸與其基本產品不同。模組包含軟體套件,是完全受到支援的 SUSE Linux Enterprise Server 元件。如需詳細資訊,請參閱Article “Modules and Extensions Quick Start”

4.1 SUSE Linux Enterprise Server 支援聲明

若要獲得支援,您需要一個適當的 SUSE 訂閱。若要檢視為您提供的特定支援服務,請移至 https://www.suse.com/support/ 並選取您的產品。

支援層級的定義如下:

L1

問題判斷,該技術支援層級旨在提供相容性資訊、使用支援、持續維護、資訊收集,以及使用可用文件進行基本疑難排解。

L2

問題隔離,該技術支援層級旨在分析資料、重現客戶問題、隔離問題區域,並針對層級 1 不能解決的問題提供解決方法,或做為層級 3 的準備層級。

L3

問題解決,該技術支援層級旨在借助工程方法解決層級 2 支援所確認的產品缺陷。

對於簽約的客戶與合作夥伴,SUSE Linux Enterprise Server 將為除以下套件外的其他所有套件提供 L3 支援:

  • 技術預覽

  • 音效、圖形、字型和作品。

  • 需要額外客戶合約的套件。

  • 模組 Workstation Extension 隨附的某些套件僅可享受 L2 支援。

  • 名稱以 -devel 結尾的套件 (包含標題檔案和類似的開發人員資源) 只能與其主套件一起接受支援。

SUSE 僅支援使用原始套件,即,未發生變更且未重新編譯的套件。

4.2 技術預覽

技術預覽是 SUSE 提供的旨在讓使用者大略體驗未來創新的各種套件、堆疊或功能。隨附這些預覽只是為了提供方便,讓您有機會在自己的環境中測試新的技術。非常希望您能提供回饋!如果您測試了技術預覽,請聯絡 SUSE 代表,將您的體驗和使用案例告知他們。您的回饋對於我們的未來開發非常有幫助。

但是,技術預覽存在以下限制:

  • 技術預覽仍處於開發階段。因此,它們的功能可能不完整、不穩定,或者在其他方面適合實際生產用途。

  • 技術預覽受支援。

  • 技術預覽可能僅適用於特定的硬體架構。

  • 技術預覽的詳細資料和功能可能隨時會發生變化。因此,可能無法升級至技術預覽的後續版本,而需要進行全新安裝。

  • 我們隨時可能會捨棄技術預覽。例如,如果 SUSE 探查到某個預覽不符合客戶或市場需求,或者不能證明它符合企業標準,則可能會捨棄該預覽。SUSE 不承諾未來將提供此類技術的受支援版本。

如需產品隨附的技術預覽綜覽,請參閱 https://www.suse.com/releasenotes/ 上的版本說明。

1 升級路徑和方法

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

本章介紹如何透過 DVD、網路、自動化程序或 SUSE Manager 手動升級 SUSE Linux Enterprise 系統。

1.1 支援的 SLES 15 SP2 升級路徑

在執行任何移轉操作之前,請閱讀第 3 章 「準備升級

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

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

具體來說,從 SLE 11 on POWER (位元組由大到小) 升級至 SLE 15 SP2 on POWER (新增:位元組由小到大)受支援。

另外,由於 SUSE Linux Enterprise 15 SP2 僅提供 64 位元,因此支援從任何 32 位元的 SUSE Linux Enterprise 11 系統升級至 SUSE Linux Enterprise 15 SP2 及更高版本。

若要跨架構升級,需執行全新安裝。

注意
注意:跳過 Service Pack

按順序安裝所有 Service Pack 是最方便的升級路徑。對於 SUSE Linux Enterprise 15 產品系列 (GA 和下列 Service Pack),升級時支援跳過某個 Service Pack。例如,支援從 SLE 15 GA 升級至 15 SP2,或者從 SLE 15 SP1 升級至 15 SP3。

注意
注意:升級主要版本

建議在升級到新的主要版本時 (例如從 SUSE Linux Enterprise 12 升級到 SUSE Linux Enterprise 15),執行全新安裝。

支援的升級路徑綜覽
圖 1.1︰ 支援的升級路徑綜覽
每個版本支援的升級路徑
SUSE Linux Enterprise Server 11 GA/SP1/SP2/SP3 升級

不支援從 SLES 11 SP3 或更舊的 Service Pack 直接升級。您的版本至少需為 SLES 11 SP4,才能升級至 SLES 15 SP2

如果您無法執行全新安裝,請先將已安裝的 SLES 11 Service Pack 升級至 SLES 11 SP4。《SLES 11 SP4 部署指南》中介紹了此升級程序。

SUSE Linux Enterprise Server 11 SP4 升級

若要從 SLES 11 SP4 升級,僅支援採用離線升級方式。如需詳細資訊,請參閱第 1.2 節 「線上升級和離線升級」

SUSE Linux Enterprise Server 12 GA/SP1/SP2 升級

不支援從 SLES 12 SP2 或更舊的 Service Pack 直接升級。您的版本至少需為 SLES 12 SP3,才能升級至 SLES 15 SP2

如果您無法執行全新安裝,請先將已安裝的 SLES 12 Service Pack 升級至 SLES 12 SP3。《SLES 12 SP3 部署指南》中介紹了此升級程序。

SUSE Linux Enterprise Server 12 SP3/SP4 升級

若要從 SLES 12 SP3/SP4 升級,僅支援採用離線升級方式。如需詳細資訊,請參閱第 1.2 節 「線上升級和離線升級」

升級 SUSE Linux Enterprise 公用雲端客體

如需升級公用雲端中的 SLE 客體的說明,請參閱「Using the SUSE Distribution Migration System」(使用 SUSE 發行版移轉系統)

1.2 線上升級和離線升級

SUSE 支援以下升級和移轉方法。如需術語的詳細資訊,請參閱第 2.1 節 「術語」。這些方法是:

線上

從執行中作業系統自身 (系統處於啟動和執行中狀態) 執行升級。範例:透過 SUSE Customer Center 或儲存庫鏡像工具 (RMT)、經由 SUSE Manager 的 Salt 規則建立連接後,使用 Zypper 或 YaST 進行線上更新。

如需詳細資料,請參閱第 5 章 「線上升級

在同一主要版本的 Service Pack 之間移轉時,建議使用下面兩種方法:第 5.4 節 「使用線上移轉工具 (YaST) 升級」第 5.5 節 「使用 Zypper 升級」

離線

離線升級表示所要升級的作業系統並未處於執行中狀態 (系統處於關閉狀態)。系統會將目標作業系統的安裝程式開機 (例如,透過安裝媒體、網路或本地開機載入程式) 並執行升級。

如需詳細資料,請參閱第 4 章 「離線升級

重要
重要:SUSE Manager 用戶端

如果您的機器由 SUSE Manager 管理,請依據 SUSE Manager 文件所述更新機器。https://documentation.suse.com/suma/ 上的《SUSE Manager Upgrade Guide》(SUSE Manager 升級指南) 中介紹了用戶端移轉程序。

2 生命週期和支援

本章提供有關術語、SUSE 產品生命週期、Service Pack 版本,以及建議的升級規則的背景資訊。

2.1 術語

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

回移

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

增量 RPM

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

下游

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

延伸, 附加產品

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

LTSS

LTSS 是 Long Term Service Pack Support 的縮寫,它以 SUSE Linux Enterprise Server 延伸的形式提供。

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

SUSE Linux Enterprise (或任何軟體產品) 的主要版本是一個新版本,其中會引入新功能和工具、停用先前淘汰的元件,並加入一些不反向相容的變更。例如,SUSE Linux Enterprise 12 或 15 都是主要版本。

移轉

使用線上更新工具或安裝媒體來安裝相關的修補程式,從而對 Service Pack (SP) 進行更新。它會將已安裝系統的所有套件更新到最新狀態。

移轉目標

系統可移轉到的相容產品集,包含產品/延伸的版本以及儲存庫的 URL。移轉目標隨時會發生變化,並依存於安裝的延伸。可以選取多個移轉目標,例如 SLE 15 SP1 和 SES6。

模組

模組則全部由 SUSE Linux Enterprise Server 支援,生命週期也不同。它們具有明確定義的範圍並僅透過線上通道提供。若要訂閱 SUSE Customer Center、RMT (儲存庫鏡像工具) 或 SUSE Manager,必須先在這些通道中註冊。

套件

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

修補程式

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

Service Pack (SP)

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

上游

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

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

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

更新

安裝某個套件的較新次要版本,其中通常包含安全修復或錯誤修復。

升級

安裝套件或套裝作業系統的較新主要版本,會引入新功能。如需各升級選項之間的區別資訊,請參閱第 1.2 節 「線上升級和離線升級」

2.2 產品生命週期

SUSE 產品的生命週期如下:

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

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

  • 主要版本每 4 年發行一次。Service Pack 每 12-14 個月發行一次。

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

主要版本和 Service Pack
圖 2.1︰ 主要版本和 Service Pack

如果您需要更多時間來設計、驗證和測試您的升級計劃,長期 Service Pack 支援可將您的支援延長 12 到 36 個月 (以 12 個月為單位遞增)。如此,對於任何 Service Pack,您總共可以獲得 2 到 5 年的支援。如需詳細資料,請參閱圖形 2.2 「長期 Service Pack 支援」

長期 Service Pack 支援
圖 2.2︰ 長期 Service Pack 支援

如需詳細資訊,請參閱 https://www.suse.com/products/long-term-service-pack-support/

如需生命週期、發行頻率和更迭期支援期限的詳細資訊,請參閱 https://www.suse.com/lifecycle

2.3 模組相依項和生命週期

如需模組、其相依項和生命週期的清單,請參閱Article “Modules and Extensions Quick Start”

2.4 產生定期生命週期報告

SUSE Linux Enterprise Server 可定期檢查所有已安裝產品的支援狀態變更,如有變更,則會透過電子郵件傳送報告。若要產生報告,請安裝 zypper-lifecycle-plugin (透過 zypper in zypper-lifecycle-plugin 指令)。

使用 systemctl 指令在系統上啟用報告產生功能:

root # systemctl enable lifecycle-report

可使用任何文字編輯器,在 /etc/sysconfig/lifecycle-report 檔案中設定報告電子郵件的收件人和標題,以及產生報告的期間。MAIL_TOMAIL_SUBJ 設定分別定義郵件收件人和標題,而 DAYS 則設定產生報告的間隔。

報告顯示的是變更發生之後 (而不是之前) 的支援狀態變更。如果變更是在最後一份報告產生之後立即發生的,則您最長可能需要 14 天才會收到變更通知。在設定 DAYS 選項時,需考慮到這一點。您可以依據自己的要求變更以下組態項目:

MAIL_TO='root@localhost'
MAIL_SUBJ='Lifecycle report'
DAYS=14

最新報告可在檔案 /var/lib/lifecycle/report 中獲得。該檔案包含兩個區段。第一段指出所使用產品的支援已結束。第二個區段列出套件以及它們的支援結束日期和更新可用性。

2.5 支援等級

延伸支援層級從第 10 年開始,到第 13 年結束。這些支援包括延續的 L3 工程層級診斷和反應式重要錯誤修正。具有這些支援層級,您將接收到針對以下弱點的更新:核心中可被輕易利用的 root 弱點,以及其他無需使用者互動即可直接執行的 root 弱點。此外,它們還支援現有的工作負載、軟體堆疊和硬體,其中只對少數套件不提供支援。表格 2.1 「安全性更新和錯誤修正」 中提供了綜覽。

表 2.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 的缺陷)

2.6 使用 SUSEConnect 註冊和取消註冊機器

註冊時,系統將從 SUSE Customer Center (參閱 https://scc.suse.com/) 或本地註冊代理 (如 SMT) 接收儲存庫。儲存庫名稱會對應到客戶中心中的特定 URI。若要列出系統上所有可用的儲存庫,請按如下方式使用 zypper

root # zypper repos -u

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

若要註冊您的機器,請執行 SUSEConnect,例如:

root # SUSEConnect -r REGCODE

若要取消註冊機器,也可以使用 SUSEConnect:

root # SUSEConnect --de-register

若要查看本地安裝的產品及其狀態,請使用以下指令:

root # SUSEConnect -s

2.7 識別 SLE 版本

如需識別 SLE 安裝的版本,請檢查 /etc/os-release 檔案的內容。

可以使用 zypper 獲取機器可讀的 XML 輸出:

tux > zypper --no-remote --no-refresh --xmlout --non-interactive products -i
<?xml version='1.0'?>
<stream>
<product-list>
<product name="SLES" version="15" release="0" epoch="0" arch="x86_64" vendor="SUSE" summary="SUSE Linux Enterprise Server 15" repo="@System" productline="sles" registerrelease="" shortname="SLES15" flavor="" isbase="true" installed="true"><endoflife time_t="0" text="0"/><registerflavor/><description>SUSE Linux Enterprise offers [...]</description></product>
</product-list>
</stream>

3 準備升級

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

3.1 確定目前系統是最新的

僅支援從最新的修補層級升級系統。執行 zypper patch 或啟動 YaST 模組 Online-Update,以確定已安裝最新的系統更新。

3.2 閱讀版本說明

在版本說明中,您可以找到其他有關自 SUSE Linux Enterprise Server 的上一個版本發行後所進行的變更的資訊。檢查版本說明以瞭解:

  • 您的硬體是否有特殊的注意事項;

  • 所用的任何軟體套件是否已發生重大變更;

  • 是否需要對您的安裝施行特殊預防措施。

版本說明還會提供無法及時編入手冊的資訊。它們還包含有關已知問題的說明。

如果您跳過了一或多個 Service Pack,另請檢查所跳過 Service Pack 的版本說明。版本說明通常僅包含兩個連續版本之間的變更。如果您只閱讀最新的版本說明,可能會遺漏某些重大變更。

https://www.suse.com/releasenotes/ 中線上尋找最新的版本說明。

您也可在安裝 DVD 上的 docu 目錄中尋找版本說明。

3.3 備份

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

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

3.4 列出已安裝的套件和儲存庫

儲存已安裝套件清單的做法通常很實用,例如,在全新安裝某個新的主要 SLE 版本,或回復到舊版本時就是如此。

請注意,並非所有已安裝的套件或使用的儲存庫在 SUSE Linux Enterprise 的較新版本中都可用。有些套件或儲存庫可能已被重新命名,有些可能已被取代。還有可能提供的一些套件只是用於舊版,而預設會使用另一個替代它的套件。因此,可能需要手動編輯一些檔案。您可使用任何文字編輯器進行編輯。

建立包含全部所用儲存庫清單的檔案 repositories.bak.repo

root # zypper lr -e repositories.bak

此外,建立包含全部已安裝套件清單的檔案 installed-software.bak

root # rpm -qa --queryformat '%{NAME}\n' > installed-software.bak

備份這兩個檔案。使用以下指令可還原儲存庫和已安裝的套件:

root # zypper ar repositories.bak.repo
root # zypper install $(cat installed-software.bak)
注意
注意: 更新至新主要版本後,套件數量會隨之增加

升級至新主要版本的系統 (SLE X+1) 包含的套件可能比初始系統 (SLE X) 的多,也會比選取相同模式執行的 SLE X+1 全新安裝所包含的套件多。原因如下:

  • 套件經過分割,以便使用者能更細微地選取套件。例如,SLE 11 上的 37 個 texlive 套件已分割成 SLE 15 上的 3000 多個套件。

  • 分割套件後,在升級程序中會安裝所有新套件,以與舊版本保持相同的功能。但是,SLE X+1 全新安裝的新預設設定可能不會安裝所有套件。

  • 出於相容原因,可能會保留 SLE X 中的舊套件。

  • 套件相依項和模式範圍可能已發生變化。

3.5 SUSE Linux Enterprise Server 11 SP4 升級

如果您在 SUSE Linux Enterprise Server 11 SP4 上使用的是 MySQL、PostgreSQL 或 Java MD5 式的證書,請依據以下各節所述準備系統。

3.5.1 移轉 MySQL 資料庫

從 SUSE Linux Enterprise 12 開始,SUSE 使用 MariaDB 而不是 MySQL。在開始任何升級操作之前,強烈建議您備份資料庫。

若要執行資料庫移轉,請執行以下步驟:

  1. 登入到 SUSE Linux Enterprise 11 機器。

  2. 建立傾印檔案:

    root # mysqldump -u root -p --all-databases > mysql_backup.sql

    依預設,mysqldump 不會傾印 INFORMATION_SCHEMAperformance_schema 資料庫。如需詳細資訊,請參閱https://dev.mysql.com/doc/refman/5.5/en/mysqldump.html

  3. 將您的傾印檔案、組態檔案 /etc/my.cnf 以及目錄 /etc/mysql/ 儲存在安全位置以供日後調查 (不要用於安裝!)。

  4. 執行升級。升級後,以前的組態檔案 /etc/my.cnf 仍將保持不變。可以在檔案 /etc/my.cnf.rpmnew 中找到新組態。

  5. 根據需要設定 MariaDB 資料庫。不要使用以前的組態檔案和目錄,只是將其用做提醒,並對其進行改編。

  6. 確定啟動 MariaDB 伺服器:

    root # systemctl start mysql

    如果您希望每次開機時都啟動 MariaDB 伺服器,請啟用以下服務:

    root # systemctl enable mysql
  7. 透過連接到資料庫來驗證 MariaDB 是否正常執行:

    root # mysql -u root -p

3.5.2 移轉 PostgreSQL 資料庫

SUSE Linux Enterprise Server 15 SP2 隨附了更高版本的 PostgreSQL 資料庫。由於需要完成資料庫的移轉工作,因此無法使用自動升級程序。您必須手動完成從一個版本到另一個版本的切換。

移轉程序由 pg_upgrade 指令 (可替代傳統的傾印再重新載入方法) 執行。與傾印再重新載入方法相比,pg_upgrade 可以減少移轉所耗費的時間。

每個 PostgreSQL 版本的程式檔案儲存在不同版本的相關目錄中。例如,/usr/lib/postgresql96/ 對應於版本 9.6,/usr/lib/postgresql10/ 對應於版本 10。請注意,PostgreSQL 主要版本 9.6 與 10 的版本控制規則有所不同。如需詳細資料,請參閱 https://www.postgresql.org/support/versioning/

重要
重要:從 SLE 11 升級

從 SLE 11 升級時,將會解除安裝 postgresql94,不可用於將資料庫移轉至更高的 PostgreSQL 版本。因此,在這種情況下,請務必先移轉 PostgreSQL 資料庫,然後再升級系統。

以下程序描述如何將資料庫從版本 9.6 移轉至版本 10。使用不同的版本做為起始或目標時,請相應地取代版本編號。

若要執行資料庫移轉,請執行以下步驟:

  1. 確定滿足以下前提條件:

    • 如果尚未這麼做,請透過維護更新將舊 PostgreSQL 版本的任何套件升級至最新版本。

    • 建立現有資料庫的備份。

    • 安裝新 PostgreSQL 主要版本的套件。對於 SLE15 SP2,這表示需要安裝 postgresql10-server 及其相依的所有套件。

    • 安裝套件 postgresql10-contrib, 其中包含指令 pg_upgrade

    • 確定 PostgreSQL 資料區域 (預設為 /var/lib/pgsql/data) 中有足夠的可用空間。如果可用空間非常有限,請對每個資料庫使用以下 SQL 指令,以嘗試減少大小 (這可能需要花費很長時間!):

      VACUUM FULL
  2. 使用下列任一指令停止 PostgreSQL 伺服器:

    root # /usr/sbin/rcpostgresql stop

    root # systemctl stop postgresql.service

    (取決於要用做升級起始版本的 SLE 版本)。

  3. 重新命名舊資料目錄:

    root # mv /var/lib/pgsql/data /var/lib/pgsql/data.old
  4. 使用 initdb 手動啟始化新的資料庫例項,或者啟動再停止 PostgreSQL,如此即可自動完成啟始化:

    root # /usr/sbin/rcpostgresql start
    root # /usr/sbin/rcpostgresql stop

    root # systemctl start postgresql.service
    root # systemctl stop postgresql.service

    (取決於要用做升級起始版本的 SLE 版本)。

  5. 如果您在舊版本中變更了組態檔案,請考慮將這些變更移至新的組態檔案。可能受影響的檔案包括 postgresql.auto.confpostgresql.confpg_hba.confpg_ident.conf。這些檔案的舊版本位於 /var/lib/pgsql/data.old/ 中,新版本可在 /var/lib/pgsql/data 中找到。

    請注意,不建議只是複製舊組態檔案,因為這麼做可能會覆寫新選項、新預設值和變更後的備註。

  6. postgres 使用者身分啟動移轉程序:

    root # su - postgres
    postgres > pg_upgrade \
      --old-datadir "/var/lib/pgsql/data.old" \
      --new-datadir "/var/lib/pgsql/data" \
      --old-bindir "/usr/lib/postgresql96/bin/" \
      --new-bindir "/usr/lib/postgresql10/bin/"
  7. 使用下列任一指令啟動新資料庫例項:

    root # /usr/sbin/rcpostgresql start

    root # systemctl start postgresql.service

    (取決於要用做升級起始版本的 SLE 版本)。

  8. 檢查移轉是否成功。測試範圍取決於使用案例,沒有任何普通的工具可以自動完成此步驟。

  9. 移除所有舊 PostgreSQL 套件和舊資料目錄:

    root # zypper search -s postgresql96 | xargs zypper rm -u
    root # rm -rf /var/lib/pgsql/data.old

3.5.3 為 Java 應用程式建立非 MD5 伺服器證書

從 SP1 升級到 SP2 期間,在進行安全性修復時停用了 MD5 式證書。若您之前建立的證書為 MD5 證書,請執行以下步驟來重新建立證書:

  1. 開啟終端機,並以 root 身分登入。

  2. 建立私密金鑰:

    root # openssl genrsa -out server.key 1024

    如需增強式金鑰,請以更大的數字 (例如 4096) 取代 1024

  3. 建立證書簽署申請 (CSR):

    root # openssl req -new -key server.key -out server.csr
  4. 自行簽署證書:

    root # openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
  5. 建立 PEM 檔案:

    root # cat server.key server.crt > server.pem
  6. server.crtserver.csrserver.keyserver.pem 檔案置於可在其中找到金鑰的相應目錄中。例如,對於 Tomcat,此目錄為 /etc/tomcat/ssl/

3.6 關閉虛擬機器客體

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

3.7 調整 SMT 用戶端設定

如果您要升級的機器已註冊為 SMT 伺服器的用戶端,請注意以下事項:

檢查主機上的 clientSetup4SMT.sh 程序檔版本是否最新。較舊版 SMT 的 clientSetup4SMT.sh 無法管理 SMT 12 用戶端。如果您在 SMT 伺服器上定期套用軟體修補程式,那麼位於 <SMT 主機名稱>/repo/tools/clientSetup4SMT.sh 處的 clientSetup4SMT.sh 永遠都是最新版本。

如果將機器升級至更高版本的 SUSE Linux Enterprise Server 失敗,請依程序 3.1中所述,從 SMT 伺服器中取消註冊該機器。然後重新啟動升級程序。

程序 3.1︰ 從 SMT 伺服器中取消註冊 SUSE Linux Enterprise 用戶端
  1. 登入用戶端機器。

  2. 以下步驟視用戶端的目前作業系統而定:

    • 對於 SUSE Linux Enterprise 11,請執行以下指令:

      tux > sudo suse_register -E
      tux > sudo rm -f /etc/SUSEConnect
      tux > sudo rm -rf /etc/zypp/credentials.d/*
      tux > sudo rm -rf /etc/zypp/repos.d/*
      tux > sudo rm -f /etc/zypp/services.d/*
      tux > sudo rm -f /var/cache/SuseRegister/*
      tux > sudo rm -f /etc/suseRegister*
      tux > sudo rm -f /var/cache/SuseRegister/lastzmdconfig.cache
      tux > sudo rm -f /etc/zmd/deviceid
      tux > sudo rm -f /etc/zmd/secret
    • 對於 SUSE Linux Enterprise 12,請執行以下指令:

      tux > sudo SUSEConnect --de-register
      tux > sudo SUSEConnect --cleanup
      tux > sudo rm -f /etc/SUSEConnect
      tux > sudo rm -rf /etc/zypp/credentials.d/*
      tux > sudo rm -rf /etc/zypp/repos.d/*
      tux > sudo rm -f /etc/zypp/services.d/*
  3. 登入 SMT 伺服器。

  4. 列出所有用戶端註冊,檢查是否已成功取消註冊該用戶端:

    tux > sudo smt-list-registrations
  5. 如果該用戶端的主機名稱仍列在此指令的輸出中,請從第一欄取得該用戶端的唯一 ID。(可能列出了該用戶端的多個 ID。)

  6. 刪除此用戶端的註冊:

    tux > sudo smt-delete-registration -g UNIQUE_ID
  7. 如果列出了該用戶端的多個 ID,請針對每個唯一 ID 重複上述步驟。

  8. 重新執行以下指令,檢查現在是否已成功取消註冊該用戶端:

    tux > sudo smt-list-registrations

3.8 磁碟空間

軟體通常會隨著版本更新而擴增。因此在更新之前,請先檢視可用的分割區空間。如果您懷疑磁碟空間不足,請先備份資料,再透過調整分割區大小等方法來增大可用空間。每個分割區應該佔用多大空間並沒有常規可循。空間需求將依特定的磁碟分割設定檔和選取軟體而有差異。

注意
注意:自動檢查 YaST 中是否有足夠的空間

在更新過程中,YaST 會檢查可用磁碟空間的容量,並在安裝大小可能超出可用空間時向使用者顯示警告。在此情況下,執行更新可能會導致系統無法使用!除非您有執行的把握 (透過事先測試取得),您才可以跳過該警告並繼續進行更新。

3.8.1 檢查非 Btrfs 檔案系統上的磁碟空間

請使用 df 指令列出可用的磁碟空間。例如,在 範例 3.1 「使用 df -h 來列示」 中,根分割區為 /dev/sda3 (掛接位置是 /)。

範例 3.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

3.8.2 檢查非 Btrfs 根檔案系統上的磁碟空間

在 Btrfs 檔案系統上,df 的輸出可能有誤導性,因為除了原始資料配置的空間以外,Btrfs 檔案系統也會配置並使用中繼資料的空間。

因此,即使看上去仍有大量的可用空間,Btrfs 檔案系統也可能會報告空間不足。在這種情況下,為中繼資料配置的所有空間均會用盡。如需如何檢查 Btrfs 檔案系統上已用和可用空間的詳細資料,請參閱Book “儲存管理指南”, Chapter 1 “Linux 中檔案系統的綜覽”, Section 1.2.2.3 “檢查可用空間”如需詳細資訊,請參閱 man 8 btrfs-filesystemhttps://btrfs.wiki.kernel.org/index.php/FAQ

如果您在機器上使用 Btrfs 做為根檔案系統,請確定有足夠的可用空間。檢查所有已掛接分割區上的可用空間。在最壞的情況下,升級程序需要將目前根檔案系統的所有磁碟空間 (不含 /.snapshot) 用於存放新快照。

下列建議已證實值得採納:

  • 包含 Btrfs 的所有檔案系統需有足夠的可用磁碟空間用於下載和安裝大型 RPM。舊 RPM 的空間只會在安裝新 RPM 之後釋放。

  • 對於包含快照的 Btrfs,至少需要有目前安裝任務所需的可用空間。建議提供兩倍於目前安裝大小的可用空間。

    如果沒有足夠的可用空間,您可以嘗試使用 snapper 刪除舊快照:

    root # snapper list
    root # snapper delete NUMBER

    但是,這種做法並不總是有用。在移轉之前,大部份快照只會佔用極少的空間。

3.9 升級訂閱管理工具 (SMT) 伺服器

對於執行 SMT 的伺服器,需要執行特殊的升級程序。請參閱《Repository Management Tool Guide》(儲存庫管理工具指南) 中的Book “Repository Mirroring Tool Guide”, Chapter 2 “Migrate from SMT to RMT”

3.10 暫時停用核心多版本支援

SUSE Linux Enterprise Server 允許您在 /etc/zypp/zypp.conf 中啟用相應設定來安裝多個核心版本。為了升級到某個 Service Pack,需要暫時停用對此功能的支援。當更新成功完成後,可重新啟用多版本支援。若要停用多版本支援,請在 /etc/zypp/zypp.conf 中為各行加上備註。結果應類似如下內容:

#multiversion = provides:multiversion(kernel)
#multiversion.kernels = latest,running

若要在成功更新後重新啟用此功能,請移除備註符號。如需更多有關多版本支援的詳細資訊,請參閱Book “部署指南 ”, Chapter 21 “安裝多個核心版本”, Section 21.1 “啟用和設定多版本支援”

3.11 在 IBM Z 上升級

在 IBM Z 上升級 SUSE Linux Enterprise 安裝需要設定 Upgrade=1 核心參數 (例如,透過 parmfile 設定)。請參閱第 5.4 節 「Parmfile — 自動化系統組態」

3.12 IBM POWER:啟動 X 伺服器

在 SLES 12 for IBM POWER 上,顯示管理員預設為不啟動本地 X 伺服器。此設定在 SLES 12 SP1 上則相反,即現在顯示管理員會啟動 X 伺服器。

為了避免升級期間出現問題,SUSE Linux Enterprise Server 設定不會自動變更。若要讓顯示管理員在升級後啟動 X 伺服器,請依如下所示在 /etc/sysconfig/displaymanager 中變更 DISPLAYMANAGER_STARTS_XSERVER 設定:

DISPLAYMANAGER_STARTS_XSERVER="yes"

4 離線升級

本章介紹如何使用從安裝媒體開機的 YaST,來升級現有的 SUSE Linux Enterprise 安裝。YaST 安裝程式有多種啟動方法,例如從 DVD 啟動、透過網路啟動或從系統所在的硬碟啟動。

4.1 概念綜覽

在升級系統之前,請先閱讀第 3 章 「準備升級

若要升級系統,請像執行全新安裝時那樣,從安裝來源開機。不過,當開機螢幕出現時,您需要選取升級 (而不是安裝)。可從以下媒體啟動升級:

4.2 從安裝媒體啟動升級

下面的程序說明如何從 DVD 開機,不過,您也可以使用其他本地安裝媒體,例如 USB 大量儲存裝置上的 ISO 影像。要選取的媒體和開機方法取決於系統架構,以及機器使用的是傳統 BIOS 還是 UEFI。

程序 4.1︰ 手動升級至 SUSE Linux Enterprise Server 15 SP2
  1. 選取並準備開機媒體,請參閱Book “部署指南

  2. 插入 SUSE Linux Enterprise Server 15 SP2 的整合安裝程式 DVD,並將機器開機。隨即會依次顯示歡迎使用螢幕和開機螢幕。

  3. 選擇性:若要強制安裝程式僅安裝 DVD 中的套件而不安裝網路來源中的套件,請新增開機選項 media_upgrade=1

  4. 在開機功能表中選取升級以啟動系統。

  5. 第 4.4 節 「升級 SUSE Linux Enterprise」中所述繼續執行升級程序。

4.3 從網路來源啟動升級

若要從網路安裝來源開始升級,請確定符合以下要求:

從網路安裝來源升級的要求
網路安裝來源

網路安裝來源已依據Book “部署指南 ”, Chapter 16 “設定網路安裝來源”所述完成設定。

網路連接和網路服務

安裝伺服器與目標機器的網路連接均必須正常。必需的網路服務如下:

  • 網域名稱服務

  • DHCP (僅在透過 PXE 開機時需要,可在設定期間手動設定 IP)

  • OpenSLP (選擇性)

開機媒體

可開機的 SUSE Linux Enterprise DVD、ISO 影像或正常運作的 PXE 設定。如需透過 PXE 開機的詳細資料,請參閱Book “部署指南 ”, Chapter 17 “準備網路開機環境”, Section 17.4 “準備用於 PXE 啟動的目標系統”。請參閱Book “部署指南 ”, Chapter 11 “遠端安裝”,深入瞭解從遠端伺服器開始升級的相關資訊。

4.3.1 透過網路安裝來源手動升級 — 從 DVD 開機

此程序舉例說明如何從 DVD 開機,不過,您也可以使用其他本地安裝媒體,例如 USB 大量儲存裝置上的 ISO 影像。如何選取開機方法以及從媒體啟動系統取決於系統架構,以及機器使用的是傳統 BIOS 還是 UEFI。如需詳細資料,請參閱以下連結。

  1. 插入 SUSE Linux Enterprise Server 15 SP2 的整合安裝程式 DVD,並將機器開機。隨即會依次顯示歡迎使用螢幕和開機螢幕。

  2. 選取要使用的網路安裝來源類型 (FTP、HTTP、NFS、SMB 或 SLP)。通常可以按 F4 選取此選項,但是,如果您機器上裝配的是 UEFI 而不是傳統 BIOS,則您可能需要手動調整開機參數。如需詳細資料,請參閱Book “部署指南 ”, Chapter 7 “開機參數”Book “部署指南 ”, Chapter 8 “安裝步驟”

  3. 第 4.4 節 「升級 SUSE Linux Enterprise」中所述繼續執行升級程序。

4.3.2 透過網路安裝來源手動升級 — 透過 PXE 開機

若要透過 PXE 開機從網路安裝來源執行升級,請依照以下步驟操作:

  1. 調整 DHCP 伺服器的設定以提供透過 PXE 開機時所需的位址資訊。如需詳細資料,請參閱Book “部署指南 ”, Chapter 17 “準備網路開機環境”, Section 17.1.1 “動態位址指定”

  2. 設定 TFTP 伺服器,以存放透過 PXE 開機時所需的開機影像。為此,請使用 SUSE Linux Enterprise Server 15 SP2 的安裝程式 DVD,或遵循Book “部署指南 ”, Chapter 17 “準備網路開機環境”, Section 17.2 “設定 TFTP 伺服器”中的指示。

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

  4. 啟始目標系統開機,並使用 VNC 遠端連接到這部機器所執行的安裝常式。如需詳細資訊,請參閱Book “部署指南 ”, Chapter 11 “遠端安裝”, Section 11.3 “透過 VNC 監控安裝”

  5. 第 4.4 節 「升級 SUSE Linux Enterprise」中所述繼續執行升級程序。

4.4 升級 SUSE Linux Enterprise

在升級系統之前,請先閱讀第 3 章 「準備升級。若要執行自動移轉,請執行下列步驟:

注意
注意:SUSE Customer Center 和網際網路連接

如果您要升級的系統已針對 SUSE Customer Center 註冊,在執行以下程序期間,請務必建立網際網路連接。

  1. (從安裝媒體或網路) 開機後,請在開機螢幕上選取升級項目。

    警告
    警告:不當的選擇可能會導致資料遺失

    此時請務必選取升級。如果錯誤地選取了安裝,則會以全新安裝覆寫您的資料分割區。

    YaST 將會啟動安裝系統。

  2. 歡迎畫面上,選擇語言鍵盤下一步繼續。

    YaST 將會檢查您的分割區上是否已安裝 SUSE Linux Enterprise 系統。

  3. 選取升級螢幕上,選取要升級的分割區,然後按下一步

  4. YaST 會掛接選取的分割區,並顯示所升級產品的授權合約。若要繼續升級,請接受授權條款。

  5. 之前使用的儲存庫螢幕上,調整儲存庫的狀態。預設會移除所有儲存庫。如果您未新增任何自訂儲存庫,請不要變更設定。將從 DVD 安裝待升級的套件,您可在下一步驟中選擇性地啟用預設線上儲存庫。

    如果您有自訂儲存庫,可以採取以下兩種做法:

    • 讓儲存庫保留「已移除」狀態。在升級期間,將會移除從此儲存庫安裝的軟體。在沒有任何與新版本相符的儲存庫版本可用的情況下,請使用此方法。

    • 更新並啟用與新版本相符的儲存庫。在清單中按一下該儲存庫以變更其 URL,然後按一下變更。可透過選取切換狀態,直至其狀態設定為啟用來啟用儲存庫。

    不要保留上一版本中的儲存庫,否則系統可能不穩定甚至根本無法工作。然後按一下下一步繼續。

  6. 下一步驟取決於升級的系統是否已針對 SUSE Customer Center 註冊。

    1. 如果系統未針對 SUSE Customer Center 註冊,則 YaST 將顯示一則快顯訊息,建議使用另一個安裝媒體,即:SLE-15-SP2-Full-ARCH-GM-media1.iso 影像。

      如果您沒有該媒體,則只能在註冊后再升級該系統。

    2. 如果系統已針對 SUSE Customer Center 註冊,則 YaST 將顯示可能的移轉目標和摘要。

      從清單中選取一個移轉目標,然後按一下下一步繼續操作。

  7. 在下一個對話方塊中,您可以選擇新增額外的安裝媒體。如果您有額外的安裝媒體,請啟動我要安裝其他附加產品選項,並指定媒體類型。

  8. 檢查升級的安裝設定

  9. 如果所有設定都如您所願,請按一下更新啟動安裝與移除程序。

    提示
    提示:在 SMT 用戶端上升級失敗

    如果要升級的機器是 SMT 用戶端並且升級失敗,請參閱程序 3.1 「從 SMT 伺服器中取消註冊 SUSE Linux Enterprise 用戶端」,然後重新啟動升級程序。

  10. 升級程序成功完成後,請依據第 4.4.1 節 「升級後檢查」所述執行升級後檢查。

4.4.1 升級後檢查

  • 檢查任何孤立的套件。孤立的套件是指不再屬於任何使用中的儲存庫的套件。以下指令可以列出這些套件:

    tux > zypper packages --orphaned

    藉由此清單,您可以確定某個套件是否仍然需要,或者是否可以將其安全解除安裝。

  • 檢查所有 *.rpmnew*.rpmsave 檔案,檢查其內容,並在可能的情況下合併適宜的變更。如果升級包括對某個預設組態檔案的變更,套件會寫入上述其中一個檔案類型,而不會覆寫該組態檔案。其中,*.rpmnew 包含新的預設組態且將原始檔案保持原樣不變,而 *.rpmsave 是原始組態的副本且已由新的預設檔案取代。

    您無需搜尋整個檔案系統中的 *.rpmnew*.rpmsave 檔案,最重要的檔案都已儲存在 /etc 目錄中。使用以下指令可以列出這些檔案:

    tux > find /etc -print | egrep "rpmnew$|rpmsave$"

4.5 使用 AutoYaST 升級

升級程序可以自動執行。如需詳細資料,請參閱Book “AutoYaST Guide”, Chapter 4 “Configuration and Installation Options”, Section 4.10 “Upgrade”

4.6 使用 SUSE Manager 升級

SUSE Manager 是一個伺服器解決方案,用於提供適用於 SUSE Linux Enterprise 用戶端的更新、修補程式和安全性修正程式。它隨附一組工具和一個 Web 式使用者介面,用於執行管理任務。如需 SUSE Manager 的詳細資訊,請參閱https://www.suse.com/products/suse-manager/

您可以使用 SUSE Manager 來執行系統升級。透過整合的 AutoYaST 技術,可以從一個主要版本升級至下一個主要版本。

如果您的機器由 SUSE Manager 管理,請依據 SUSE Manager 文件所述更新機器。https://documentation.suse.com/suma/ 上的《SUSE Manager Upgrade Guide》(SUSE Manager 升級指南) 中介紹了用戶端移轉程序。

4.7 復原後更新註冊狀態

執行 Service Pack 升級時,需要在註冊伺服器上變更組態,以提供對新儲存庫的存取權限。如果升級程序被中斷或回復 (透過從備份或快照還原),註冊伺服器上的資訊將與系統的狀態不一致。這可能會導致您無法存取更新儲存庫,或者導致在用戶端上使用錯誤的儲存庫。

若透過 Snapper 進行復原,系統將會向註冊伺服器傳送通知,確保在開機過程中設定正確儲存庫的存取權限。如果使用其他方法還原了系統,或者與註冊伺服器通訊失敗,請在用戶端上手動觸發復原程序。例如,在因網路問題而無法存取伺服器時,可以手動觸發復原程序。若要復原,請執行:

tux > sudo snapper rollback

建議您永遠使用以下指令來檢查系統上是否已設定正確的儲存庫 (特別是在重新整理服務後):

tux > sudo zypper ref -s

此功能在 rollback-helper 套件中可用。

4.8 注册您的系統

如果在執行升級之前未註冊系統,您隨時都可使用 YaST 中的產品註冊模組來註冊系統。

註冊系統可以獲得以下優勢:

  • 有資格獲得支援

  • 取得安全性更新和錯誤修復

  • 存取 SUSE Customer Center

  1. 啟動 YaST 並選取 軟體 ›  產品註冊 以開啟註冊對話方塊。

  2. 提供與您或您的組織用於管理訂閱的 SUSE 帳戶關聯的電子郵件地址。如果您還沒有 SUSE 帳戶,請前往 SUSE Customer Center 首頁 (https://scc.suse.com/) 建立一個帳戶。

  3. 輸入與 SUSE Linux Enterprise Server 副本一起收到的「註冊代碼」。

  4. 如果您的網路上有一個或多個本地註冊伺服器可用,您可以從清單中選擇其中一個伺服器。

  5. 若要開始註冊,請繼續執行下一步

    成功註冊後,YaST 將列出系統可用的延伸、附加產品和模組。若要選取並安裝它們,請繼續Book “部署指南 ”, Chapter 20 “安裝模組、延伸和協力廠商附加產品”, Section 20.1 “從線上通道安裝模組與延伸”

5 線上升級

SUSE 提供了直觀的圖形工具和簡單的指令行工具,供您將執行中的系統升級至新的 Service Pack。它們提供 Service Pack復原支援及其他功能。本章將分步介紹如何使用這些工具來執行 Service Pack 升級。

5.1 概念綜覽

SUSE 會定期發佈 SUSE Linux Enterprise 系列的新 Service Pack。為了方便客戶移轉至新的 Service Pack,並最大程度減少停機時間,SUSE 支援在系統執行時進行線上移轉。

從 SLE 12 開始,YaST 移轉 (GUI) 與 Zypper 移轉 (指令行) 取代了 YaST Wagon。此項變更的優點在於:

  • 在首個 RPM 更新之前,系統將永遠處於已定義的狀態。

  • 在首個 RPM 更新之前,可以取消操作.

  • 若有錯誤,可以透過簡單的方式進行復原.

  • 您可以透過系統工具執行復原 - 無需進行備份或還原。

  • 使用所有有效儲存庫.

  • 能夠跳過 Service Pack

警告
警告:不支援對主要版本進行線上移轉

支援在 Service Pack 之間進行線上移轉。不支援透過線上移轉升級至新的主要版本。如需詳細資料,請參閱第 1 章 「升級路徑和方法

請透過離線移轉升級至新的主要版本。如需詳細資料,請參閱第 4 章 「離線升級

重要
重要:升級 SUSE Manager 用戶端

如果要升級的系統是 SUSE Manager 用戶端,則無法使用 YaST 線上移轉或 zypper migration 進行升級。請改為使用用戶端移轉程序。 《SUSE Manager Upgrade Guide》(SUSE Manager 升級指南)對此進行了說明。

5.2 Service Pack 移轉工作流程

Service Pack 移轉可透過 YaST、zypper 或 AutoYaST 執行。

開始 Service Pack 移轉之前,必須在 SUSE Customer Center 或本地 RMT 伺服器中註冊您的系統。也可以使用 SUSE Manager。

不論使用哪種方式,Service Pack 移轉都包含以下步驟:

  1. 在您的註冊系統上尋找可能的移轉目標。

  2. 選取一個移轉目標。

  3. 申請並啟用新的儲存庫。

  4. 執行移轉。

移轉目標清單取決於您已安裝和註冊的產品。如果您安裝的延伸沒有新的 SP 可用,則無法向您提供移轉目標。

您的主機可用的移轉目標清單將始終可從 SUSE Customer Center 取回,並取決於所安裝的產品或延伸。

5.3 取消 Service Pack 移轉

在移轉程序中,只能在特定階段取消 Service Pack 移轉:

  1. 在套件升級開始之前,僅對系統進行極少量的變更,例如針對服務和儲存庫的變更。還原 /etc/zypp/repos.d/* 以回復到先前的狀態。

  2. 套件升級開始後,您可以透過使用 Snapper 快照回復到先前的狀態 (請參閱Book “管理指南”, Chapter 7 “使用 Snapper 進行系統復原和快照管理”)。

  3. 選取移轉目標後,SUSE Customer Center 會變更儲存庫資料。若要手動回復此狀態,請使用 SUSEConnect --rollback

5.4 使用線上移轉工具 (YaST) 升級

若要透過 Yast 執行 Service Pack 移轉,請使用線上移轉工具。依預設,YaST 不會從協力廠商儲存庫安裝任何套件。如果某套件是從協力廠商儲存庫安裝的,YaST 會阻止該套件取代為來自 SUSE 的相同套件。

注意
注意:減少安裝大小

執行 Service Pack 移轉時,YaST 會安裝所有推薦的套件。特別是在自訂精簡安裝的情況下,這樣會顯著增加系統的安裝大小。

若要變更此預設行為並只允許必要的套件,請調整 /etc/zypp/zypp.conf 中的 solver.onlyRequires 選項。

solver.onlyRequires = true

另外,請編輯檔案 /etc/zypp/zypper.conf 並變更 installRecommends 選項。

installRecommends=false

這會變更所有套件操作的行為,例如安裝修補程式或新套件。若要變更一次調用的 Zypper 行為,請將 --no-recommends 參數新增至指令行。

若要啟動 Service Pack 移轉,請執行以下操作:

  1. 停用註冊伺服器上所有未使用的延伸,以免將來發生相依性衝突。YaST 稍後會偵測未使用的延伸儲存庫並將其停用,以防您忘記了某個延伸。

  2. 如果您已登入要更新的機器上的某個執行中 GNOME 工作階段,請切換到文字主控台。建議不要從 GNOME 工作階段執行更新。請注意,這並不適用於從遠端機器登入的情況 (除非您正在使用 GNOME 執行 VNC 工作階段)。

  3. 如果您是 LTSS 訂閱者,請確認 LTSS 延伸儲存庫處於使用中狀態。

  4. 執行 YaST 線上更新以取得系統的最新套件更新。

  5. 安裝套件 yast2-migration 及其相依項 (位於 YaST 中的軟體 ›  軟體管理下面)。

  6. 重新啟動 YaST;如果不重新啟動,新安裝的模組將不會顯示在控制中心中。

  7. 在 YaST 中,選擇線上移轉 (根據所升級的 SUSE Linux Enterprise Server 版本,此模組會列於系統軟體類別下)。YaST 將顯示可能的移轉目標和摘要。如果您的系統有多個可用的移轉目標,請從清單中選取一個。

  8. 從清單中選取一個移轉目標,然後按一下下一步繼續操作。

  9. 若移轉工具提供更新儲存庫,則建議您按一下繼續操作。

  10. 如果「線上移轉」工具找到來自 DVD 或本地伺服器的過時儲存庫,強烈建議您將其停用。過時的儲存庫來自先前的 SP。系統會自動移除來自 SUSE Customer Center 或 RMT 的所有舊儲存庫。

  11. 下一步,查看摘要並繼續移轉過程。確認開始更新

  12. 成功移轉後,請重新啟動系統。

5.5 使用 Zypper 升級

若要使用 Zypper 執行 Service Pack 移轉,請使用指令行工具 zypper migration (來自套件 zypper-migration-plugin)。

注意
注意:減少安裝大小

執行 Service Pack 移轉時,YaST 會安裝所有推薦的套件。特別是在自訂精簡安裝的情況下,這樣會顯著增加系統的安裝大小。

若要變更此預設行為並只允許必要的套件,請調整 /etc/zypp/zypp.conf 中的 solver.onlyRequires 選項。

solver.onlyRequires = true

另外,請編輯檔案 /etc/zypp/zypper.conf 並變更 installRecommends 選項。

installRecommends=false

這會變更所有套件操作的行為,例如安裝修補程式或新套件。若要變更一次調用的 Zypper 行為,請將 --no-recommends 參數新增至指令行。

若要啟動 Service Pack 移轉,請執行以下操作:

  1. 如果您已登入要更新的機器上的某個執行中 GNOME 工作階段,請切換到文字主控台。建議不要從 GNOME 工作階段執行更新。請注意,這並不適用於從遠端機器登入的情況 (除非您正在使用 GNOME 執行 VNC 工作階段)。

  2. 若尚未註冊 SUSE Linux Enterprise 機器,請先進行註冊:

    tux > sudo SUSEConnect --regcode YOUR_REGISTRATION_CODE
  3. 如果您是 LTSS 訂閱者,請確認 LTSS 延伸儲存庫處於使用中狀態。

  4. 執行 zypper migration

    tux > sudo zypper migration
    
    Executing 'zypper patch-check --updatestack-only'
    
    Refreshing service 'Basesystem_Module_15_x86_64'.
    Refreshing service 'Desktop_Applications_Module_15_x86_64'.
    Refreshing service 'SUSE_Linux_Enterprise_Server_15_x86_64'.
    Refreshing service 'Server_Applications_Module_15_x86_64'.
    Loading repository data...
    Reading installed packages...
    
    0 patches needed (0 security patches)
    
    Executing 'zypper  refresh'
    
    Repository 'SLE-Module-Basesystem15-Pool' is up to date.                        
    Repository 'SLE-Module-Basesystem15-Updates' is up to date.                     
    Repository 'SLE-Module-Desktop-Applications15-Pool' is up to date.              
    Repository 'SLE-Module-Desktop-Applications15-Updates' is up to date.           
    Repository 'SLE-Product-SLES15-Pool' is up to date.                             
    Repository 'SLE-Product-SLES15-Updates' is up to date.                          
    Repository 'SLE-Module-Server-Applications15-Pool' is up to date.               
    Repository 'SLE-Module-Server-Applications15-Updates' is up to date.            
    All repositories have been refreshed.
    Available migrations:
    
        1 | SUSE Linux Enterprise Server 15 SP2 x86_64
            Basesystem Module 15 SP2 x86_64
            Desktop Applications Module 15 SP2 x86_64
            Python 2 Module 15 SP2 x86_64
            Server Applications Module 15 SP2 x86_64
           
        2 | SUSE Linux Enterprise Server 15 SP1 x86_64
            Basesystem Module 15 SP1 x86_64
            Desktop Applications Module 15 SP1 x86_64
            Python 2 Module 15 SP1 x86_64
            Server Applications Module 15 SP1 x86_64       
    
    [num/q]:

    有關移除過程的一些說明:

    • 如果您的系統有多個可用的移轉目標,Zypper 允許您從清單中選取一個 SP。這與跳過一個或多個 SP 相同。請記住,基本產品 (SLES、SLED) 的線上移轉僅在主要版本的 SP 之間才仍然可用。

    • 依預設,Zypper 會使用 --no-allow-vendor-change 選項,以傳送到 zypper dup。如果某套件是從協力廠商儲存庫安裝的,此選項會阻止該套件取代為來自 SUSE 的相同套件。

    • 如果 Zypper 找到來自 DVD 或本地伺服器的過時儲存庫,強烈建議您將其停用。系統會自動移除舊的 SUSE Customer Center 或 RMT 儲存庫。

  5. 檢閱所有變更,特別是即將移除的套件。輸入 y (要升級之套件的確切數量因系統而異) 繼續:

    266 packages to upgrade, 54 to downgrade, 17 new, 8 to reinstall, 5 to remove, 1 to change arch.
    Overall download size: 285.1 MiB. Already cached: 0 B  After the operation, additional 139.8 MiB will be used.
    Continue? [y/n/? shows all options] (y):

    使用 ShiftPage ↑ShiftPage ↓ 鍵在外圍程序中捲動。

  6. 成功移轉後,請重新啟動系統。

5.6 單純使用 Zypper 升級

如果因無法存取網際網路或註冊伺服器而未能註冊您的系統,則無法使用 YaST 移轉或 zypper migration 移轉至新 Service Pack。在這種情況下,您仍可以透過普通 Zypper 和一些手動互動來移轉至新 Service Pack。

重要
重要:僅適用於未註冊的系統

只有因無法存取網際網路或註冊伺服器而未能註冊的系統才支援透過此路徑移轉至新 Service Pack。例如,位於受特殊保護網路中的機器。如果您的系統已註冊,請使用 YaST 或 Zypper 移轉。

重要
重要:安裝來源

此移轉路徑需要提供新 Service Pack 的安裝來源,應位於所要移轉機器可存取的位置。例如,您可以將來源設定為 RMT 伺服器或 SLP 伺服器。

此外,系統還必須能夠存取所安裝產品版本的最新更新儲存庫。

  1. 如果您已登入要移轉機器上正在執行的圖形工作階段,請登出該工作階段,並切換到文字主控台。建議不要從圖形工作階段內執行更新。請注意,這並不適用於從遠端機器登入的情況 (除非您正在使用 X 執行 VNC 工作階段)。

  2. 更新套件管理工具和 SUSE Linux Enterprise 舊儲存庫:

    tux > sudo zypper patch --updatestack-only
  3. 獲取目前未指定儲存庫的套件 (孤立的套件) 清單。這些套件將不會移轉,且不保證移轉後可正常工作 (因為這些套件相依的其他套件可能已透過某種不再相容的方式進行了變更)。若要獲取該清單,請執行

    tux > sudo zypper packages --orphaned

    仔細檢查該清單,移除所有不再需要的孤立套件。記下所有剩餘的孤立套件,稍後需要進行比較。

  4. 執行以下指令,獲取系統目前已訂閱的所有儲存庫的清單:

    tux > sudo zypper repos -u

    需要重新編寫下面的儲存庫 URL,使其指向新 Service Pack 的相應儲存庫 (需將 SLE-15 取代為 SLE-15-SP1)。如果儲存庫的 URL 如下所示:

    http://rmt.example.com/repo/SUSE/Products/SLE-15-Product-SLES/x86_64/product/

    需將其變更為

    http://rmt.example.com/repo/SUSE/Products/SLE-15-SP1-Product-SLES/x86_64/product/

    需要對已啟用的所有儲存庫執行此操作。同時請考慮對目前已停用的儲存庫執行此操作,以避免未來在啟用這些儲存庫時,系統中包含錯誤的安裝來源。

    若要變更儲存庫 URL,請採取以下做法:

    1. 使用 YaST › 軟體 › 軟體儲存庫。選取一個儲存庫,然後按一下編輯以進行必要變更。針對所有儲存庫重複此程序。

    2. 使用 Zypper. 新增一個新儲存庫,然後移除相應的舊儲存庫:

      tux > sudo zypper addrepo -f URL NAME-15-SP1
      tux > sudo zypper removerepo  NAME
    3. 編輯 /etc/zypp/repos.d 中的儲存庫組態檔案。每個儲存庫由一個組態檔案表示。必須在每個檔案中變更 baseurl 參數的值。

  5. 執行 zypper repos -u 來檢查變更,然後執行以下指令來更新儲存庫:

    tux > sudo zypper refresh -f -s

    如果更新儲存庫失敗,請再次檢查是否輸入了錯誤的 URL。如果無法修復問題,建議停用失敗的儲存庫。

    如果正確設定了所有儲存庫,請再次執行

    tux > sudo zypper refresh -f -s

    ,以確定所有儲存庫都是最新的。

  6. 在開始移轉之前,建議先執行測試執行:

    tux > sudo zypper dup -D --no-allow-vendor-change --no-recommends

    參數 -D 將執行試執行,即進行模擬移轉而不是實際變更系統。如果出現問題,請先修復問題,然後再繼續。如果測試執行成功,請執行以下指令來執行實際移轉

    tux > sudo zypper dup --no-allow-vendor-change --no-recommends

    -no-allow-vendor-change 確定協力廠商 RPM 不會覆寫基礎系統中的 RPM。--no-recommends 選項可確保在起始安裝期間取消選取的套件不會再次新增。

  7. 移轉完成且系統已開機進入新的 Service Pack 版本後,請再次執行孤立套件檢查:

    tux > sudo zypper packages --orphaned

    將新清單與開始移轉之前產生的清單進行比較。如果清單中出現新套件,原因可能是這些套件已移到新 Service Pack 中的其他模組。如果之前的安裝中不包含該模組,則不會更新該套件。

    您可以在 https://scc.suse.com/packages 上檢查套件所屬的模組。使用 zypper addrepo 或 YaST 軟體儲存庫模組新增缺失的模組,然後執行以下指令來更新孤立的套件:

    tux > sudo zypper install --no-recommends LIST OF PACKAGES
  8. 現已成功移轉至新 Service Pack!

5.7 復原 Service Pack

如果 Service Pack 不適用於您,SUSE Linux Enterprise 支援將系統回復到開始 Service Pack 移轉之前的狀態。前提是對 Btrfs 根分割區啟用了快照 (從 SLES 12 開始,這是預設設定)。如需詳細資料,請參閱Book “管理指南”, Chapter 7 “使用 Snapper 進行系統復原和快照管理”

  1. 取得所有 Snapper 快照的清單:

    tux > sudo snapper list

    檢閱輸出以找到在開始 Service Pack 移轉之前剛建立的快照。Description 欄包含相應的說明,Userdata 欄中會將該快照標示為 important。記住 # 欄中的快照編號,以及 Date 欄中該快照的日期。

  2. 重新啟動系統。從開機功能表中選取從唯讀快照啟動開機載入程式,然後選擇上一步中記下的日期和編號所對應的快照。此時會載入第二個開機功能表 (快照中的那個)。選取以 SLES 15 SP2 開頭的項目並將其開機。

  3. 系統會開機進入先前的狀態,並且系統磁碟分割區會以唯讀方式掛接。以 root 身分登入,並檢查您是否選擇了正確的快照。此外,請確認一切如常。請注意,由於根檔案系統以唯讀方式掛接,因此功能可能受限。

    如果出現問題,或者開機的快照不正確,請重新開機並選擇從另一個快照開機 — 到此為止,系統尚未進行任何永久變更。如果快照正確並且依預期運作,請執行以下指令使變更永久生效:

    tux > sudo snapper rollback

    然後重新開機。在開機螢幕上,選擇預設開機項目以重新開機到已恢復的系統。

  4. 檢查是否已正確重設儲存庫組態。此外,檢查是否所有產品均已正確註冊。如果以上任何一項不正確,則稍後可能無法再有效地執行系統更新,或者可能會使用錯誤的套件儲存庫更新系統。

    請先確認系統可以存取網際網路,再開始此程序。

    1. 執行以下指令以重新整理服務和儲存庫:

      tux > sudo zypper ref -fs
    2. 執行以下指令以獲得使用中儲存庫的清單:

      tux > sudo zypper lr

      仔細檢查此指令的輸出。為該次更新新增的服務和儲存庫不應包含在清單中。例如,如果您是從 SLES15 SP1 復原至 SLES15,則清單中必須包含 SLES15 儲存庫,而不包含 SLES15-SP1 儲存庫。

      如有錯誤的儲存庫列出,請將其刪除,必要時,請用與您的產品或 Service Pack 版本相符的版本取代它們。如需受支援移轉路徑的儲存庫清單,請參閱第 2.3 節 「模組相依項和生命週期」。(請注意,沒有必要手動介入,因為儲存庫會自動更新,但最好進行驗證並完成所有必要的修正。)

    3. 最後,透過執行以下指令檢查所有已安裝產品的註冊狀態:

      tux > sudo SUSEConnect --status

      所有產品都應該報告為已註冊。若非如此,請執行以下指令以修復註冊:

      tux > sudo SUSEConnect --rollback

現在,您已成功將系統回復到就在開始 Service Pack 移轉之前擷取的狀態。

5.8 使用 SUSE Manager 升級

SUSE Manager 是一個伺服器解決方案,用於提供適用於 SUSE Linux Enterprise 用戶端的更新、修補程式和安全性修正程式。它隨附一組工具和一個 Web 式使用者介面,用於執行管理任務。如需 SUSE Manager 的詳細資訊,請參閱https://www.suse.com/products/suse-manager/

SP 移轉允許從某個 Service Pack (SP) 移轉至同一主要版本中的另一個 Service Pack (例如,從 SLES 15 GA 移轉至 SLES 15 SP1)。

如果您的機器由 SUSE Manager 管理,請依據 SUSE Manager 文件所述更新機器。https://documentation.suse.com/suma/ 上的《SUSE Manager Upgrade Guide》(SUSE Manager 升級指南) 中介紹了用戶端移轉程序。

5.9 從 openSUSE Leap 升級至 SUSE Linux Enterprise Server

您可在線上將 openSUSE 安裝升級至 SUSE Linux Enterprise Server。此程序與第 5.5 節 「使用 Zypper 升級」類似,但需要執行額外的步驟。在生產系統上執行此程序之前,建議您先在複製了生產系統設定的測試系統上執行此程序。

若要查看支援移轉的 openSUSE Leap 版本,請閱讀第 1.1 節 「支援的 SLES 15 SP2 升級路徑」

警告
警告:並非所有 openSUSE 套件都可移轉

openSUSE 儲存庫提供的套件比 SUSE Linux Enterprise Server 儲存庫提供的套件要多。如果您安裝了 openSUSE 儲存庫中的任何套件,移轉後,它們將不再接收更新。如果執行下面的程序,將會移除這些套件。

請確定 SUSE Linux Enterprise Server 儲存庫中提供了系統運作所需的全部套件。您也可以檢查 SUSE Package Hub 儲存庫中是否提供了這些套件。如需詳細資料,請參閱Book “部署指南 ”, Chapter 20 “安裝模組、延伸和協力廠商附加產品”, Section 20.3 “SUSE Package Hub”

若要從 openSUSE Leap 移轉,請執行以下程序:

  1. 切換到 TTY,例如,按 CtrlAltF1。然後以 root 身分登入。

  2. 安裝 SUSEConnect

    root # zypper in SUSEConnect
  3. 在 SCC 中註冊,以獲得 SUSE Linux Enterprise Server 儲存庫。

    root # SUSEConnect -r REGISTRATION_CODE -p SLES/15.1/x86_64
  4. 列出並停用系統上的所有 openSUSE 儲存庫。

    root # zypper lr
    root # zypper mr -d REPO_IDS

    用所有已啟用 openSUSE 儲存庫的空格分隔清單取代 REPO_IDS

  5. 現在新增安裝所需的模組。

    root # SUSEConnect --list-extensions
    [...]
    root # SUSEConnect -p sle-module-basesystem/15.1/x86_64

    為了取代大部分 Leap 套件,我們建議啟用 Basesystem、Desktop Applications、Server Applications 和 Legacy 模組。此外,我們建議啟用 SUSE Package Hub。

  6. 將安裝的套件移轉至 SUSE Linux Enterprise Server 儲存庫。

    root # zypper dup --force-resolution
  7. 移除孤立的套件。

    root # zypper rm $(zypper --no-refresh packages --orphaned | gawk '{print $5}' | tail -n +5)
  8. 最後,將系統重新開機。

6 向後移植原始程式碼

SUSE 廣泛使用了向後移植,例如,將目前軟體修補程式和功能移轉到過去發行的 SUSE Linux Enterprise 套件中。本章中的資訊解釋為何透過比較版本號碼來判斷 SUSE Linux Enterprise 軟體套件的功能和安全性的方法有誤導性。本章還會說明 SUSE 如何在確保系統軟體安全且最新的同時,保持 SUSE Linux Enterprise 產品上所執行應用程式軟體的相容性。您還將瞭解如何查看 SUSE Linux Enterprise 系統軟體中實際解決了哪些公眾安全性問題,以及軟體的目前狀態。

6.1 回移的原因

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

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

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

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

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

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

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

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

我們致力於在多種企業軟體考量因素之間取得良好平衡,SUSE 廣泛使用了向後移植。其中,最重要的考量因素有:

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

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

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

  • 讓 SUSE 開發人員專注於開發下一個產品版本,而不是顧此失彼地將注意力分散在眾多不同的版次上。

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

6.2 反對回移的原因

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

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

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

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

在涉及回移時,版本號碼的這種限制值可能會導致問題的一個特定方面就是使用安全性掃描工具時。某些安全性弱點掃描工具 (或在此類工具中進行的特定測試) 僅針對版本資訊操作。因此,在涉及向後移植時,這些工具和測試很容易產生誤判 (將某個軟體錯誤地識別為有弱點)。評估安全性掃描工具產生的報告時,請務必檢查其中的項目是以版本號碼為依據,還是以實際的弱點測試為依據。

6.4 檢查已修正的錯誤和向後移植的功能

有多個位置用於儲存已向後移植錯誤修補程式和功能的相關資訊:

  • 套件的變更記錄:

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

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

  • 套件變更記錄可能包含類似於參考 SUSE Bugzilla 追蹤系統中的 bsc#1234 (Bugzilla Suse.Com) 之類的項目,或者包含指向其他錯誤追蹤系統的連結。由於機密性規則,您可能無法存取所有此類資訊。

  • 套件中可能包含 /usr/share/doc/PACKAGENAME/README.SUSE 檔案,該檔案包含 SUSE 套件特定的一般高階資訊。

  • RPM 來源套件包含的修補程式可在將一般二進位 RPM 建立為獨立檔案期間加以套用;如果您熟悉如何讀取源代碼,可以解譯這些獨立檔案。請參閱Book “管理指南”, Chapter 6 “使用指令行工具管理軟體”, Section 6.1.3.5 “安裝或下載來源套件”,瞭解如何安裝 SUSE Linux Enterprise 軟體的來源。並參閱Book “管理指南”, Chapter 6 “使用指令行工具管理軟體”, Section 6.2.5 “安裝與編譯來源套件”,瞭解如何在 SUSE Linux Enterprise 上建構套件。請參閱《Maximum RPM》(充分利用 RPM) 一書,瞭解有關 SUSE Linux Enterprise 軟體套件建構的詳細資訊。

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