引子
centos7 默认内核是 3.10.0 有点老,升级下
常用的查看内核信息的命令
uname
打印指定的系统信息。不带参数时,默认使用 -s 参数。
参数:
-a, –all:按照下面的顺序打印所有信息,如果 -p 和 -i 未知时排除掉。
-s, –kernel-name:打印内核名字,一般就是 Linux。
-n, –nodename:打印网络节点的主机名。
-r, –kernel-release:打印内核发行版的版本。常用。3.10.0-514.26.2.el7.x86_64
-v, –kernel-version:打印内核的版本。#1 SMP Tue Jul 4 15:04:05 UTC 2017
-m, –machine:打印机器硬件名。
-p, –processor:打印处理器名字或“unknown”。
-i, –hardware-platform:打印硬件平台或“unknown”。
-o, –operating-system:打印操作系统。
–help:显示这个帮助并退出。
–version:显示这版本信息并退出。
示例:
1 2 3 4 5 6
| # uname -r 3.10.0-957.27.2.el7.x86_64 # uname -a Linux localhost.localdomain 3.10.0-957.27.2.el7.x86_64 #1 SMP Mon Jul 29 17:46:05 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux # cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core)
|
更新内核
安装elrepo的yum源
升级内核需要使用elrepo的yum源,在安装yum源之前还需要我们导入elrepo的key,如下:
1 2 3
| rpm –import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
|
elrepo的key安装完毕后,我们下面开始正式升级内核。
查看可用的系统内核包:
1
| yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| # yum --disablerepo="*" --enablerepo="elrepo-kernel" list available Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * elrepo-kernel: hkg.mirror.rackspace.com Available Packages kernel-lt.x86_64 4.4.190-1.el7.elrepo elrepo-kernel kernel-lt-devel.x86_64 4.4.190-1.el7.elrepo elrepo-kernel kernel-lt-doc.noarch 4.4.190-1.el7.elrepo elrepo-kernel kernel-lt-headers.x86_64 4.4.190-1.el7.elrepo elrepo-kernel kernel-lt-tools.x86_64 4.4.190-1.el7.elrepo elrepo-kernel kernel-lt-tools-libs.x86_64 4.4.190-1.el7.elrepo elrepo-kernel kernel-lt-tools-libs-devel.x86_64 4.4.190-1.el7.elrepo elrepo-kernel kernel-ml-devel.x86_64 5.2.10-1.el7.elrepo elrepo-kernel kernel-ml-doc.noarch 5.2.10-1.el7.elrepo elrepo-kernel kernel-ml-headers.x86_64 5.2.10-1.el7.elrepo elrepo-kernel kernel-ml-tools.x86_64 5.2.10-1.el7.elrepo elrepo-kernel kernel-ml-tools-libs.x86_64 5.2.10-1.el7.elrepo elrepo-kernel kernel-ml-tools-libs-devel.x86_64 5.2.10-1.el7.elrepo elrepo-kernel perf.x86_64 5.2.10-1.el7.elrepo elrepo-kernel python-perf.x86_64 5.2.10-1.el7.elrepo elrepo-kernel
|
通过上图,我们可以很明显的看出目前最新的内核版本为5.2.10。可用的版本为 4.4 ,5.2
升级内核
安装最新的主线稳定内核,使用如下命令:
1
| yum -y –enablerepo=elrepo-kernel install kernel-ml
|
centos7内核升级完毕后,不会立即生效,还需要我们修改grub默认的内核版本。
修改grub默认的内核版本
centos7内核升级完毕后,还需要我们修改内核的启动顺序,使用如下命令:
查看系统上的所有可以内核:
1 2 3 4
| # sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg 0 : CentOS Linux (5.2.10-1.el7.elrepo.x86_64) 7 (Core) 1 : CentOS Linux (3.10.0-957.27.2.el7.x86_64) 7 (Core) 2 : CentOS Linux (0-rescue-ba4b6c04d1c84a009510755e7d3aa0cd) 7 (Core)
|
设置grub2
1. 通过 grub2-set-default 0 命令设置:
1
| sudo grub2-set-default 0
|
2. 编辑 /etc/default/grub 文件
1 2 3 4
| vim /etc/default/grub
GRUB_DEFAULT=0
|
生成 grub 配置文件并重启
接下来还需要运行grub2-mkconfig 命令来重新创建内核配置,如下:
1 2
| grub2-mkconfig -o /boot/grub2/grub.cfg reboot
|
重启系统并查看系统内核
系统启动完毕后,我们来查看内核版本,如下:
1 2
| # uname -r 5.2.10-1.el7.elrepo.x86_64
|