一.背景

根据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. 重启系统后,手动选择新内核,如果出现如下内容,则说明升级成功。


5. 登入系统,查看相关系统信息。

[root@gysl ~]# hostnamectl Static hostname: gyslIcon name: computer-vmChassis: vmMachine ID: ec3aaeb5faad4f0dbe7121416e9af1c8Boot ID: 66ff8175b82641328795dbf951c63d7aVirtualization: vmwareOperating System: CentOS Linux 7 (Core)CPE OS Name: cpe:/o:centos:centos:7Kernel: Linux 4.19.0-1.el7.elrepo.x86_64Architecture: 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 ~]# hostnamectlStatic hostname: gyslIcon name: computer-vmChassis: vmMachine ID: ca4cb61abf7748a7bae1dd5a94c4c9daBoot ID: ff1263b7386f49bd9f4681fd6b6bc964Virtualization: microsoftOperating System: CentOS Linux 7 (Core)CPE OS Name: cpe:/o:centos:centos:7Kernel: Linux 3.10.0-862.el7.x86_64Architecture: x86-64

启动界面如下:

目前还未在kvm平台上进行过测试,不知道具体情况。

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

四.参考资料

  1. http://elrepo.org/tiki/kernel-ml
  2. https://www.kernel.org

CentOS7.5-1804系统内核升级相关推荐

  1. CentOS系统内核升级攻略

    为什么要升级内核? Docker 在CentOS系统中需要安装在 CentOS 7 64 位的平台,并且内核版本不低于 3.10:CentOS 7.× 满足要求的最低内核版本要求,但由于 CentOS ...

  2. CentOS7设置GRUB系统内核开机选单

    CentOS7设置GRUB系统内核开机选单 方法一:(创建.查看.编辑.用命令设置) #根据/boot/目录内的文件 #自动创建GRUB内核配置开机选单 grub2-mkconfig -o /boot ...

  3. CentOS7.5.1804安装yum流程

    CentOS7.5.1804安装yum流程 1.卸载现有的python 强制删除已安装程序及其关联 rpm -qa|grep python|xargs rpm -ev --allmatches --n ...

  4. 魔众相册系统 v1.2.0 系统内核升级,界面显示优化

    魔众相册系统是一个基于MySQL5与PHP5开发的相册系统,支持多分类.图片.视频.加密等特性,帮助您更好的搭建个人相册系统. 魔众相册系统发布v1.2.0版本,新功能和Bug修复累计7项,系统内核升 ...

  5. centos7.x物理机升级lt内核后 因为Realtek,瑞昱网卡Realtek8169引发的惨剧,升级到ml后解决...

    centos7.x物理机升级lt内核后 因为Realtek,瑞昱网卡Realtek8169引发的惨剧,升级到ml后解决 这两天在一台物理机上安装centos7.5,主要是为了跑docker做一些测试环 ...

  6. 魔众问答系统 v1.3.0 系统内核升级,界面显示优化

    魔众问答系统是一套轻量级问答管理系统,支持多用户在线问答,在线专家等模式,帮助您快速搭建私有化的问答系统 魔众问答系统发布v1.3.0版本,新功能和Bug修复累计12项,系统内核升级,界面显示优化. ...

  7. Centos7.5.1804永久生效修改主机名

    原来主机名 [root@node1 ~]# 查看Centos的版本: [root@node1 ~]# cat /etc/redhat-release CentOS Linux release 7.5. ...

  8. centos7 怎么封装自己的镜像_「10」-CentOS7.5(1804)

    终于也是到了虚拟机的安装了,vm虚拟机的安装和介绍就不多说了今天的重点是Cent0S7.5 有人就会问了,为什么不是6.5或其他的6的版本呢? 是这样的,本人最近购买了一个云服务器,看到上面的选项中确 ...

  9. linux 7 内核崩溃重启,centos7无故重启-内核升级

    最近有一台物理服务器,centos7操作系统,无故重启,每天都会发生这种情况: 解决: 升级内核 CentOS 允许使用 ELRepo,这是一个第三方仓库,可以将内核升级到最新版本,使用ELRepo升 ...

最新文章

  1. nodejs html转excel,Node.js excel sheetjs/js-xlsx
  2. putty保存用户名和密码_使用PuTTY远程登录软件登录 Linux 实例
  3. ES6之const命令
  4. python如何在所有线程结束后执行最后操作_Python线程的生命周期
  5. eclipse远程调试tomcat
  6. python是什么意思中文、好学吗-爬虫Python入门好学吗?学什么?
  7. matlab 画非线性曲线,matlab 非线性曲线拟合, nlinfit  lsqcurvefit  lsqnonlin
  8. java如何代码找错误_java代码查错11道题
  9. mysql jpa默认值_Spring JPA-枚举中枚举字段的默认值
  10. SD卡驱动(详细介绍,不明白的人可以仔细看看了.有流程图)
  11. 工作两年前端经验分享
  12. 直流无刷电机的一些介绍
  13. 谈论机器学习中,哪种学习算法更好有意义吗?
  14. framemaker 导出word文档,利用list遍历输出换行以及保留段落格式(首行空两格)
  15. java.lang.RuntimeException:Unable to start activity ComponentInfo{com.meizu.beautify/com.my.viewc.Ma
  16. 企业级用户画像:开发RFM模型实例
  17. 删除maven仓库中的lastUpdated
  18. JAVA重复图片_〔批处理〕处理重复图片
  19. 攻击方式 ---- SSH暴力破解
  20. com.google.common.collect.FluentIterable.concat

热门文章

  1. 用python画简单雪花剪纸步骤图解_简单雪花剪纸步骤图解
  2. threejs置换模型材质
  3. CS269I:Incentives in Computer Science 学习笔记 Lecture 12 对称信息和声誉系统
  4. thymeleaf 遍历map
  5. java正则表达式Pattern和Matcher
  6. UML-综合实例-网上书店
  7. 魅蓝e android版本,魅蓝E的安卓7.0来了!魅蓝E2却看哭了
  8. macbookpro13 安装jdk,maven
  9. java中拦截这个类的方法_类拦截器和方法拦截器
  10. SyntaxHighlighter代码高亮插件显示时第一行会多出几个空格问题。