本文已参与「新人创作礼」活动,一起开启掘金创作之路。
**升级更新内核的目的是为了堵住漏洞,提高系统的稳定和安全。**具体如何操作如下:
系统是centos7.2,首先查看内核版本:
[eyeglasses@slave3 ~]$ uname -r
3.10.0-327.el7.x86_64
查看系统内可用的内核版本:
[eyeglasses@slave3 ~]$ rpm -qa | grep kernel
kernel-headers-3.10.0-327.el7.x86_64
kernel-devel-3.10.0-327.el7.x86_64
kernel-tools-libs-3.10.0-327.el7.x86_64
kernel-3.10.0-327.el7.x86_64
abrt-addon-kerneloops-2.1.11-36.el7.centos.x86_64
kernel-tools-3.10.0-327.el7.x86_64
可以看出只有一个内核版本3.10.0-327.el7.x86_64,而这次需要升级到内核5.16.11。不能简单的使用yum update kernel-*打补丁,需要更换内核到5.16.11版本。操作步骤稍微复杂。
- 导入公钥
[root@slave3 eyeglasses]# rpm --import www.elrepo.org/RPM-GPG-KEY…
- 安装ELRepo源
[root@slave3 eyeglasses]# rpm -Uvh www.elrepo.org/elrepo-rele…
Retrieving www.elrepo.org/elrepo-rele…
Preparing... ################################# [100%]
Updating / installing...
1:elrepo-release-7.0-3.el7.elrepo ################################# [100%]
- 查询elrepo-kernel可用版本
[root@slave3 eyeglasses]# yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
- elrepo-kernel: 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
elrepo-kernel | 3.0 kB 00:00
elrepo-kernel/primary_db | 2.0 MB 00:01
Available Packages
elrepo-release.noarch 7.0-5.el7.elrepo elrepo-kernel
kernel-lt.x86_64 5.4.183-1.el7.elrepo elrepo-kernel
kernel-lt-devel.x86_64 5.4.183-1.el7.elrepo elrepo-kernel
kernel-lt-doc.noarch 5.4.183-1.el7.elrepo elrepo-kernel
kernel-lt-headers.x86_64 5.4.183-1.el7.elrepo elrepo-kernel
kernel-lt-tools.x86_64 5.4.183-1.el7.elrepo elrepo-kernel
kernel-lt-tools-libs.x86_64 5.4.183-1.el7.elrepo elrepo-kernel
kernel-lt-tools-libs-devel.x86_64 5.4.183-1.el7.elrepo elrepo-kernel
kernel-ml.x86_64 5.16.13-1.el7.elrepo elrepo-kernel
kernel-ml-devel.x86_64 5.16.13-1.el7.elrepo elrepo-kernel
kernel-ml-doc.noarch 5.16.13-1.el7.elrepo elrepo-kernel
kernel-ml-headers.x86_64 5.16.13-1.el7.elrepo elrepo-kernel
kernel-ml-tools.x86_64 5.16.13-1.el7.elrepo elrepo-kernel
kernel-ml-tools-libs.x86_64 5.16.13-1.el7.elrepo elrepo-kernel
kernel-ml-tools-libs-devel.x86_64 5.16.13-1.el7.elrepo elrepo-kernel
perf.x86_64 5.16.13-1.el7.elrepo elrepo-kernel
python-perf.x86_64 5.16.13-1.el7.elrepo elrepo-kernel
注意这里查到的内核版本为5.4.183和5.16.13,选择5.16.13.
- 安装最新版本的kernel
[root@slave3 eyeglasses]# yum --enablerepo=elrepo-kernel install kernel-ml
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
5.设置系统启动使用哪一个内核版本,修改grub2配置选项
查看系统内核:
[root@slave3 eyeglasses]# sudo awk -F' '1=="menuentry " {print i++ " : " 2}' /etc/grub2.cfg
0 : CentOS Linux (5.16.13-1.el7.elrepo.x86_64) 7 (Core)
1 : CentOS Linux (3.10.0-1160.59.1.el7.x86_64) 7 (Core)
2 : CentOS Linux (3.10.0-1062.9.1.el7.x86_64) 7 (Core)
3 : CentOS Linux (3.10.0-862.14.4.el7.x86_64) 7 (Core)
4 : CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core)
5 : CentOS Linux (0-rescue-b98a90fb28764f9abc99cdb90512c85d) 7 (Core)
一共6个内核版本,我们要使用的是编号为0的CentOS Linux (5.16.13-1.el7.elrepo.x86_64) 7 (Core)版本。修改grub的配置文件,把GRUB_DEFAULT=saved改为GRUB_DEFAULT=0.
[root@slave2 eyeglasses]# vim /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=",,g' /etc/system-release)"
GRUB_DEFAULT=saved #把saved该为0,意思是使用编号0的内核为缺省版本,启动的使用就用这个版本。
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
修改后执行如下命令:
[root@slave3 eyeglasses]# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.16.13-1.el7.elrepo.x86_64
Found initrd image: /boot/initramfs-5.16.13-1.el7.elrepo.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-1160.59.1.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-1160.59.1.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-1062.9.1.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-1062.9.1.el7.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
Found linux image: /boot/vmlinuz-3.10.0-327.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-327.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-b98a90fb28764f9abc99cdb90512c85d
Found initrd image: /boot/initramfs-0-rescue-b98a90fb28764f9abc99cdb90512c85d.img
done
- 重启并检查
[root@slave3 eyeglasses]# reboot
7.检查重启后内核版本
[root@server-1 ~]# uname -r
重启后运行jupyter notebook报错,不能运行:
PermissionError: [Errno 13] Permission denied: '/run/user/0/jupyter'
提升该目录权限,问题解决。
sudo chmod 777 -R /run/user/0