CentOS内核升级

在 CentOS 7.9 中,默认的内核版本是 3.10.x,如果你想升级到 5.x 版本的内核(例如 5.4 或 5.10 等),可以通过以下步骤进行操作。升级内核通常是为了获得更好的性能、支持新硬件或使用最新的内核特性。

注意事项:

1. 备份重要数据:升级内核可能会导致系统不稳定或无法启动,因此在操作之前务必备份重要数据。

2. 确保兼容性:某些应用程序可能依赖于特定的内核版本,升级前请确保应用程序与新内核兼容。

3. 回滚计划:如果升级后出现问题,可以通过 GRUB 引导菜单选择旧的内核版本启动。

步骤 1:更新系统

在开始升级内核之前,建议先更新系统中的所有软件包,以确保系统的最新状态。

sudo yum update -y

完成后,重启系统以应用更新:

sudo reboot

步骤 2:启用 ELRepo 仓库

ELRepo 是一个第三方仓库,提供了较新的内核版本。我们可以通过启用 ELRepo 来安装最新的内核。

1. 导入 ELRepo 的 GPG 公钥:

sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

2. 安装 ELRepo 仓库:

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

步骤 3:安装新内核

ELRepo 提供了两种类型的内核:

kernel-lt:长期支持(Long Term)内核,通常是稳定版。

kernel-ml:主线(Mainline)内核,通常是最新版本。

安装主线内核(5.x 版本):

sudo yum --enablerepo=elrepo-kernel install kernel-ml -y

如果你需要长期支持的内核,可以安装 kernel-lt

sudo yum --enablerepo=elrepo-kernel install kernel-lt -y

或者

步骤三:手动上传内核包

[root@trs26 centos7]#  ll -h

total 74M

-rw-r--r-- 1 root root  51M Feb 21 12:08 kernel-lt-5.4.278-1.el7.elrepo.x86_64.rpm

-rw-r--r-- 1 root root  13M Feb 21 12:08 kernel-lt-devel-5.4.278-1.el7.elrepo.x86_64.rpm

-rw-r--r-- 1 root root 8.3M Feb 21 12:08 kernel-lt-doc-5.4.278-1.el7.elrepo.noarch.rpm

-rw-r--r-- 1 root root 1.4M Feb 21 12:08 kernel-lt-headers-5.4.278-1.el7.elrepo.x86_64.rpm

-rw-r--r-- 1 root root 231K Feb 21 12:08 kernel-lt-tools-5.4.278-1.el7.elrepo.x86_64.rpm

-rw-r--r-- 1 root root 120K Feb 21 12:08 kernel-lt-tools-libs-5.4.278-1.el7.elrepo.x86_64.rpm

-rw-r--r-- 1 root root  98K Feb 21 12:08 kernel-lt-tools-libs-devel-5.4.278-1.el7.elrepo.x86_64.rpm

执行安装:

rpm -ivh kernel-lt-*.rpm

如果遇到报错:

 Finished Dependency Resolution

Error: kernel-lt-tools conflicts with kernel-tools-3.10.0-1160.119.1.el7.x86_64

Error: kernel-lt-headers conflicts with kernel-headers-3.10.0-1160.119.1.el7.x86_64

Error: kernel-lt-tools-libs conflicts with kernel-tools-libs-3.10.0-1160.119.1.el7.x86_64

 You could try using --skip-broken to work around the problem

** Found 3 pre-existing rpmdb problem(s), 'yum check' output follows:

sysbench-1.0.17-2.el7.x86_64 has missing requires of libaio.so.1()(64bit)

sysbench-1.0.17-2.el7.x86_64 has missing requires of libaio.so.1(LIBAIO_0.1)(64bit)

sysbench-1.0.17-2.el7.x86_64 has missing requires of libaio.so.1(LIBAIO_0.4)(64bit)

解决依赖冲突问题

卸载冲突的kernel-tools包

  1. yum remove kernel-tools -y
  2. yum remove kernel-headers -y
  3. yum remove kernel-tools-libs -y

再进行安装

步骤 4:设置默认启动内核

安装完成后,你需要设置 GRUB 引导程序,使其默认启动新安装的内核。

1. 查看当前的内核列表:

awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg

输出示例:

0 : CentOS Linux (5.10.0-1.el7.elrepo.x86_64) 7 (Core)

1 : CentOS Linux (3.10.0-1160.45.1.el7.x86_64) 7 (Core)

在这个例子中,0 是新安装的 5.x 内核,1 是旧的 3.10 内核。

2. 设置默认启动项为新内核(假设新内核是第 0 项):

sudo grub2-set-default 0

3. 生成新的 GRUB 配置文件:

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

步骤 5:重启系统

完成上述步骤后,重启系统以应用新的内核。

sudo reboot

步骤 6:验证新内核

系统重启后,可以通过以下命令检查当前运行的内核版本:

uname -r

如果输出类似于 5.10.0-1.el7.elrepo.x86_64,说明你已经成功升级到 5.x 内核。

你可以轻松将 CentOS 7.9 的内核从 3.10 升级到 5.x 版本。升级完成后,记得测试系统的稳定性,并确保所有应用程序都能正常运行。

你可能感兴趣的:(系统管理,脚本编写与自动化,centos,python,linux)