CentOS禁止更新内核

部分服务器在升级内核后,新的内核可能会认不出某些硬件,造成各种各样的意外。所以在服务器上不要轻易的升级内核,除非确定升级内核后不会出现问题。

问题

之前一次调整服务器配置后执行reboot,结果发现服务器出现了问题。
重启后,服务器运行几分钟就会自动停止,在控制台的操作日志里也找不到停止记录。
最终只能提交工单,很快得到了反馈:

您好!
主机已经启动正常。
原因是系统升级过内核导致无法启动,请登录主机修改下内核启动版本,ECS升级内核会导致无法启动。

回头查看阿里云的ECS使用须知,里面果然有一条警告:不要随意升级云服务器的内核和操作系统版本。

解决

在阿里云的帮助文档中找到:

CentOS使用 yum update 更新时,默认会升级内核。但部分服务器在升级内核后,新的内核可能会认不出某些硬件,要重新安装驱动,很麻烦。所以在生产环境中不要轻易的升级内核,除非您确定升级内核后不会出现麻烦的问题。

如果想要在使用yum update更新时不升级内核,有两种方法:

  1. 在升级命令后加上参数,只生效一次。
    # yum update --exclude=kernel*
  2. 修改yum命令的配置文件,永久生效。
    编辑/etc/yum.conf文件:
    # vi /etc/yum.conf
    [main]部分加上:
    exclude=kernel*
    exclude=kernel centos-release

以后就可以放心地yum update了。