SUSE Linux Enterprise Server 支援多個核心版本的平行安裝。安裝第二個核心時,將會自動建立一個開機項目和一個 initrd,因此無需進一步的手動組態。將機器重新開機時,新增的核心可用做額外的開機選項。
使用此功能,您可以安全測試核心更新,同時,還能夠始終回復到經過驗證的前一核心。執行這種操作時,請不要使用更新工具 (例如 YaST 線上更新或更新程式 Applet),而應該遵照本章中所述的程序。
請注意,如果您安裝自行編譯的核心或協力廠商核心,則會喪失所有的支援授權。僅支援 SUSE Linux Enterprise Server 隨附的核心,以及透過官方更新通道為 SUSE Linux Enterprise Server 提供的核心。
建議在安裝其他核心後檢查您的開機載入程式組態,以設定您選擇的預設開機項目。如需相關資訊,請參閱第 12.3 節「使用 YaST 設定開機載入器」, 第 12 章「開機載入程式 GRUB 2」, 管理指南。
SUSE Linux Enterprise 12 上預設啟用軟體套件的多個版本安裝 (多版本支援)。若要驗證此設定,請執行下列步驟︰
以 root 身分使用所選的編輯器開啓 /etc/zypp/zypp.conf。
搜尋字串 multiversion。如果為所有支援此功能的核心套件啟用多版本,下面一行可能會取消註解︰
multiversion = provides:multiversion(kernel)
若要對特定的核心類別限制多版本支援,請將逗號分隔的套件名稱清單新增到 /etc/zypp/zypp.conf 中的 multiversion 選項 — 例如
multiversion = kernel-default,kernel-default-base,kernel-source
儲存您所做的變更。
確定還為新更新的核心安裝了所需的廠商提供的核心模組 (核心模組套件)。核心更新程序不會發出有關最終缺少核心模組的警告,因為系統上保留的舊核心仍能滿足套件要求。
如果您經常測試已啟用多版本支援的新核心,開機功能表很快就會變得雜亂無序。由於 /boot 分割區的空間通常有限,因此,您還可能會遇到 /boot 溢位的問題。您可以使用 YaST 或 Zypper 手動刪除未使用的核心版本 (如下文所述),也可以將 libzypp 設定為自動刪除不再使用的核心。預設不會刪除核心。
以 root 身分使用所選的編輯器開啓 /etc/zypp/zypp.conf。
搜尋字串 multiversion.kernels,並透過取消註解相應的行來啟用此選項。此選項使用包含以下值的逗號分隔清單:
3.12.24-7.1︰.
保留具有指定版本號碼的核心
最新:
保留具有最高版本號碼的核心
latest-N:.
保留版本號碼排在第 N 位的核心
執行:
保留執行中的核心
oldest:.
保留具有最低版本號碼的核心 (SUSE Linux Enterprise Server 最初隨附的核心)
oldest+N.
保留版本號碼排在倒數第 N 位的核心
以下是一些範例
multiversion.kernels = latest,running
保留最新核心以及目前正在執行的核心。這類似於完全不啟用多版本功能,不過,舊核心在下一次重新開機後才會移除,而不是在安裝後立即移除。
multiversion.kernels = latest,latest-1,running
保留最新的兩個核心,以及目前正在執行的核心。
multiversion.kernels = latest,running,3.12.25.rc7-test
保留最新的核心、目前正在執行的核心,以及 3.12.25.rc7-test。
執行中的核心
除非使用特殊設定,否則您可能希望永遠保留執行中的核心。如果不保留執行中的核心,將在核心更新時將其刪除。因此,更新後必須立即將系統重新開機,因為刪除後便可能無法再載入目前正在執行的核心模組。
啟動 YaST,然後透過 › 開啓軟體管理員。
選擇 › › 列出可以提供多個版本的所有套件。
在底部窗格的左側選取一個套件並開啓其索引標籤。
若要安裝某個套件,請按一下其相應的核取方塊。綠色核取記號表示已選取相應的套件進行安裝。
若要移除某個已安裝的套件 (以白色核取記號標示),請按一下其相應的核取方塊,直到出現紅色的 X,這表示已選取移除該套件。
按一下開始安裝。
使用指令 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) ...
安裝時指定確切的版本:
zypper in kernel-default-2.6.32.10-0.4.1
解除安裝核心時,使用指令 zypper se -si 'kernel*' 可以列出安裝的所有核心,使用 zypper rm 套件名稱版本 可以移除該套件。