CentOS7.5-1804系统内核升级

简介:

一.背景

根据Linux官方网站(https://www.kernel.org)显示,目前Linux的最新内核是4.19,但是Redhat最新版系统中内核版本还是3.10.*,明显落后很多版本。有些软件对系统内核版本就有要求,因此我们就需要把系统内核升级到指定版本(RPM下载地址:https://elrepo.org/linux/kernel ),本文升级到了最新的内核版本。在CentOS中,ELRope是使用较广泛的源。

二.操作步骤

  1. 配置ELRepo仓库。
[root@gysl ~]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
[root@gysl ~]# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
获取http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
获取http://elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
准备中...                          ################################# [100%]
正在升级/安装...
1:elrepo-release-7.0-3.el7.elrepo  ################################# [100%]
  1. 列出可以安装的Kernel及相关组件。
[root@gysl ~]# yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
已加载插件:fastestmirror
Determining fastest mirrors
 * elrepo-kernel: mirrors.tuna.tsinghua.edu.cn
elrepo-kernel                                                                                                                                                         | 2.9 kB  00:00:00     
elrepo-kernel/primary_db                                                                                                                                              | 1.8 MB  00:00:02     
可安装的软件包
kernel-lt.x86_64                                                                              4.4.162-1.el7.elrepo                                                              elrepo-kernel
kernel-lt-devel.x86_64                                                                        4.4.162-1.el7.elrepo                                                              elrepo-kernel
kernel-lt-doc.noarch                                                                          4.4.162-1.el7.elrepo                                                              elrepo-kernel
kernel-lt-headers.x86_64                                                                      4.4.162-1.el7.elrepo                                                              elrepo-kernel
kernel-lt-tools.x86_64                                                                        4.4.162-1.el7.elrepo                                                              elrepo-kernel
kernel-lt-tools-libs.x86_64                                                                   4.4.162-1.el7.elrepo                                                              elrepo-kernel
kernel-lt-tools-libs-devel.x86_64                                                             4.4.162-1.el7.elrepo                                                              elrepo-kernel
kernel-ml.x86_64                                                                              4.19.0-1.el7.elrepo                                                               elrepo-kernel
kernel-ml-devel.x86_64                                                                        4.19.0-1.el7.elrepo                                                               elrepo-kernel
kernel-ml-doc.noarch                                                                          4.19.0-1.el7.elrepo                                                               elrepo-kernel
kernel-ml-headers.x86_64                                                                      4.19.0-1.el7.elrepo                                                               elrepo-kernel
kernel-ml-tools.x86_64                                                                        4.19.0-1.el7.elrepo                                                               elrepo-kernel
kernel-ml-tools-libs.x86_64                                                                   4.19.0-1.el7.elrepo                                                               elrepo-kernel
kernel-ml-tools-libs-devel.x86_64                                                             4.19.0-1.el7.elrepo                                                               elrepo-kernel
perf.x86_64                                                                                   4.19.0-1.el7.elrepo                                                               elrepo-kernel
python-perf.x86_64                                                                            4.19.0-1.el7.elrepo                                                               elrepo-kernel
  1. 安装最新版的内核。kernel-ml是Mainline版本(it=long-term),这个版本的内核会引入所有新功能,新的Mainline内核每2-3 个月发布一次。
[root@gysl ~]# yum --enablerepo=elrepo-kernel install kernel-ml -y
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.tuna.tsinghua.edu.cn
 * elrepo: mirrors.tuna.tsinghua.edu.cn
 * elrepo-kernel: mirrors.tuna.tsinghua.edu.cn
 * extras: mirrors.163.com
 * updates: mirrors.tuna.tsinghua.edu.cn
base                                                                                                                                                                  | 3.6 kB  00:00:00     
elrepo                                                                                                                                                                | 2.9 kB  00:00:00     
extras                                                                                                                                                                | 3.4 kB  00:00:00     
updates                                                                                                                                                               | 3.4 kB  00:00:00     
(1/3): extras/7/x86_64/primary_db                                                                                                                                     | 204 kB  00:00:01     
(2/3): updates/7/x86_64/primary_db                                                                                                                                    | 6.0 MB  00:00:07     
(3/3): elrepo/primary_db                                                                                                                                              | 530 kB  00:00:07     
正在解决依赖关系
--> 正在检查事务
---> 软件包 kernel-ml.x86_64.0.4.19.0-1.el7.elrepo 将被 安装
--> 解决依赖关系完成

依赖关系解决

=============================================================================================================================================================================================
 Package                                   架构                                   版本                                                   源                                             大小
=============================================================================================================================================================================================
正在安装:
 kernel-ml                                 x86_64                                 4.19.0-1.el7.elrepo                                    elrepo-kernel                                  46 M

事务概要
=============================================================================================================================================================================================
安装  1 软件包

总下载量:46 M
安装大小:205 M
Downloading packages:
kernel-ml-4.19.0-1.el7.elrepo.x86_64.rpm                                                                                                                          |  46 MB  00:01:54     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
警告:RPM 数据库已被非 yum 程序修改。
  正在安装    : kernel-ml-4.19.0-1.el7.elrepo.x86_64                           1/1 
  验证中      : kernel-ml-4.19.0-1.el7.elrepo.x86_64                                                                                                                                     1/1 
已安装:
  kernel-ml.x86_64 0:4.19.0-1.el7.elrepo                                                                                                                                                     
完毕!
[root@gysl ~]# reboot
  1. 重启系统后,手动选择新内核,如果出现如下内容,则说明升级成功。

VMWare

  1. 登入系统,查看相关系统信息。
[root@gysl ~]# hostnamectl 
   Static hostname: gysl
         Icon name: computer-vm
           Chassis: vm
        Machine ID: ec3aaeb5faad4f0dbe7121416e9af1c8
           Boot ID: 66ff8175b82641328795dbf951c63d7a
    Virtualization: vmware
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 4.19.0-1.el7.elrepo.x86_64
      Architecture: x86-64
[root@gysl ~]# uname -sr
Linux 4.19.0-1.el7.elrepo.x86_64
[root@gysl ~]# cat /etc/centos-release
CentOS Linux release 7.5.1804 (Core)
  1. 将新内核设置为默认引导内核并创建新内核的配置文件。默认启动的顺序应该为1,升级以后内核是往前面插入,值为0(如果每次启动时需要手动选择哪个内核,该步骤可以省略)
[root@gysl ~]# grub2-set-default 0
[root@gysl ~]# grub2-mkconfig -o /etc/grub2.cfg 
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.19.0-1.el7.elrepo.x86_64
Found initrd image: /boot/initramfs-4.19.0-1.el7.elrepo.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-862.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-862.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-ec3aaeb5faad4f0dbe7121416e9af1c8
Found initrd image: /boot/initramfs-0-rescue-ec3aaeb5faad4f0dbe7121416e9af1c8.img
done
  1. 安装命令自动提示包。此步骤仅仅是为了使用更加方便而提及,并非必须步骤。安装这个包之后,键入命令后能够进一步提示,比如 键入systemctl后,按tab建即可进一步提示,该包安装完成之后需要重启。
[root@gysl ~]# yum install  -y bash-completion
[root@gysl ~]# reboot
[root@gysl ~]# systemctl re
reboot                 reload                 reload-or-try-restart  reset-failed
reenable               reload-or-restart      rescue                 restart
  1. 使用官方源进行内核更新。官方也提供内核更新,但是比较有局限性,智能升级到官方指定的最新版,可能达不到要求。
[root@gysl ~]# yum -y update kernel
  1. 删除旧版本的内核。
[root@gysl ~]# rpm -qa|grep kernel
kernel-tools-3.10.0-862.el7.x86_64
kernel-ml-4.19.0-1.el7.elrepo.x86_64
kernel-tools-libs-3.10.0-862.el7.x86_64
kernel-3.10.0-862.el7.x86_64
kernel-3.10.0-862.14.4.el7.x86_64

使用rpm和yum remove命令均可删除旧版本的内核或组件(以下命令删除的是最新版本的内核,操作类似)。可以安装新的组件之后再删除旧版本的组件。

[root@gysl ~]# rpm -e kernel-ml-4.19.0-1.el7.elrepo.x86_64

三.总结

  1. 系统的内核升级是一个需要谨慎操作的过程,需要我们胆大心细。需要在测试环境内进行了严格的测试才能上线到生产环境。
  2. 在写本文时,我已经在VMWare和Hyper-V平台上均进行过相同步骤的操作,发现在Hyper-V平台上升级完成之后无法正常启动,找不到相关日志记录。我的系统信息如下:
[root@gysl ~]# hostnamectl
   Static hostname: gysl
         Icon name: computer-vm
           Chassis: vm
        Machine ID: ca4cb61abf7748a7bae1dd5a94c4c9da
           Boot ID: ff1263b7386f49bd9f4681fd6b6bc964
    Virtualization: microsoft
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-862.el7.x86_64
      Architecture: x86-64

启动界面如下:
Hyper-V
目前还未在kvm平台上进行过测试,不知道具体情况。

如果有知道怎么解决在Hyper-V虚拟化环境中内核升级后不能正常进入系统的办法的小伙伴,敬请赐教,不胜感激。

四.参考资料

  1. http://elrepo.org/tiki/kernel-ml
  2. https://www.kernel.org
相关文章
|
2月前
|
Java Linux Shell
linux自动部署jar包,注册系统服务(基于Centos7)
linux自动部署jar包,注册系统服务(基于Centos7)
81 0
|
3月前
|
安全 Linux 网络安全
百度搜索:蓝易云【centos7系统添加用户、密码,以及修改端口教程】
请牢记,对系统进行任何更改都需要谨慎行事。在执行这些操作之前,最好备份重要的数据和配置文件,并确保您具有足够的权限和知识来进行这些更改。如果在操作过程中遇到任何问题,请务必小心并及时修复,以免影响系统的稳定性和安全性。
69 2
|
3月前
|
缓存 Linux 网络安全
系统-安装centos6
系统-安装centos6
144 0
|
4月前
|
Linux Shell 数据安全/隐私保护
CentOS-7.9忘记密码如何进入系统
前言 密码记不住一定要备份,重点! 以下步骤旨在提供一个大致的指南。请根据你的系统和问题进行调整,并确保在进行任何更改之前备份重要数据。如果对任何命令不确定,最好先进行额外的研究或咨询。 启动系统并进入 GRUB 引导界面 选择你要引导的Linux系统,并在启动时按下键盘上的 e 键来编辑引导选项。 修改启动参数 在启动参数中找到以 ro 开头的行,将其修改为 rw 并在其末尾添加 rd.break。这将告诉系统在启动时进入临时环境以修改密码。 启动系统
420 2
|
4月前
|
网络协议 Linux Shell
CentOS 7系统下DHCP及中继服务部署
设备 IP地址 主DNS服务器 192.168.100.254 从DNS服务器 192.168.100.1 客户端 192.168.200.2 一、DHCP服务器的部署
106 0
|
3月前
|
监控 安全 Linux
CentOS7下部署ARL资产侦察灯塔系统
CentOS7下部署ARL资产侦察灯塔系统
155 3
|
28天前
|
Kubernetes 监控 Linux
容器服务ACK常见问题之新增一台CentOS 5.4内核的节点失败如何解决
容器服务ACK(阿里云容器服务 Kubernetes 版)是阿里云提供的一种托管式Kubernetes服务,帮助用户轻松使用Kubernetes进行应用部署、管理和扩展。本汇总收集了容器服务ACK使用中的常见问题及答案,包括集群管理、应用部署、服务访问、网络配置、存储使用、安全保障等方面,旨在帮助用户快速解决使用过程中遇到的难题,提升容器管理和运维效率。
|
30天前
|
关系型数据库 MySQL 数据库
虚拟机Linux-Centos系统网络配置常用命令+Docker 的常用命令
虚拟机Linux-Centos系统网络配置常用命令+Docker 的常用命令
34 0
|
1月前
|
关系型数据库 MySQL Linux
【VMware安装+centos 7Linux系统+MySQL安装】——在Linux系统中安装MySQL步骤,以及遇见的各种问题(如:vm两个虚拟网卡消失、vm网络适配器有感叹号等等)
【VMware安装+centos 7Linux系统+MySQL安装】——在Linux系统中安装MySQL步骤,以及遇见的各种问题(如:vm两个虚拟网卡消失、vm网络适配器有感叹号等等)
178 0
|
2月前
|
关系型数据库 Linux Shell
Centos系统上安装PostgreSQL和常用PostgreSQL功能
Centos系统上安装PostgreSQL和常用PostgreSQL功能

热门文章

最新文章