詳解如何在 CentOS 7 中安裝或升級(jí)最新的內(nèi)核
雖然有些人使用 Linux 來(lái)表示整個(gè)操作系統(tǒng),但要注意的是,嚴(yán)格地來(lái)說(shuō),Linux 只是個(gè)內(nèi)核。另一方面,發(fā)行版是一個(gè)完整功能的系統(tǒng),它建立在內(nèi)核之上,具有各種各樣的應(yīng)用程序工具和庫(kù)。
在正常操作期間,內(nèi)核負(fù)責(zé)執(zhí)行兩個(gè)重要任務(wù):
- 作為硬件和系統(tǒng)上運(yùn)行的軟件之間的接口。
- 盡可能高效地管理系統(tǒng)資源。
為此,內(nèi)核通過(guò)內(nèi)置的驅(qū)動(dòng)程序或以后可作為模塊安裝的驅(qū)動(dòng)程序與硬件通信。
例如,當(dāng)你計(jì)算機(jī)上運(yùn)行的程序想要連接到無(wú)線網(wǎng)絡(luò)時(shí),它會(huì)將該請(qǐng)求提交給內(nèi)核,后者又會(huì)使用正確的驅(qū)動(dòng)程序連接到網(wǎng)絡(luò)。
隨著新的設(shè)備和技術(shù)定期出來(lái),如果我們想充分利用它們,保持最新的內(nèi)核就很重要。此外,更新內(nèi)核將幫助我們利用新的內(nèi)核函數(shù),并保護(hù)自己免受先前版本中發(fā)現(xiàn)的漏洞的攻擊。
準(zhǔn)備好了在 CentOS 7 或其衍生產(chǎn)品(如 RHEL 7和 Fedora)上更新內(nèi)核了么?如果是這樣,請(qǐng)繼續(xù)閱讀!
步驟 1:檢查已安裝的內(nèi)核版本
讓我們安裝了一個(gè)發(fā)行版,它包含了一個(gè)特定版本的內(nèi)核。為了展示當(dāng)前系統(tǒng)中已安裝的版本,我們可以:
# uname -sr
下面的圖片展示了在一臺(tái) CentOS 7 服務(wù)器上的輸出信息:
如果我們現(xiàn)在進(jìn)入 https://www.kernel.org/,在撰寫本文時(shí),我們看到最新的內(nèi)核版本是4.10.1(其他版本可以從同一網(wǎng)站獲得)。
還要考慮的一個(gè)重要的事情是內(nèi)核版本的生命周期 - 如果你當(dāng)前使用的版本接近它的生命周期結(jié)束,那么在該日期后將不會(huì)提供更多的 bug 修復(fù)。關(guān)于更多信息,請(qǐng)參閱內(nèi)核發(fā)布頁(yè)。
步驟 2:在 CentOS 7 中升級(jí)內(nèi)核
大多數(shù)現(xiàn)代發(fā)行版提供了一種使用yum 等包管理系統(tǒng)和官方支持的倉(cāng)庫(kù)升級(jí)內(nèi)核的方法。
但是,這只會(huì)升級(jí)內(nèi)核到倉(cāng)庫(kù)中可用的最新版本 - 而不是在https://www.kernel.org/ 中可用的最新版本。不幸的是,Red Hat 只允許使用前者升級(jí)內(nèi)核。
與 Red Hat 不同,CentOS 允許使用 ELRepo,這是一個(gè)第三方倉(cāng)庫(kù),可以將內(nèi)核升級(jí)到最新版本。
要在 CentOS 7 上啟用 ELRepo 倉(cāng)庫(kù),請(qǐng)運(yùn)行:
# 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
倉(cāng)庫(kù)啟用后,你可以使用下面的命令列出可用的內(nèi)核相關(guān)包:
# yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
接下來(lái),安裝最新的主線穩(wěn)定內(nèi)核:
# yum --enablerepo=elrepo-kernel install kernel-ml
最后,重啟機(jī)器并應(yīng)用最新內(nèi)核,接著運(yùn)行下面的命令檢查最新內(nèi)核版本:
uname -sr
步驟 3:設(shè)置 GRUB 默認(rèn)的內(nèi)核版本
為了讓新安裝的內(nèi)核成為默認(rèn)啟動(dòng)選項(xiàng),你需要如下修改 GRUB 配置:
打開并編輯 /etc/default/grub 并設(shè)置 GRUB_DEFAULT=0。意思是 GRUB 初始化頁(yè)面的第一個(gè)內(nèi)核將作為默認(rèn)內(nèi)核。
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"
接下來(lái)運(yùn)行下面的命令來(lái)重新創(chuàng)建內(nèi)核配置。
# grub2-mkconfig -o /boot/grub2/grub.cfg
重啟并驗(yàn)證最新的內(nèi)核已作為默認(rèn)內(nèi)核。
恭喜你!你已經(jīng)在 CentOS 7 中升級(jí)內(nèi)核了!
總結(jié)
在本文中,我們解釋了如何輕松升級(jí)系統(tǒng)上的 Linux 內(nèi)核。我們還沒講到另外一個(gè)方法,因?yàn)樗婕皬脑创a編譯內(nèi)核,這可以寫成一本書,并且不推薦在生產(chǎn)系統(tǒng)上這么做。
雖然它是最好的學(xué)習(xí)體驗(yàn)之一,并且允許細(xì)粒度配置內(nèi)核,但是你可能會(huì)讓你的系統(tǒng)不可用,并且可能必須從頭重新安裝它。
上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
CentOS Linux系統(tǒng)搭建Android開發(fā)環(huán)境詳細(xì)介紹
這篇文章主要介紹了CentOS Linux系統(tǒng)搭建Android開發(fā)環(huán)境詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下2016-11-11在 Ubuntu 15.04/CentOS 7 中安裝 Lighttp
以下是我們?cè)谶\(yùn)行 Ubuntu 15.04 或 CentOS 7 Linux 發(fā)行版的機(jī)器上安裝 Lighttpd Web 服務(wù)器的簡(jiǎn)要流程,需要的朋友可以參考下2017-04-04Centos環(huán)境下安裝Zend optimizer 3.3.9的方法
這篇文章主要介紹了Centos環(huán)境下安裝Zend optimizer 3.3.9的方法,簡(jiǎn)單說(shuō)明了CentOS服務(wù)器環(huán)境下安裝Zend optimizer 3.3.9的相關(guān)下載、解壓、安裝、配置等操作步驟與相關(guān)注意事項(xiàng),需要的朋友可以參考下2018-03-03Linux基礎(chǔ)之xargs命令的入門實(shí)例
你是否遇到過(guò)這樣的情況,需要一遍又一遍地對(duì)多個(gè)文件執(zhí)行同樣的操作?如果有那你肯定會(huì)深有感觸這是多么的無(wú)聊和效率低下。還好有種簡(jiǎn)單的方式,可以使用xargs命令解決這個(gè)煩惱。本文介紹了Linux基礎(chǔ)學(xué)習(xí)之xargs命令入門的相關(guān)資料,需要的朋友可以參考下。2017-12-12linux查看硬盤大小與掛載硬盤的實(shí)現(xiàn)
這篇文章主要介紹了linux查看硬盤大小與掛載硬盤的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09