前言

最近买了一台云服务器。想要对建站方面的知识进行了解,然后打造属于完全属于自己的云服务器!~

由于CentOS 使用的都是比较老的内核,现在对 Centos内核进行升级,升级到最新的 release 版本,增强服务器的稳定性。

操作记录如下,希望对其他人有所帮助!


1. 查看当前系统版本

1
cat /etc/redhat-release

CentOS Linux release 7.7.1908 (Core)

2. 检查当前 CentOS 系统内核版本

1
uname -sr

Linux 3.10.0-862.el7.x86_64

可以看出当前系统为 CentOS 7.7,系统内核版本为 3.10.

3.安装ELRepo 仓库

要在 CentOS 7.× 上启用 ELRepo 仓库,请运行:

http://elrepo.org/tiki/tiki-index.php 查看 release 的 rpm

1
2
3
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm

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

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
21
22
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * elrepo-kernel: mirrors.tuna.tsinghua.edu.cn
elrepo-kernel                                                                                                                                              | 2.9 kB  00:00:00
elrepo-kernel/primary_db                                                                                                                                   | 1.8 MB  00:00:01
可安装的软件包
kernel-lt.x86_64                                                                         4.4.198-1.el7.elrepo                                                        elrepo-kernel
kernel-lt-devel.x86_64                                                                   4.4.198-1.el7.elrepo                                                        elrepo-kernel
kernel-lt-doc.noarch                                                                     4.4.198-1.el7.elrepo                                                        elrepo-kernel
kernel-lt-headers.x86_64                                                                 4.4.198-1.el7.elrepo                                                        elrepo-kernel
kernel-lt-tools.x86_64                                                                   4.4.198-1.el7.elrepo                                                        elrepo-kernel
kernel-lt-tools-libs.x86_64                                                              4.4.198-1.el7.elrepo                                                        elrepo-kernel
kernel-lt-tools-libs-devel.x86_64                                                        4.4.198-1.el7.elrepo                                                        elrepo-kernel
kernel-ml.x86_64                                                                         5.3.8-1.el7.elrepo                                                          elrepo-kernel
kernel-ml-devel.x86_64                                                                   5.3.8-1.el7.elrepo                                                          elrepo-kernel
kernel-ml-doc.noarch                                                                     5.3.8-1.el7.elrepo                                                          elrepo-kernel
kernel-ml-headers.x86_64                                                                 5.3.8-1.el7.elrepo                                                          elrepo-kernel
kernel-ml-tools.x86_64                                                                   5.3.8-1.el7.elrepo                                                          elrepo-kernel
kernel-ml-tools-libs.x86_64                                                              5.3.8-1.el7.elrepo                                                          elrepo-kernel
kernel-ml-tools-libs-devel.x86_64                                                        5.3.8-1.el7.elrepo                                                          elrepo-kernel
perf.x86_64                                                                              5.3.8-1.el7.elrepo                                                          elrepo-kernel
python-perf.x86_64                                                                       5.3.8-1.el7.elrepo                                                          elrepo-kernel

4. 安装最新的主线稳定内核:

1
yum --enablerepo=elrepo-kernel install kernel-ml

5. 设置默认的内核版本

为了让新安装的内核成为默认启动选项,你需要如下修改 GRUB 配置,打开并编辑 /etc/default/grub 并设置 GRUB_DEFAULT=0。意思是 GRUB 初始化页面的第一个内核将作为默认内核。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
# vi /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="crashkernel=auto console=ttyS0 console=tty0 panic=5"
> GRUB_DISABLE_RECOVERY="true"
> GRUB_TERMINAL="serial console"
> GRUB_TERMINAL_OUTPUT="serial console"
> GRUB_SERIAL_COMMAND="serial --speed=9600 --unit=0 --word=8 --parity=no --stop=1"

6. 重新创建内核配置

接下来运行下面的命令来重新创建内核配置.

1
grub2-mkconfig -o /boot/grub2/grub.cfg

7. 删除 CentOS 更新后的旧内核

查看系统中全部的内核 RPM 包:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
# rpm -qa | grep kernel

> kernel-tools-3.10.0-514.26.2.el7.x86_64
> kernel-devel-3.10.0-514.10.2.el7.x86_64
> kernel-3.10.0-514.26.2.el7.x86_64
> kernel-3.10.0-327.el7.x86_64
> kernel-ml-4.12.0-1.el7.elrepo.x86_64
> kernel-headers-3.10.0-514.26.2.el7.x86_64
> kernel-devel-3.10.0-514.26.2.el7.x86_64
> kernel-tools-libs-3.10.0-514.26.2.el7.x86_64

删除旧内核的 RPM 包

1
2
3
4
5
6
7
8
9
yum remove 
kernel-tools-libs-3.10.0-1062.4.1.el7.x86_64
kernel-tools-3.10.0-1062.4.1.el7.x86_64
kernel-headers-3.10.0-1062.4.1.el7.x86_64
kernel-3.10.0-862.el7.x86_64
abrt-addon-kerneloops-2.1.11-55.el7.centos.x86_64
kernel-devel-3.10.0-862.el7.x86_64
kernel-devel-3.10.0-1062.4.1.el7.x86_64
kernel-3.10.0-1062.4.1.el7.x86_64

8. 重启系统

1
reboot

9. 检查当前 CentOS 系统内核版本

1
uname -sr

Linux 5.3.8-1.el7.x86_64

成功升级到最新版本的内核。