修改默认启动的内核步骤
uname -r # 查看当前内核版本cat /boot/grub2/grub.cfg |grep "menuentry " # 查看所有可用内核grub2-set-default 'CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core)' #设置默认启动的内核grub2-editenv list # 查看内核修改结果saved_entry=CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core)注意修改默认内核后要reboot后才能生效。
背景
昨天发现一个问题,在两台服务器安装bro时,一台顺利部署并成功运行,另一台PF_Ring部署成功但无法运行。看了下系统版本号相同,仔细比对了下内部版本发现失败的那台内部版本多了rt56字段,经查询rt表示实时补丁版本。在国外一论坛上看到说目前PF—Ring不支持在rt版本上运行。咨询装机同事安装时采用同一个CD安装,步骤和选项也相同(也许是他记不清楚)。 但为何两个服务器内部版本不同,推测一可能装机同事安装时选型有区别,二可能因为服务器硬件不同(一个HP、一个Dell)适配了不同的版本。
于是考虑对内核进行升级
正常情况下,有两个启动项,一个是“正常启动”,另一个是“救援模式启动”(rescue)。
如果启动项多于2个,说明当前系统有旧内核未删除。原因是CentOS更新后不会自动删除旧内核。默认以新内核启动,可以在启动选项中临时选择,也可以修改配置永久指定。查看内核发现仅由2个启动项,其中一个是救援版本,于是进行内核升级。
通过yum升级内核 (此方法适用于更新小版本)
通过yum升级内核是最保险的升级方式,因为安装的是操作系统发行厂商验证过兼容性的rpm包,升级风险一般很小。
sudo yum list kernel
sudo yum install -y kernel
安装后会发现多了一个内核,网上说重启后默认选择新内核,但我试了下还是老的rt内核,grub2-set-default 后成功切换为新更新的内核。
大版本升级可以通过载入elrepo源,搜索内核更新资源,并进行更新操作的方式
还有一种自己编译内核的方式,不需要特定内核的情况下比较麻烦不推荐。
修改默认启动的内核步骤
uname -r # 查看当前内核版本
cat /boot/grub2/grub.cfg |grep "menuentry " # 查看所有可用内核
grub2-set-default ‘CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core)’ #设置默认启动的内核
grub2-editenv list # 查看内核修改结果
saved_entry=CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core)
注意修改默认内核后要reboot后才能生效。
删除无用内核
uname -r # 查看当前内核版本
rpm -qa |grep kernel-[0-9] # 查看全部内核包
yum remove kernel-3.10.0-327.el7.x86_64 # 删除指定的无用内核
其他rpm命令 (未测试)
显示已经安装的内核 rpm -qa | grep kernel
安装指定内核 rpm -ivh /ISO/Linux/CentOS/kernel/kernel-3.10.0-229.1.2.el7.x86_64.rpm --force