Centos核心版本升級
關於核心
核心進行的是應用軟體和計算機硬體的互動工作
核心進行的是應用軟體和計算機硬體的互動工作在電腦科學中,核心(英語:kernel)又稱核心,是一個計算機程式,用來管理軟體發出的資料I/O(輸入與輸出)要求,將這些要求轉譯為資料處理的指令,交由中央處理器(CPU)及計算機中其他電子元件進行處理,是現代作業系統中最基本的部分。
它是為眾多應用程式提供對計算機硬體的安全訪問的一部分軟體,這種訪問是有限的,並由核心決定一個程式在什麼時候對某部分硬體操作多長時間。直接對硬體操作是非常複雜的。所以核心通常提供一種硬體抽象的方法,來完成這些操作。通過程序間通訊機制及系統呼叫,應用程序可間接控制所需的硬體資源(特別是處理器及IO裝置)。
1、Centos 6.x系統
1.1 安裝elrepo
yum update -y # 匯入公鑰 rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org # 安裝6版本的ELRepo rpm -Uvh elrepo-release-6-8.el6.elrepo.noarch.rpm # 安裝新版本核心 yum --enablerepo=elrepo-kernel install kernel-lt -y
目前centos6版本中僅提供有kernel-lt 版本核心,最新核心為 4.4.17(截至20190121)
https://elrepo.org/linux/kernel/el6/x86_64/RPMS/
1.2 啟用新版本核心
cp /etc/grub.conf{,.bak} vim /etc/grub.conf 將其中的default修改為0
1.3 修改完成後重啟伺服器
reboot
2、Centos 7.x系統
2.1 安裝elrepo
yum update -y # 匯入公鑰 rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org # 安裝7.x版本的ELRepo rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm # 安裝新版本核心 yum --enablerepo=elrepo-kernel install kernel-lt -y
目前為cetnos 7.x提供了ml和lt兩個版本的核心,可以根據需求進行選擇:
https://elrepo.org/linux/kernel/el7/x86_64/RPMS/
2.2 修改grub檔案
Centos7.x 核心升級完畢後,需要修改核心的啟動順序:
vim /etc/default/grub GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=saved #把這裡的saved改成0 GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet net.ifnames=0" GRUB_DISABLE_RECOVERY="true"
接下來還需要執行grub2-mkconfig
命令來重新建立核心配置,命令是grub2-mkconfig -o /boot/grub2/grub.cfg
,如下:
grub2-mkconfig -o /boot/grub2/grub.cfg Generating grub configuration file ... Found linux image: /boot/vmlinuz-4.17.171-1.el7.elrepo.x86_64 Found initrd image: /boot/initramfs-4.17.171-1.el7.elrepo.x86_64.img Found linux image: /boot/vmlinuz-3.10.0-693.2.2.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-693.2.2.el7.x86_64.img Found linux image: /boot/vmlinuz-3.10.0-693.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-693.el7.x86_64.img Found linux image: /boot/vmlinuz-0-rescue-f0f31005fb5a436d88e3c6cbf54e25aa Found initrd image: /boot/initramfs-0-rescue-f0f31005fb5a436d88e3c6cbf54e25aa.img done
2.3 修改完成後重啟伺服器
reboot
2.4 關於兩個核心版本的說明
ELRepo有兩種型別的Linux核心包,kernel-lt和kernel-ml。 他們之間有什麼區別?
kernel-ml軟體包是根據Linux Kernel Archives的主線穩定分支提供的源構建的。 核心配置基於預設的RHEL-7配置,並根據需要啟用了新增的功能。 這些軟體包有意命名為kernel-ml,以免與RHEL-7核心發生衝突,因此,它們可以與常規核心一起安裝和更新。
kernel-lt包是從Linux Kernel Archives提供的原始碼構建的,就像kernel-ml軟體包一樣。 不同之處在於kernel-lt基於長期支援分支,而kernel-ml基於主線穩定分支。
安裝過程中遇到問題可以參考https://dwz.cn/vZotLbZD
3、參考文獻
http://elrepo.org
https://rorschachchan.github.io/2018/08/25/centos6-5升級最新核心4-18的坑/
https://rorschachchan.github.io/2018/06/11/阿里雲centos7升級核心過程/
https://www.admon.org/faqs/kernel-lt-and-kernel-ml/