1.背景
不知道大家有没有遇到过这样的问题,在使用docker创建vlan网络时,会提示“Error response from daemon: kernel version failed to meet the minimum ipvlan kernel requirement of 4.2, found 3.10.0”,需要的内核为4.2,但找到的内核为3.10.0。
看一下系统的内核版本,使用以下命令:
uname -a
可以看到当前的内核确实为3.10.0. 查看一下CentOS的版本,使用以下命令:
cat /etc/redhat-release
可以看到是最新的7.9版本。 2.错误尝试
按照一贯的思路,那不就是update解决的事嘛!手指一划,敲下一条命令(生产环境下慎用!):
yum -y update
没有效果!采用upgrade升级(生产环境下慎用!)
yum -y upgrade
好吧,没有用,内核没有变化。 3.正确尝试
先导入一个公钥。
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
安装一下CentOS 7.x的ELRepo包。
yum install -y https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
# CentOS 8则采用下面的命令
# yum install -y https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm
然后依次执行下面的命令,等待进度条走完,下载升级:
yum --enablerepo=elrepo-kernel install kernel-ml -y &&
sed -i s/saved/0/g /etc/default/grub &&
grub2-mkconfig -o /boot/grub2/grub.cfg
重启系统:
reboot
再次查看CentOS的内核版本,发现已经把内核升级成了5.16.12:
uname -a
可以开心的玩耍了~