CentOS Linux 内核升级
原创
©著作权归作者所有:来自51CTO博客作者isea533的原创作品,请联系作者获取转载授权,否则将追究法律责任
参考:
准备
导入公钥:
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
CentOS8:
CentOS7:
CentOS6:
安装
两种可选的内核:
- kernel-ml: http://elrepo.org/tiki/kernel-ml
- kernel-lt: http://elrepo.org/tiki/kernel-lt
查看当前可用的内核:
# yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
这里选择 ml 版本安装:
yum --enablerepo=elrepo-kernel install
配置
查看 grub2 中配置的内核:
# awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
0 : CentOS Linux (5.6.7-1.el7.elrepo.x86_64) 7 (Core)
1 : CentOS Linux (3.10.0-1062.el7.x86_64) 7 (Core)
2 : CentOS Linux (0-rescue-a5c9d82b98ce4e54bd4cc8444d497181) 7 (Core)
设置第一个默认启动:
# grub2-set-default 0
# grub2-mkconfig -o /boot/grub2/grub.cfg
然后重启查看:
可选:删除不用的内核
查看安装的内核:
删除指定的内核:
# yum remove kernel-3.10.0-1062.el7.x86_64
查看所有内核:
# awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
0 : CentOS Linux (5.6.7-1.el7.elrepo.x86_64) 7 (Core)
1 : CentOS Linux (0-rescue-a5c9d82b98ce4e54bd4cc8444d497181) 7 (Core)
Ansible playbook
通过 Ansible 可以批量或自动更新主机内核:
- hosts: 主机
remote_user: root
tasks:
- name: add key
rpm_key:
state: present
key: https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
- name: install elrepo7
yum:
name: https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
state: present
- name: install kernel-ml
yum:
name: kernel-ml
enablerepo: elrepo-kernel
state: present
- name: grub2-set-default
command: grub2-set-default 0
- name: grub2-mkconfig
command: grub2-mkconfig -o /boot/grub2/grub.cfg
- name: reboot
reboot:
注:reboot 命令要求的 ansble 2.7 版本
https://docs.ansible.com/ansible/latest/modules/reboot_module.html#reboot-module