羞羞的铁狼羞羞的铁狼

CentOS7 更新最新内核及删除无用内核

内核升级方法

如果是 CentOS 系统,执行如下命令即可升级内核, 这里需要注意的是,在 ELRepo 中有两个内核选项,一个是 kernel-lt(长期支持版本),一个是 kernel-ml(主线最新版本),采用长期支持版本(kernel-lt),更稳定一些:

yum --enablerepo=elrepo-kernel install kernel-lt -y

yum --enablerepo=elrepo-kernel -y install kernel-ml kernel-ml-devel

少说废话一句话,自动筛选并删除当前无用的系统内核版本,执行命令:

yum remove $(rpm -qa | grep kernel | grep -v $(uname -r))

机器并应用最新内核,接着运行下面的命令检查最新内核版本:

uname -sr

设置 GRUB 默认的内核版本

打开并编辑 /etc/default/grub并设置GRUB_DEFAULT=0。意思是 GRUB 初始化页面的第一个内核将作为默认内核。

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"

接下来运行下面的命令来重新创建内核配置。

grub2-mkconfig -o /boot/grub2/grub.cfg

重启验证即可。

删除无用内核

举例:

查看系统安装了哪些内核包使用命令rpm -qa |grep kernel

[root@vpscloud ~]# rpm -qa |grep kernel kernel-3.10.0-327.el7.x86\_64 kernel-headers-3.10.0-514.6.1.el7.x86\_64 kernel-tools-libs-3.10.0-327.el7.x86\_64 kernel-3.10.0-514.16.1.el7.x86\_64 kernel-tools-3.10.0-327.el7.x86_64

使用yum remove 或rpm -e 删除无用内核

yum remove kernel-3.10.0-327.el7.x86_64

============================================= 根据 CentOS 版本的不同,此时一般会出现类似于以下的错误提示: Error: kernel-ml-headers conflicts with kernel-headers-2.6.32-696.20.1.el6.x86_64 Error: kernel-ml-headers conflicts with kernel-headers-3.10.0-693.17.1.el7.x86_64

因此需要先卸载原版内核 headers ,然后再安装最新版内核 headers。执行命令: yum remove kernel-headers 确认无误后,输入 y,回车开始卸载。注意,有时候这么操作还会卸载一些对内核 headers 依赖的安装包,比如 gcc、gcc-c++ 之类的。不过不要紧,我们可以在安装完最新版内核 headers 后再重新安装回来即可。 卸载完成后,再次执行上面给出的安装命令。 yum --enablerepo=elrepo-kernel install kernel-lt -y

yum安装gcc和gcc-c++ yum -y install gcc gcc-c++

本原创文章未经允许不得转载 | 当前页面:羞羞的铁狼 » CentOS7 更新最新内核及删除无用内核

评论