Centos7升級到最新核心版本操作過程
雖然有些人使用 Linux 來表示整個作業系統,但要注意的是,嚴格地來說,Linux 只是個核心。另一方面,發行版是一個完整功能的系統,它建立在核心之上,具有各種各樣的應用程式工具和庫。
在正常操作期間,核心負責執行兩個重要任務:
- 作為硬體和系統上執行的軟體之間的介面。
- 儘可能高效地管理系統資源。
為此,核心通過內建的驅動程式或以後可作為模組安裝的驅動程式與硬體通訊。
例如,當你計算機上執行的程式想要連線到無線網路時,它會將該請求提交給核心,後者又會使用正確的驅動程式連線到網路。
隨著新的裝置和技術定期出來,如果我們想充分利用它們,保持最新的核心就很重要。此外,更新核心將幫助我們利用新的核心函式,並保護自己免受先前版本中發現的漏洞的攻擊。
準備好了在 CentOS 7 或其衍生產品(如 RHEL 7和 Fedora)上更新核心了麼?如果是這樣,請繼續閱讀!
步驟 1:檢查已安裝的核心版本
讓我們安裝了一個發行版,它包含了一個特定版本的核心。為了展示當前系統中已安裝的版本,我們可以:
#uname-sr
下面的圖片展示了在一臺 CentOS 7 伺服器上的輸出資訊:
在 CentOS 7 上檢查核心版本
如果我們現在進入 https://www.kernel.org/,在撰寫本文時,我們看到最新的核心版本是4.10.1(其他版本可以從同一網站獲得)。
還要考慮的一個重要的事情是核心版本的生命週期 - 如果你當前使用的版本接近它的生命週期結束,那麼在該日期後將不會提供更多的 bug 修復。關於更多資訊,請參閱
步驟 2:在 CentOS 7 中升級核心
大多數現代發行版提供了一種使用 yum 等包管理系統和官方支援的倉庫升級核心的方法。
但是,這隻會升級核心到倉庫中可用的最新版本 - 而不是在 https://www.kernel.org/ 中可用的最新版本。不幸的是,Red Hat 只允許使用前者升級核心。
與 Red Hat 不同,CentOS 允許使用 ELRepo,這是一個第三方倉庫,可以將核心升級到最新版本。
要在 CentOS 7 上啟用 ELRepo 倉庫,請執行:
# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# rpm
在 CentOS 7 啟用 ELRepo
倉庫啟用後,你可以使用下面的命令列出可用的核心相關包:
#yum--disablerepo="*"--enablerepo="elrepo-kernel"list available
yum - 找出可用的核心版本
接下來,安裝最新的主線穩定核心:
#yum--enablerepo=elrepo-kernel install kernel-ml
在 CentOS 7 中安裝最新的核心版本
最後,重啟機器並應用最新核心,接著執行下面的命令檢查最新核心版本:
uname-sr
驗證核心版本
步驟 3:設定 GRUB 預設的核心版本
為了讓新安裝的核心成為預設啟動選項,你需要如下修改 GRUB 配置:
開啟並編輯 /etc/default/grub
並設定 GRUB_DEFAULT=0
。意思是 GRUB 初始化頁面的第一個核心將作為預設核心。
GRUB_TIMEOUT=5
GRUB_DEFAULT=0
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rd.lvm.lv=centos/swap crashkernel=auto rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
接下來執行下面的命令來重新建立核心配置。
# grub2-mkconfig -o /boot/grub2/grub.cfg
在 GRUB 中設定核心
重啟並驗證最新的核心已作為預設核心。
在 CentOS 7 中啟動預設核心版本
恭喜你!你已經在 CentOS 7 中升級核心了!
總結
在本文中,我們解釋瞭如何輕鬆升級系統上的 Linux 核心。我們還沒講到另外一個方法,因為它涉及從原始碼編譯核心,這可以寫成一本書,並且不推薦在生產系統上這麼做。
雖然它是最好的學習體驗之一,並且允許細粒度配置核心,但是你可能會讓你的系統不可用,並且可能必須從頭重新安裝它。