Linux CentOS7内核升级
1、导入key,提前下载
[root@localhost ~]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
2、安装yum源,使用elrepo源,提前下载
[root@localhost ~]# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
获取http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
准备中... ################################# [100%]
正在升级/安装...
1:elrepo-release-7.0-3.el7.elrepo ################################# [100%]
3、查看有多少内核版本:
[root@node01 ~]# yum --disablerepo="*" --enablerepo="elrepo-kernel" list available 已加载插件:fastestmirror Repository base is listed more than once in the configuration Repository updates is listed more than once in the configuration Repository extras is listed more than once in the configuration Repository centosplus is listed more than once in the configuration Loading mirror speeds from cached hostfile * elrepo-kernel: mirrors.tuna.tsinghua.edu.cn 可安装的软件包 elrepo-release.noarch 7.0-4.el7.elrepo elrepo-kernel kernel-lt.x86_64 4.4.214-1.el7.elrepo elrepo-kernel kernel-lt-devel.x86_64 4.4.214-1.el7.elrepo elrepo-kernel kernel-lt-doc.noarch 4.4.214-1.el7.elrepo elrepo-kernel kernel-lt-headers.x86_64 4.4.214-1.el7.elrepo elrepo-kernel kernel-lt-tools.x86_64 4.4.214-1.el7.elrepo elrepo-kernel kernel-lt-tools-libs.x86_64 4.4.214-1.el7.elrepo elrepo-kernel kernel-lt-tools-libs-devel.x86_64 4.4.214-1.el7.elrepo elrepo-kernel kernel-ml-doc.noarch 5.5.4-1.el7.elrepo elrepo-kernel kernel-ml-headers.x86_64 5.5.4-1.el7.elrepo elrepo-kernel kernel-ml-tools.x86_64 5.5.4-1.el7.elrepo elrepo-kernel kernel-ml-tools-libs.x86_64 5.5.4-1.el7.elrepo elrepo-kernel kernel-ml-tools-libs-devel.x86_64 5.5.4-1.el7.elrepo elrepo-kernel perf.x86_64 5.5.4-1.el7.elrepo elrepo-kernel python-perf.x86_64 5.5.4-1.el7.elrepo elrepo-kernel
4、安装内核
[root@localhost ~]# yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y
yum install -y kernel-lt-5.4.95-1.el7.elrepo --enablerepo=elrepo-kernel #安装指定版本内核。
5、查看系统上可用内核
[root@node01 ~]# awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg 0 : CentOS Linux (5.5.4-1.el7.elrepo.x86_64) 7 (Core) 1 : CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core) 2 : CentOS Linux (0-rescue-b2a3b7035ddf4f6cb0ebf2369b27135b) 7 (Core)
6、设置新的内核为grub2的默认版本
方法1
[root@localhost ~]# grub2-set-default 0
方法2、编辑 /etc/default/grub
文件
设置 GRUB_DEFAULT=0,通过上面查询显示的编号为 0 的内核作为默认内核: [root@node01 ~]# vi /etc/default/grub GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=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"
生成 grub 配置文件并重启
[root@node01 ~]# grub2-mkconfig -o /boot/grub2/grub.cfg Generating grub configuration file ... Found linux image: /boot/vmlinuz-5.5.4-1.el7.elrepo.x86_64 Found initrd image: /boot/initramfs-5.5.4-1.el7.elrepo.x86_64.img Found linux image: /boot/vmlinuz-3.10.0-957.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-957.el7.x86_64.img Found linux image: /boot/vmlinuz-0-rescue-b2a3b7035ddf4f6cb0ebf2369b27135b Found initrd image: /boot/initramfs-0-rescue-b2a3b7035ddf4f6cb0ebf2369b27135b.img done
[root@node01 ~]# reboot
7、重启 reboot
[root@node01 ~]# uname -r 5.5.4-1.el7.elrepo.x86_64
8、删除旧内核(可选)
查看系统中全部的内核: [root@node01 ~]# rpm -qa | grep kernel kernel-tools-3.10.0-957.el7.x86_64 kernel-ml-5.5.4-1.el7.elrepo.x86_64 kernel-headers-3.10.0-1062.12.1.el7.x86_64 kernel-3.10.0-957.el7.x86_64 kernel-debug-devel-3.10.0-1062.12.1.el7.x86_64 kernel-tools-libs-3.10.0-957.el7.x86_64 kernel-ml-devel-5.5.4-1.el7.elrepo.x86_64
方法1、yum remove 删除旧内核的 RPM 包
[root@node01 ~]# yum remove kernel-tools-3.10.0-957.el7.x86_64 kernel-headers-3.10.0-1062.12.1.el7.x86_64 kernel-3.10.0-957.el7.x86_64 kernel-debug-devel-3.10.0-1062.12.1.el7.x86_64 kernel-tools-libs-3.10.0-957.el7.x86_64
方法2、yum-utils
工具
如果安装的内核不多于 3 个,yum-utils
工具不会删除任何一个。只有在安装的内核大于 3 个时,才会自动删除旧内核。
安装yum-utils
yum install yum-utils
删除旧版本
package-cleanup --oldkernels