工作需要调研一下eBPF技术,服务器使用的还是centos7,内核版本不满足功能,需要升级。
问题:采用yum安装新的内核,但没有在源仓库找到可用的内核
Index of /linux/extras/el7/x86_64/RPMS
看上去应该是已经移除了。
后续找了半天,发现几个归档的镜像站可以用。
elrepo-archive-kernel-el7-x86_64-RPMS安装包下载_开源镜像站-阿里云
安装elrepo
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
修改elrepo.repo文件的elrepo-kernel的部分,替换baseurl,如果有mirrorlist,前面加#注释掉
cd /etc/yum.repos.d
[elrepo-kernel]
name=ELRepo.org Community Enterprise Linux Kernel Repository - el7
#baseurl=http://elrepo.org/linux/kernel/el7/$basearch/
baseurl=https://mirrors.aliyun.com/elrepo/archive/kernel/el7/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org
protect=0
保存后,清除yum缓存后重新构建缓存
yum clean all
yum clean dbcache
yum makecache
运行命令,查询可用版本
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
终于,找到可以用的内核
我选择安装lt版本的
yum --enablerepo=elrepo-kernel install kernel-lt
查看内核启动顺序
awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
输入grub2-set-default 0设置内核启动顺序
grub2-set-default 0
执行以下命令,重新生成 Kernel 配置
grub2-mkconfig -o /boot/grub2/grub.cfg
重启机器
reboot
最后执行以下命令,检查是否更改成功
uname -r
至此,内核升级完成