跳至內容跳至頁面導覽:上一頁 [access key p]/下一頁 [access key n]
documentation.suse.com / SUSE Linux Enterprise Server 文件 / 部署指南  / 起始系統組態 / 安裝多個核心版本
適用範圍 SUSE Linux Enterprise Server 12 SP5

15 安裝多個核心版本

SUSE Linux Enterprise Server 支援多個核心版本的平行安裝。安裝第二個核心時,將會自動建立一個開機項目和一個 initrd,因此無需進一步的手動組態。將機器重新開機時,新增的核心可用做額外的開機選項。

使用此功能,您可以安全測試核心更新,同時,還能夠始終回復到經過驗證的前一核心。執行這種操作時,請不要使用更新工具 (例如 YaST 線上更新或更新程式 Applet),而應該遵照本章中所述的程序。

警告
警告:支援授權

請注意,如果您安裝自行編譯的核心或協力廠商核心,則會喪失所有的支援授權。僅支援 SUSE Linux Enterprise Server 隨附的核心,以及透過官方更新通道為 SUSE Linux Enterprise Server 提供的核心。

提示
提示:檢查開機載入程式組態核心

建議在安裝其他核心後檢查您的開機載入程式組態,以設定您選擇的預設開機項目。如需相關資訊,請參閱第 12.3 節 「使用 YaST 設定開機載入器」

15.1 啟用和設定多版本支援

SUSE Linux Enterprise Server 12 起,系統預設支援安裝套裝軟體的多個版本 (多版本支援)。若要驗證此設定,請執行下列步驟︰

  1. root 身分使用所選的編輯器開啟 /etc/zypp/zypp.conf

  2. 搜尋字串 multiversion。如果為所有支援此功能的核心套件啟用多版本,下面一行可能會取消註解︰

    multiversion = provides:multiversion(kernel)
  3. 若要對特定的核心類別限制多版本支援,請將逗號分隔的套件名稱清單新增到 /etc/zypp/zypp.conf 中的 multiversion 選項 — 例如

    multiversion = kernel-default,kernel-default-base,kernel-source
  4. 儲存您所做的變更。

警告
警告:核心模組套件 (KMP)

確定還為新更新的核心安裝了所需的廠商提供的核心模組 (核心模組套件)。核心更新程序不會發出有關最終缺少核心模組的警告,因為系統上保留的舊核心仍能滿足套件要求。

15.1.1 自動刪除未使用的核心

如果您經常測試已啟用多版本支援的新核心,開機功能表很快就會變得雜亂無序。由於 /boot 分割區的空間通常有限,因此,您還可能會遇到 /boot 溢位的問題。您可以使用 YaST 或 Zypper 手動刪除未使用的核心版本 (如下文所述),也可以將 libzypp 設定為自動刪除不再使用的核心。預設不會刪除核心。

  1. root 身分使用所選的編輯器開啟 /etc/zypp/zypp.conf

  2. 搜尋字串 multiversion.kernels,並透過取消註解相應的行來啟用此選項。此選項使用包含以下值的逗號分隔清單︰

    4.4.126-48 保留具有指定版本號碼的核心

    latest 保留具有最高版本號碼的核心

    latest-N 保留版本號碼排在第 N 位的核心

    running 保留執行中的核心

    oldest 保留具有最低版本號碼的核心 (SUSE Linux Enterprise Server 最初隨附的核心)

    oldest+N 保留版本號碼排在倒數第 N 位的核心

    以下是一些範例

    multiversion.kernels = latest,running

    保留最新核心以及目前正在執行的核心。這類似於不啟用多版本功能,不過,舊核心在下一次重新開機後才會移除,而不是在安裝後立即移除。

    multiversion.kernels = latest,latest-1,running

    保留最新的兩個核心,以及目前正在執行的核心。

    multiversion.kernels = latest,running,4.4.126-48

    保留最新的核心、目前正在執行的核心,以及 4.4.126-48

    提示
    提示:保留執行中的核心

    除非您使用的是特殊的設定,否則一律將核心標示為執行中

    如果不保留執行中的核心,系統在更新核心時會將其刪除。而這意味著執行中核心的所有模組也會被刪除,並且無法再載入。

    如果您決定不保留執行中的核心,則在升級核心後永遠要立即重新開機,以免模組發生問題。

15.1.2 使用案例︰僅在重新開機後刪除舊核心

您想要確認只在系統成功用新核心重新開機之後才刪除舊核心。

變更 /etc/zypp/zypp.conf 中的以下行︰

multiversion.kernels = latest,running

上面的參數告知系統要保留最新核心以及執行中的核心 (前提是兩者不同)。

15.1.3 使用案例︰保留舊核心做為後援

您想要保留一或多個核心版本,以便有一或多個備用的核心。

如果需要使用核心進行測試,則這樣做可能十分有用。如果出現了故障 (例如,您的機器不能開機),您仍可以使用一或多個已知正常的核心版本。

變更 /etc/zypp/zypp.conf 中的以下行︰

multiversion.kernels = latest,latest-1,latest-2,running

安裝新核心之後,當您將系統重新開機時,系統將保留三個核心︰目前的核心 (設定為 latest,running),以及它的前兩任 (設定為 latest-1latest-2)。

15.1.4 使用案例︰保留特定的核心版本

您要執行定期系統更新和安裝新的核心版本。但是,您還要編譯自己的核心版本,並要確認系統將保留這些版本。

變更 /etc/zypp/zypp.conf 中的以下行︰

multiversion.kernels = latest,3.12.28-4.20,running

在安裝新核心後,將系統重新開機時,系統會保留兩個核心︰新的執行中核心 (設定為 latest,running),以及您自己編譯的核心 (設定為 3.12.28-4.20)。

15.2 使用 YaST 安裝/移除多個核心版本

  1. 啟動 YaST,然後透過軟體 › 軟體管理開啟軟體管理員。

  2. 選擇檢視 › 套件群組 › 多版本套件列出可以提供多個版本的所有套件。

    YaST 軟體管理員︰多版本檢視
    圖 15.1︰ YaST 軟體管理員︰多版本檢視
  3. 在底部窗格的左側選取一個套件並開啟其版本索引標籤。

  4. 若要安裝某個套件,請按一下它旁邊的核取方塊。綠色核取記號表示已選取相應的套件進行安裝。

    若要移除某個已安裝的套件 (以白色核取記號標示),請按一下它旁邊的核取方塊,直到出現紅色的 X,這表示已選擇移除該套件。

  5. 按一下接受開始安裝。

15.3 使用 Zypper 安裝/移除多個核心版本

  1. 使用指令 zypper se -s 'kernel*' 顯示所有可用核心套件的清單︰

    S | Name           | Type       | Version         | Arch   | Repository
    --+----------------+------------+-----------------+--------+-------------------
    v | kernel-default | package    | 2.6.32.10-0.4.1 | x86_64 | Alternative Kernel
    i | kernel-default | package    | 2.6.32.9-0.5.1  | x86_64 | (System Packages)
      | kernel-default | srcpackage | 2.6.32.10-0.4.1 | noarch | Alternative Kernel
    i | kernel-default | package    | 2.6.32.9-0.5.1  | x86_64 | (System Packages)
    ...
  2. 安裝時指定確切的版本︰

    zypper in kernel-default-2.6.32.10-0.4.1
  3. 解除安裝核心時,使用指令 zypper se -si 'kernel*' 可以列出安裝的所有核心,使用 zypper rm 套件名稱版本可以移除該套件。