centos更新内核
内核通过内置的驱动程序或以后可作为模块安装的驱动程序与硬件通信。例如,当你计算机上运行的程序想要连接到无线网络时,它会将该请求提交给内核,后者又会使用正确的驱动程序连接到网络。
随着新的设备和技术定期出来,如果我们想充分利用它们,保持最新的内核就很重要。此外,更新内核将帮助我们利用新的内核函数,并保护自己免受先前版本中发现的漏洞的攻击。准备好了在 CentOS 7 或其衍生产品(如 RHEL 7和 Fedora)上更新内核了么?如果是这样,请继续阅读
参考网址:https://www.linuxprobe.com/update-kernel-centos7.html
https://www.tecmint.com/install-upgrade-kernel-version-in-centos-7/
步骤 1:检查已安装的内核版本
让我们安装了一个发行版,它包含了一个特定版本的内核。为了展示当前系统中已安装的版本,我们可以:
# uname -sr
下面的图片展示了在一台 CentOS 7 服务器上的输出信息:
在 CentOS 7 上检查内核版本
如果我们现在进入 https://www.kernel.org/,在撰写本文时,我们看到最新的内核版本是4.10.1(其他版本可以从同一网站获得)。
还要考虑的一个重要的事情是内核版本的生命周期 - 如果你当前使用的版本接近它的生命周期结束,那么在该日期后将不会提供更多的 bug 修复。关于更多信息,请参阅内核发布页。
大多数现代发行版提供了一种使用 yum 等包管理系统和官方支持的仓库升级内核的方法。
但是,这只会升级内核到仓库中可用的最新版本 - 而不是在 https://www.kernel.org/ 中可用的最新版本。不幸的是,Red Hat 只允许使用前者升级内核。
与 Red Hat 不同,CentOS 允许使用 ELRepo,这是一个第三方仓库,可以将内核升级到最新版本。
要在 CentOS 7 上启用 ELRepo 仓库,请运行:
启用ELREOP:
# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm #在这个网址里elrepo-release-7.0-3的最后一个数字
可能有更新可以现在本地浏览器里输入全部的网址他会跳转到一个较新的网址,填新的网址就可以了
注意:在更新yum源的过程中可能会有提示404的错误,要特别细心的检查输入的HTTP网址,检查完后要用"yum clean all"来清除缓存后再试
仓库启用后,你可以使用下面的命令列出可用的内核相关包:
# yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
术语解析
kernel-ml
kernel-ml 中的ml是英文【mainline stable】的缩写,elrepo-kernel中罗列出来的是最新的稳定主线版本。
kernel-lt
kernel-lt 中的lt是英文【long term support】的缩写,elrepo-kernel中罗列出来的长期支持版本。
接下来,安装最新的主线稳定内核:
# yum --enablerepo=elrepo-kernel install kernel-ml
重启机器并应用最新内核,接着运行下面的命令检查最新内核版本:
设置系统的默认内核
reboot #重启看设置是否生效
查看当前系统有的内核
cat /boot/grub2/grub.cfg |grep menuentry
查看当前默认内核
grub2-editenv list
接下来运行下面的命令来重新创建内核配置。
# grub2-mkconfig -o /boot/grub2/grub.cfg
查看旧的内核并删除
rpm -qa kernel*
删除
在安装新内核依赖
yum --enablerepo=elrepo-kernel install kernel-ml* -y
有时候可能会有错误,要跳过一些依赖,有提示按提示来操作