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. CommonJS规范与AMD规范的理解
  2. 最新发现6个高质量网站,让人眼前一亮!
  3. 解决Unsupported major.minor version 51.0错误
  4. [转]sqlserver转换为Mysql工具使用
  5. Android之jni出现JNIEnv has no member named ‘GetMehtodID‘解决办法
  6. Orleans 3.0 发布,微软下一代云计算编程模式
  7. TabLayout+ViewPager+Fragment(内部:TabLayout+ViewPager+ Fragment)需要注意!!
  8. 如果你被这个视频深深地震撼!那你一定是幸运的!
  9. snmp++ linux 编译出错_成为linux高手的第二步
  10. MiniUI日期选择框MonthPicker英文修改为中文
  11. ECCV 2020 五项大奖出炉!普林斯顿邓嘉获最佳论文奖
  12. 脚本:自动下载安卓应用并安装到手机
  13. linux如何永久获取root,Linux如何获取root权限?我只想到这些方法了,欢迎补充
  14. 如何在Office 2013或2016中带回Microsoft Office Picture Manager
  15. LinuxStudyNote(39)-Linux软件包管理(1)-Linux软件包简介之源码包与RPM包、源码包的优缺点、RPM二进制包的优缺点
  16. python爬虫之爬取捞月狗直播信息
  17. python表格绘制斜线表头_Python之ReportLab绘制条形码和二维码
  18. 真实的周星星,你了解吗?
  19. 传奇服务器npc位置文件,传奇GEE引擎服务端自定义NPC示列工具
  20. cocos2dx系列--颜色混合BlendFunc

热门文章

  1. C语言-一元二次方程(求根公式)
  2. 【SqlServer】【Oracle】sql复制表定义及复制数据行
  3. [ORACLE]数据库之间复制表
  4. ios 自己服务器 苹果支付_iOS游戏开发二:苹果内支付的流程(In-App Purchases)
  5. 如何在本地调试微信公众号授权获取code
  6. A4纸张打印增值税发票操作指导
  7. 计算机音乐公子,公子是你吗是什么歌 抖音最近爆火的粤语BGM
  8. Android点击空白区域,隐藏输入法软键盘
  9. Oracle数据库之数据库的简单查询
  10. linux 命令 mpstat,Linux命令---mpstat命令详解