前言:

严格地来说,Linux 只是个内核。发行版是一个完整功能的系统,它建立在内核之上,具有各种各样的应用程序工具和库。

 在正常操作期间,内核负责执行两个重要任务:

  1. 作为硬件和系统上运行的软件之间的接口。
  2. 尽可能高效地管理系统资源。
  3. 官网地址: https://www.kernel.org/

为此,内核通过内置的驱动程序或以后可作为模块安装的驱动程序与硬件通信。例如,当你计算机上运行的程序想要连接到无线网络时,它会将该请求提交给内核,后者又会使用正确的驱动程序连接到网络。

随着新的设备和技术定期出来,如果我们想充分利用它们,保持最新的内核就很重要。此外,更新内核将帮助我们利用新的内核函数,并保护自己免受先前版本中发现的漏洞的攻击。

1.查看系统内核版本 (centos7默认是3.10)

 如图 三种方式

  

centos7永久修改内核参数 centos7各版本内核_重启

 

 

2.大多数现代发行版提供了一种使用 yum 等包管理系统和官方支持的仓库升级内核的方法。

但是,这只会升级内核到仓库中可用的最新版本 - 而不是在 https://www.kernel.org/ 中可用的最新版本。不幸的是,Red Hat 只允许使用前者升级内核。

与 Red Hat 不同,CentOS 允许使用 ELRepo,这是一个第三方仓库,可以将内核升级到最新版本。

要在 CentOS 7 上启用 ELRepo 仓库如下图所示:

centos7永久修改内核参数 centos7各版本内核_重启_02

 

 命令如下:

# 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 yum源

仓库启用后,你可以使用下面的命令列出可用的内核相关包:

centos7永久修改内核参数 centos7各版本内核_centos7永久修改内核参数_03

 

 其中 -ml 为稳定版(代码如下)

# yum --disablerepo="*" --enablerepo="elrepo-kernel" list available

一般都是安装最新稳定版
--enablerepo
elrepo
elrepo-kernel

为了让新安装的内核成为默认启动选项,你需要如下修改 GRUB 配置:

打开并编辑 /etc/default/grub 并设置 GRUB_DEFAULT=0。意思是 GRUB 初始化页面的第一个内核将作为默认内核。

# awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg       (可用此命令查看系统可用内核)

vim  /etc/default/grub   文件

GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=0
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
接下来运行下面的命令来重新创建内核配置。生成 grub 配置文件并重启(安装完成后需重启启动系统并选择最新安装的内核进入后面移除多余的内核就不会报错)
# grub2-mkconfig -o /boot/grub2/grub.cfg
# reboot

重启后验证系统内核是否安装成功
# uname -a

查看系统所有安装的内核
rpm -qa | grep kernel

移除不必要的内核(可按需求操作)

yum remove 删除旧内核的 RPM 包

到此内核升级完成