Appearance
CentOS 7 升级内核
1. 查看内核版本
Bash
$ uname -r输出如下:
Bash
$ uname -r
3.10.0-1160.el7.x86_641
2
2
2. 通过 YUM 升级内核
注意以下操作需要在 root 账户下进行:
导入该源的秘钥:
Bash$ rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org启用该源仓库:
Bash$ rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm查看有哪些内核版本可供安装:
Bash$ yum --disablerepo="*" --enablerepo="elrepo-kernel" list available输出如下:
Bash$ yum --disablerepo="*" --enablerepo="elrepo-kernel" list available Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * elrepo-kernel: mirrors.tuna.tsinghua.edu.cn Available Packages elrepo-release.noarch 7.0-6.el7.elrepo elrepo-kernel kernel-lt.x86_64 5.4.236-1.el7.elrepo elrepo-kernel kernel-lt-devel.x86_64 5.4.236-1.el7.elrepo elrepo-kernel kernel-lt-doc.noarch 5.4.236-1.el7.elrepo elrepo-kernel kernel-lt-headers.x86_64 5.4.236-1.el7.elrepo elrepo-kernel kernel-lt-tools.x86_64 5.4.236-1.el7.elrepo elrepo-kernel kernel-lt-tools-libs.x86_64 5.4.236-1.el7.elrepo elrepo-kernel kernel-lt-tools-libs-devel.x86_64 5.4.236-1.el7.elrepo elrepo-kernel kernel-ml.x86_64 6.2.6-1.el7.elrepo elrepo-kernel kernel-ml-devel.x86_64 6.2.6-1.el7.elrepo elrepo-kernel kernel-ml-doc.noarch 6.2.6-1.el7.elrepo elrepo-kernel kernel-ml-headers.x86_64 6.2.6-1.el7.elrepo elrepo-kernel kernel-ml-tools.x86_64 6.2.6-1.el7.elrepo elrepo-kernel kernel-ml-tools-libs.x86_64 6.2.6-1.el7.elrepo elrepo-kernel kernel-ml-tools-libs-devel.x86_64 6.2.6-1.el7.elrepo elrepo-kernel perf.x86_64 5.4.236-1.el7.elrepo elrepo-kernel python-perf.x86_64 5.4.236-1.el7.elrepo elrepo-kernel1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22可用源主要分为了两个大版本,一个是
lt版本,为长期支持版。另一个是ml版本,就是主线版本。长期支持版更加稳定,建议选择长期支持版。安装长期支持版:
Bash$ yum --enablerepo=elrepo-kernel install kernel-lt -y检查是否安装成功:
Bash$ rpm -qa | grep kernel查看是否有 5.4+(如下第 6 行)的内核版本,如果有,则证明安装成功了:
Bash$ rpm -qa | grep kernel abrt-addon-kerneloops-2.1.11-60.el7.centos.x86_64 kernel-3.10.0-1160.el7.x86_64 kernel-headers-3.10.0-1160.71.1.el7.x86_64 kernel-tools-3.10.0-1160.el7.x86_64 kernel-lt-5.4.236-1.el7.elrepo.x86_64 kernel-tools-libs-3.10.0-1160.el7.x86_641
2
3
4
5
6
7
3. 更改开机启动项
查看所有的内核:
Bash$ cat /boot/grub2/grub.cfg | grep menuentry输出如下:
Bash$ cat /boot/grub2/grub.cfg | grep menuentry if [ x"${feature_menuentry_id}" = xy ]; then menuentry_id_option="--id" menuentry_id_option="" export menuentry_id_option menuentry 'CentOS Linux (5.4.236-1.el7.elrepo.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-1160.el7.x86_64-advanced-83340cb5-214a-41cf-bf6d-9b6bb8ea7e3c' { menuentry 'CentOS Linux (3.10.0-1160.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-1160.el7.x86_64-advanced-83340cb5-214a-41cf-bf6d-9b6bb8ea7e3c' { menuentry 'CentOS Linux (0-rescue-e8d716fdd88e476e86b62412f59358db) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-0-rescue-e8d716fdd88e476e86b62412f59358db-advanced-83340cb5-214a-41cf-bf6d-9b6bb8ea7e3c' {1
2
3
4
5
6
7
8可以看到上面这里一共有 3 个内核。
修改默认内核启动项(注意这里需要替换成自己实际的内核):
Bash$ grub2-set-default 'CentOS Linux (5.4.236-1.el7.elrepo.x86_64) 7 (Core)'验证默认启动内核
Bash$ grub2-editenv list输出如下:
Bash$ grub2-editenv list saved_entry=CentOS Linux (5.4.236-1.el7.elrepo.x86_64) 7 (Core)1
2重启
Bash$ reboot查看内核版本
Bash$ uname -r输出如下:
Bash$ uname -r 5.4.236-1.el7.elrepo.x86_641
2