Linux是一种开源电脑操作系统内核。它是一个用C语言写成,符合POSIX标准的类Unix操作系统。

Linux最早是由芬兰 Linus Torvalds为尝试在英特尔x86架构上提供自由的类Unix操作系统而开发的。该计划开始于1991年,在计划的早期有一些 Minix 黑客提供了协助,而如今全球无数程序员正在为该计划无偿提供帮助。(参考百度百科)

系统内核版本过低可能影响很多软件系统的安装和使用。下面以Centos7系统为例介绍如何查询和更新系统内核版本。

本文使用MobaXterm连接虚拟机进行的相关操作,具体可参考安装配置centos7虚拟机(详精版)安装虚拟机,或者参考物理机安装centos7(u盘安装)——详细版配置物理机, 参考MobaXterm连接局域网的虚拟机连接虚拟机,也可直接操作虚拟机查询和更新。

1、查询系统内核版本

仅查看版本信息

uname -r

查看版本信息及相关内容

uname -a

通过绝对路径查看查看版本信息及相关内容

cat /proc/version

通过绝对路径查看查看版本信息

cat /etc/redhat-release

2、更新系统内核版本(参考Centos7 升级内核版本)

更新版本使用yum,建议提前更新yum源仓库

更新yum源仓库

yum -y update

更新完成后,启用 ELRepo 仓库并安装ELRepo仓库的yum源

ELRepo 仓库是基于社区的用于企业级 Linux 仓库,提供对 RedHat Enterprise (RHEL) 和 其他基于 RHEL的 Linux 发行版(CentOS、Scientific、Fedora 等)的支持。

1、导入ELRepo仓库的公共密钥

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

 2、安装ELRepo仓库的yum源

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

3、查询可用内核版本

yum --disablerepo="*" --enablerepo="elrepo-kernel" list available

可选版本如下:

[root@localhost ~]# yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile* elrepo-kernel: mirrors.tuna.tsinghua.edu.cn
elrepo-kernel                                                                                          | 3.0 kB  00:00:00
elrepo-kernel/primary_db                                                                               | 2.1 MB  00:00:03
可安装的软件包
elrepo-release.noarch                                          7.0-6.el7.elrepo                                  elrepo-kernel
kernel-lt.x86_64                                               5.4.207-1.el7.elrepo                              elrepo-kernel
kernel-lt-devel.x86_64                                         5.4.207-1.el7.elrepo                              elrepo-kernel
kernel-lt-doc.noarch                                           5.4.207-1.el7.elrepo                              elrepo-kernel
kernel-lt-headers.x86_64                                       5.4.207-1.el7.elrepo                              elrepo-kernel
kernel-lt-tools.x86_64                                         5.4.207-1.el7.elrepo                              elrepo-kernel
kernel-lt-tools-libs.x86_64                                    5.4.207-1.el7.elrepo                              elrepo-kernel
kernel-lt-tools-libs-devel.x86_64                              5.4.207-1.el7.elrepo                              elrepo-kernel
kernel-ml.x86_64                                               5.18.14-1.el7.elrepo                              elrepo-kernel
kernel-ml-devel.x86_64                                         5.18.14-1.el7.elrepo                              elrepo-kernel
kernel-ml-doc.noarch                                           5.18.14-1.el7.elrepo                              elrepo-kernel
kernel-ml-headers.x86_64                                       5.18.14-1.el7.elrepo                              elrepo-kernel
kernel-ml-tools.x86_64                                         5.18.14-1.el7.elrepo                              elrepo-kernel
kernel-ml-tools-libs.x86_64                                    5.18.14-1.el7.elrepo                              elrepo-kernel
kernel-ml-tools-libs-devel.x86_64                              5.18.14-1.el7.elrepo                              elrepo-kernel
perf.x86_64                                                    5.18.14-1.el7.elrepo                              elrepo-kernel
python-perf.x86_64                                             5.18.14-1.el7.elrepo                              elrepo-kernel

其中lt表示long-term,即主线版本,该版本建议慎重选择。

其中mt表示latest mainline,即长期稳定版本,稳定可靠,建议安装该版本

如:yum -y --enablerepo=elrepo-kernel install kernel-lt

4、安装最新的稳定版本内核

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

会默认安装lt的最新版本,即5.4.207-1.el7.elrepo,也可根据具体需要指定对应版本。

安装完成后需要设置 grub2,即内核默认启动项

5、设置 grub2

内核安装好后,需要设置为默认启动选项并重启后才会生效

查看系统上的所有可用内核:

sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
[root@localhost ~]# sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
0 : CentOS Linux (5.4.207-1.el7.elrepo.x86_64) 7 (Core)
1 : CentOS Linux (3.10.0-1160.71.1.el7.x86_64) 7 (Core)
2 : CentOS Linux (3.10.0-1160.el7.x86_64) 7 (Core)
3 : CentOS Linux (0-rescue-ddffbd8f43784edb9fdccc4463258697) 7 (Core)

刚刚安装的内核即0 : CentOS Linux (5.4.207-1.el7.elrepo.x86_64) 7 (Core)

我们需要把grub2默认设置为0

可以通过 grub2-set-default 0 命令或编辑 /etc/default/grub 文件来设置

方法1:通过 grub2-set-default 0 命令设置

grub2-set-default 0

方法2:编辑 /etc/default/grub 文件

vim /etc/default/grub

编辑(e)将GRUB_DEFAULT设置为0,如下

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 rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"
GRUB_DISABLE_RECOVERY="true"

修改完成后保存退出(:wq)

6、生成 grub 配置文件并重启

grub2-mkconfig -o /boot/grub2/grub.cfg
[root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.4.207-1.el7.elrepo.x86_64
Found initrd image: /boot/initramfs-5.4.207-1.el7.elrepo.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-1160.71.1.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-1160.71.1.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-1160.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-1160.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-ddffbd8f43784edb9fdccc4463258697
Found initrd image: /boot/initramfs-0-rescue-ddffbd8f43784edb9fdccc4463258697.img
done

重启虚拟机或物理机

reboot

启动第一个(刚刚安装的内核版本)内核版本

7、验证是否成功安装

使用查询内核版本命令

uname -r
uname -a

[root@localhost ~]# uname -r
5.4.207-1.el7.elrepo.x86_64
[root@localhost ~]# uname -a
Linux localhost.localdomain 5.4.207-1.el7.elrepo.x86_64 #1 SMP Tue Jul 19 10:40:55 EDT 2022 x86_64 x86_64 x86_64 GNU/Linux

8、删除旧内核(可选

查看系统中的全部内核

rpm -qa | grep kernel
[root@localhost ~]# rpm -qa | grep kernel
kernel-tools-libs-3.10.0-1160.71.1.el7.x86_64
kernel-3.10.0-1160.el7.x86_64
kernel-lt-5.4.207-1.el7.elrepo.x86_64
abrt-addon-kerneloops-2.1.11-60.el7.centos.x86_64
kernel-tools-3.10.0-1160.71.1.el7.x86_64
kernel-3.10.0-1160.71.1.el7.x86_64

可选择删除3.10版本的内核

yum remove kernel-版本
[root@localhost ~]# yum remove kernel-3.10.0-1160.el7.x86_64 kernel-3.10.0-1160.71.1.el7.x86_64 kernel-tools-3.10.0-1160.71.1.el7.x86_64 kernel-tools-libs-3.10.0-1160.71.1.el7.x86_64
已加载插件:fastestmirror, langpacks
正在解决依赖关系
--> 正在检查事务
---> 软件包 kernel.x86_64.0.3.10.0-1160.el7 将被 删除
--> 正在处理依赖关系 kernel(PDE_DATA) = 0x44f0d59d,它被软件包 kmod-kvdo-6.1.3.23-5.el7.x86_64 需要

恭喜你,更新内核完成!

Centos7升级内核——图文详尽版相关推荐

  1. Linux centos7升级内核(两种方法:内核编译和yum更新)

                Linux centos7升级内核(两种方法:内核编译和yum更新) Linux的内核概念不用说大家也很清楚,正是内核版本的不同,才有Linux发行版本的说法,现在主流的cen ...

  2. Linux Glibc幽灵漏洞紧急修补方案;Centos7升级内核到3.18

    本文转载:http://ixdba.blog.51cto.com/2895551/1609526 幽灵漏洞是Linux glibc库上出现的一个严重的安全问题,他可以让***者在不了解系统的任何情况下 ...

  3. [Centos]Centos7升级内核版本

    环境信息 OS: Centos7 内核:3.10.0-693.el7.x86_64 使用如下命令查询当前内核版本 uname -r 安装 添加ELRepo 源 rpm -Uvh http://www. ...

  4. Centos7 升级内核版本

    1.查看当前内核版本 $ uname -r 3.10.0-514.el7.x86_64 $ uname -a Linux k8s-master 3.10.0-514.el7.x86_64 #1 SMP ...

  5. linux contos升级内核,CentOS7升级内核方法

    1.查看当前版本内核方法 #uname -a 2.升级准备步骤 先用以下命令更新仓库: #yum -y update 启用 ELRepo 仓库 # rpm --import https://www.e ...

  6. centos7 升级内核

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

  7. CentOS7升级内核kernel5.0

    升级过程: 原系统:CentOS7.3 [root@my-e450 ~]# uname -r 3.10.0-514.el7.x86_64 安装必需的软件包: # yum update # yum in ...

  8. Linux CentOS7 升级内核的方法

    0.查看操作系统内核版本 [root@host-10-20-89-5 default]# uname -r 1.安装ELRepo到CentOS 最好从官方网站获取最新版本(官网地址:http://el ...

  9. Linux:Centos7升级内核

    更新前,内核版本为: uname -r 3.10.0-327.10.1.el7.x86_64 升级的方法: 1.导入key rpm --import https://www.elrepo.org/RP ...

最新文章

  1. 轻量级 memcached缓存代理 twemproxy实践
  2. 每秒上万并发下的Spring Cloud参数优化实战
  3. python网上编程课程-什么是Python编程课程
  4. 入门linux经典书籍--linux从入门到精通
  5. 比特币近24小时内链上交易额有所上升,约为345.44亿美元
  6. 对NVM区的合理使用
  7. iOS开发过程中常见错误问题及解决方案
  8. rsync 全网备份
  9. ProviderManager
  10. [0715]JSOI Test digit
  11. td中文字间距_怎么做?文字编排创意的小心思
  12. 计算机二级java应用题怎么答,2015年计算机二级考试JAVA基本操作和简单应用题
  13. ruhr启动mysql数据库_mysql报错:ERROR! MySQL is not running, but lock file (/var/lock/subsys/mysql) exists...
  14. oracle10g debian,Debian Sarge 上安装 Oracle 10g
  15. python合并大量ts文件_python合并ts视频
  16. 【时间同步】IEEE-1588总结
  17. 开展建设医院信息化是医疗行业发展的大势所趋
  18. windows dhcp服务器使用脚本批量创建作用域
  19. Binder基石-Parcel
  20. QT中的sender函数,result函数

热门文章

  1. 面试题1:一个人岁数的3次方是四位数,四次方是六位数,并知道此人岁数的3次方和4次方用遍了0--9十个数字,请编程写程序求此人的岁数
  2. java定义日期格式_Java时间格式定义详解
  3. 无参构造函数和有参构造函数在创建对象时初始化的使用
  4. 美伊战争_战争不是答案
  5. python读取fiddler_大数据采集之python的docker爬虫技术-fiddler抓包软件详细配置(7)...
  6. Unity快速入门之傻瓜小鸟“Flappy Bird”(三)
  7. Hbuilder真机调试
  8. 锐捷网络与科大讯飞战略签约 强强联手助力智慧教育
  9. 日本推出 VR 仿真应用,你会害怕“虚拟”大灾难吗?
  10. 探探自动右滑_探探自动右滑:Python学习日志番外01