閱讀55 返回首頁    go 阿裏雲 go 技術社區[雲棲]


如何在 CentOS 7 中安裝或升級最新的內核

雖然有些人使用 Linux 來表示整個操作係統,但要注意的是,嚴格地來說,Linux 隻是個內核。另一方麵,發行版是一個完整功能的係統,它建立在內核之上,具有各種各樣的應用程序工具和庫。

在正常操作期間,內核負責執行兩個重要任務:

  1. 作為硬件和係統上運行的軟件之間的接口。
  2. 盡可能高效地管理係統資源。

為此,內核通過內置的驅動程序或以後可作為模塊安裝的驅動程序與硬件通信。

例如,當你計算機上運行的程序想要連接到無線網絡時,它會將該請求提交給內核,後者又會使用正確的驅動程序連接到網絡。

隨著新的設備和技術定期出來,如果我們想充分利用它們,保持最新的內核就很重要。此外,更新內核將幫助我們利用新的內核函數,並保護自己免受先前版本中發現的漏洞的攻擊。

準備好了在 CentOS 7 或其衍生產品(如 RHEL 7和 Fedora)上更新內核了麼?如果是這樣,請繼續閱讀!

步驟 1:檢查已安裝的內核版本

讓我們安裝了一個發行版,它包含了一個特定版本的內核。為了展示當前係統中已安裝的版本,我們可以:


  1. # uname -sr

下麵的圖片展示了在一台 CentOS 7 服務器上的輸出信息:

在 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 倉庫,請運行:


  1. # rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
  2. # rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

在 CentOS 7 啟用 ELRepo

在 CentOS 7 啟用 ELRepo

倉庫啟用後,你可以使用下麵的命令列出可用的內核相關包:


  1. # yum --disablerepo="*" --enablerepo="elrepo-kernel" list available

yum - 找出可用的內核版本

yum - 找出可用的內核版本

接下來,安裝最新的主線穩定內核:


  1. # yum --enablerepo=elrepo-kernel install kernel-ml

在 CentOS 7 中安裝最新的內核版本

在 CentOS 7 中安裝最新的內核版本

最後,重啟機器並應用最新內核,接著運行下麵的命令檢查最新內核版本:


  1. uname -sr

驗證內核版本

驗證內核版本

步驟 3:設置 GRUB 默認的內核版本

為了讓新安裝的內核成為默認啟動選項,你需要如下修改 GRUB 配置:

打開並編輯 /etc/default/grub 並設置 GRUB_DEFAULT=0。意思是 GRUB 初始化頁麵的第一個內核將作為默認內核。


  1. GRUB_TIMEOUT=5
  2. GRUB_DEFAULT=0
  3. GRUB_DISABLE_SUBMENU=true
  4. GRUB_TERMINAL_OUTPUT="console"
  5. GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rd.lvm.lv=centos/swap crashkernel=auto rhgb quiet"
  6. GRUB_DISABLE_RECOVERY="true"

接下來運行下麵的命令來重新創建內核配置。


  1. # grub2-mkconfig -o /boot/grub2/grub.cfg

在 GRUB 中設置內核

在 GRUB 中設置內核

重啟並驗證最新的內核已作為默認內核。

在 CentOS 7 中啟動默認內核版本

在 CentOS 7 中啟動默認內核版本

恭喜你!你已經在 CentOS 7 中升級內核了!

總結

在本文中,我們解釋了如何輕鬆升級係統上的 Linux 內核。我們還沒講到另外一個方法,因為它涉及從源代碼編譯內核,這可以寫成一本書,並且不推薦在生產係統上這麼做。

雖然它是最好的學習體驗之一,並且允許細粒度配置內核,但是你可能會讓你的係統不可用,並且可能必須從頭重新安裝它。

原文發布時間為:2017-03-17

本文來自雲棲社區合作夥伴“Linux中國”

最後更新:2017-05-24 16:02:10

  上一篇:go  《STM32庫開發實戰指南:基於STM32F4》----2.5 下載程序
  下一篇:go  如何在 Amazon AWS 上設置一台 Linux 服務器