内核升级方法
如果是 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++
羞羞的铁狼