應用背景:
最近在接觸docker,其對內核版本要求較高,就連目前使用的centos7.x默認內核版本為3.10.0-xxx,也是剛好滿足其最低要求,故借此機會記錄一下升級內核的操作步驟。
測試環境:
系統 | 當前內核版本 | 小版本升級 |
CentOS 7.6 | 3.10.0-957 | 3.10.0-957.5.1 |
系統 | 當前內核版本 | 大版本升級 |
CentOS 7.6 | 3.10.0-957 | 4.20.12-1(目前最新) |
操作步驟:
小版本升級
1. 查看當前和可升級版本
[root@server-1 ~]# yum list kernel Installed Packages kernel.x86_64 3.10.0-957.el7 @anaconda Available Packages kernel.x86_64 3.10.0-957.5.1.el7 updates
2. 升級
[root@server-1 ~]# yum update kernel -y
3. 重啟並檢查
[root@server-1 ~]# reboot
[root@server-1 ~]# uname -r
大版本的升級:
centos7 升級最新版內核
升級系統
[root@jikeshijian ~]# yum update -y
安裝 ELRepo
-
[root@jikeshijian ~] # rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
-
[root@jikeshijian ~] # rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
安裝新內核
-
[root@jikeshijian ~] # yum remove -y kernel-headers kernel-tools kernel-tools-libs
-
[root@jikeshijian ~] # yum --enablerepo="elrepo-kernel" install -y kernel-ml kernel-ml-devel kernel-ml-headers kernel-ml-tools kernel-ml-tools-libs kernel-ml-tools-libs-devel
更新 Grub 后重啟
-
[root@jikeshijian ~] # grub2-mkconfig -o /boot/grub2/grub.cfg
-
Generating grub configuration file ...
-
Found linux image: /boot/vmlinuz-5.2.8-1.el7.elrepo.x86_64
-
Found initrd image: /boot/initramfs-5.2.8-1.el7.elrepo.x86_64.img
-
Found linux image: /boot/vmlinuz-3.10.0-862.14.4.el7.x86_64
-
Found initrd image: /boot/initramfs-3.10.0-862.14.4.el7.x86_64.img
-
done
-
-
[root@jikeshijian ~] # awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
-
0 : CentOS Linux (5.2.8-1.el7.elrepo.x86_64) 7 (Core)
-
1 : CentOS Linux (3.10.0-862.14.4.el7.x86_64) 7 (Core)
-
-
[root@jikeshijian ~] # grub2-set-default 0
-
[root@jikeshijian ~] # reboot
查看當前設置
-
[root@jikeshijian ~] # grub2-editenv list
-
saved_entry=0
重啟后確認內核版本已升級為最新版
-
[root@jikeshijian ~] # uname -r
-
5.2.8-1.el7.elrepo.x86_64
安裝 bcc-tools
項目地址:https://github.com/iovisor/bcc
注意:5.0 以上內核安裝 bcc-tools 工具會有 bug. 參見: memleak error on 5.0.10-1.el7.elrepo.x86_64
建議升級成 4.1~4.20.13 之間的內核,參見: 歷史內核版本列表
內核安裝。參見:centos7 內核升級
[root@jikeshijian ~]# yum install -y bcc-tools
配置 PATH 路徑
[root@jikeshijian ~]# export PATH=$PATH:/usr/share/bcc/tools
驗證安裝成功
[root@jikeshijian ~]# cachestat