如何在 CentOS 7 中安裝或升級最新的內核
準備好了在 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 -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.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 內核。我們還沒講到另外一個方法,因為它涉及從源代碼編譯內核,這可以寫成一本書,並且不推薦在生產系統上這麼做。
雖然它是最好的學習體驗之一,並且允許細粒度配置內核,但是你可能會讓你的系統不可用,並且可能必須從頭重新安裝它。
如果你仍然有興趣構建內核作為學習經驗,你可以在 Kernel Newbies頁面中獲得指導。
一如既往,如果你對本文有任何問題或意見,請隨時使用下面的評論欄。
作者簡介:
我是一個計算機上癮的傢伙,並且是開源和 Linux 系統軟體的粉絲,有大約 4 年的 Linux 發行版桌面、伺服器和 bash 腳本的經驗。
via: http://www.tecmint.com/install-upgrade-kernel-version-in-centos-7/
作者:Matei Cezar 譯者:geekpi 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive