在腾讯云中部署了一些服务器,操作系统使用的是CentOS 7.6,但是其默认内核版本较低,现使用ELRepo对CentOS的内核进行升级。

操作环境

服务器:腾讯云轻量应用服务器
操作系统:CentOS 7.6
当前内核版本:3.10.0-1160.45.1
目标内核版本:5.4.233-1

首先查看当前系统的内核版本

uname -rs

可以看到内核版本为3.10.0-1160.45.1

Linux 3.10.0-1160.45.1.el7.x86_64

当前的内核版本实在是太古老了,这里我们使用ELRepo进行内核升级,速度快,操作简单

以下是ELRepo官网地址: https://elrepo.org/

现在让我们开始升级内核吧

首先导入ELRepo仓库的公钥信息

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

导入成功后开始安装ELRepo

以下是RHEL-7, SL-7 or CentOS-7系统的安装指令

yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm

如果你是RHEL-8或者RHEL-9可以参考以下命令

# RHEL-8
yum install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm # RHEL-9
yum install https://www.elrepo.org/elrepo-release-9.el9.elrepo.noarch.rpm

安装完成后,我们查看当前可用的内核发行版本

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

其中主要有两个版本,kernel-lt代表long term support版本,kernel-ml表示mainline stable版本,为了保证系统的安全和稳定性,我们这里使用kernel-lt作为升级版本

Loaded plugins: fastestmirror, langpacks
Repository epel is listed more than once in the configuration
Loading mirror speeds from cached hostfile
* elrepo-kernel: mirrors.tuna.tsinghua.edu.cn
Available Packages
kernel-lt-devel.x86_64 5.4.233-1.el7.elrepo elrepo-kernel
kernel-lt-doc.noarch 5.4.233-1.el7.elrepo elrepo-kernel
kernel-lt-headers.x86_64 5.4.233-1.el7.elrepo elrepo-kernel
kernel-lt-tools.x86_64 5.4.233-1.el7.elrepo elrepo-kernel
kernel-lt-tools-libs.x86_64 5.4.233-1.el7.elrepo elrepo-kernel
kernel-lt-tools-libs-devel.x86_64 5.4.233-1.el7.elrepo elrepo-kernel
kernel-ml.x86_64 6.2.1-1.el7.elrepo elrepo-kernel
kernel-ml-devel.x86_64 6.2.1-1.el7.elrepo elrepo-kernel
kernel-ml-doc.noarch 6.2.1-1.el7.elrepo elrepo-kernel
kernel-ml-headers.x86_64 6.2.1-1.el7.elrepo elrepo-kernel
kernel-ml-tools.x86_64 6.2.1-1.el7.elrepo elrepo-kernel
kernel-ml-tools-libs.x86_64 6.2.1-1.el7.elrepo elrepo-kernel
kernel-ml-tools-libs-devel.x86_64 6.2.1-1.el7.elrepo elrepo-kernel
perf.x86_64 5.4.233-1.el7.elrepo elrepo-kernel

开始安装长期支持版本kernel-lt

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

安装完毕后,查看一下系统中已完成的kernel信息

grubby --info=ALL | grep ^kernel

可以看到kernel-lt的最新版本5.4.233-1已经安装成功了

kernel=/boot/vmlinuz-0-rescue-3d0df1c5536b40eba1b845d007ce1f87
kernel=/boot/vmlinuz-5.4.233-1.el7.elrepo.x86_64
kernel=/boot/vmlinuz-3.10.0-1160.45.1.el7.x86_64
kernel=/boot/vmlinuz-0-rescue-21acf41b46a64ca4a55e93cb350a7749

查看一下当前系统的默认内核

grubby --default-kernel

可以看到当前默认内核依旧为3.10.0-1160.45.1

/boot/vmlinuz-3.10.0-1160.45.1.el7.x86_64

修改系统的默认内核为我们新安装的内核版本

grubby --set-default "/boot/vmlinuz-5.4.233-1.el7.elrepo.x86_64"

重启系统,使内核生效

reboot

重启成功之后再次查看当前系统信息

uname -rs

可以看到当前我们使用的是新安装的内核了

Linux 5.4.233-1.el7.elrepo.x86_64

为了节省空间,我们可以按需移除老的内核

查看已安装的内核

rpm -qa | grep kernel

可以看到我们新老内核的信息,以及一些内核开发包

kernel-tools-3.10.0-1160.45.1.el7.x86_64
kernel-devel-3.10.0-1160.45.1.el7.x86_64
abrt-addon-kerneloops-2.1.11-60.el7.centos.x86_64
kernel-headers-3.10.0-1160.45.1.el7.x86_64
kernel-3.10.0-1160.45.1.el7.x86_64
kernel-lt-5.4.233-1.el7.elrepo.x86_64
kernel-tools-libs-3.10.0-1160.45.1.el7.x86_64
kernel-mft-4.15.1-100.kver.3.10.0_1160.45.1.el7.x86_64.x86_64

卸载老的内核信息,注意不要把新的内核也移除了

yum remove kernel-3.10.0-1160.45.1.el7.x86_64 \
kernel-tools-3.10.0-1160.45.1.el7.x86_64 \
kernel-devel-3.10.0-1160.45.1.el7.x86_64 \
kernel-headers-3.10.0-1160.45.1.el7.x86_64 \
kernel-tools-libs-3.10.0-1160.45.1.el7.x86_64

最后如有有需要的话,可以更新一下系统里的软件包

# yum update
yum --enablerepo=elrepo-kernel update

到此内核就升级完成了,整个过程还是相当顺畅的,不过下载新内核的时候可能网速比较慢,如果发生失败可以多试几次或者使用国内的镜像源来提速。

使用ELRepo升级CentOS内核的更多相关文章

  1. 升级CentOS内核 - 2.6升级到3.10

    *因为学习docker的需要,docker的官方推荐内核使用3.8以上,所以本人决定把CentOS内核升到长期稳定版的3.10. ##记得切换到root用户执行升级操作. [root@localhos ...

  2. 通过YUM升级centOS内核,以便安装docker

    安装Docker要满足一定的条件,对于cents系统,要求必须是64位,并且内核版本是3.10以上. 如果你的centos操作系统内核低于3.10,需要升级到这个版本以上,才能安装docker. 第一 ...

  3. 升级CentOS内核 - 2.6升级到3.10/最新内核

    ##记得切换到root用户执行升级操作. [root@localhost ~]# uname -a ##旧版 Linux localhost.localdomain 2.6.32-279.el6.i6 ...

  4. RPM方式编译升级centos内核

    [root@iZ2893wjzgyZ ~]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org [root@iZ2893wjzgyZ ...

  5. 升级centos内核到最新版本

    root权限执行: rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -Uvh http://www.elrepo.org/ ...

  6. 使用yum快速升级CentOS 6.5内核到 3.10.28

    网上有不少升级CentOS内核的文章,如<CentOS 6.5 升级内核到 3.10.28>,大部分都是下载源码编译,有点麻烦. 在yum的ELRepo源中,有mainline(3.13. ...

  7. centos 升级linux内核

    =============================================== 2018/1/14_第1次修改                       ccb_warlock == ...

  8. CentOS 7.4升级Linux内核

    CentOS 7.4升级Linux内核 [日期:2018-01-15] 来源:Linux社区  作者:straycats [字体:大 中 小] 由于最近intel出了Meltdown和Spectre两 ...

  9. yum和编译两种方式升级or降级Centos内核

    http://blog.51cto.com/renzhiyuan/1882599 今天探讨用yum和编译两种方式升级或者降级内核版本: 升级:比如玩kvm,docker等虚拟化,centos内核则升级 ...

  10. Linux:centos内核升级

    centos内核升级 centos升级2.6内核到3.10 在yum的ELRepo源中,有 m ain l ine(3.13.1). l ong- t erm(3.10.28)这2个内核版本,long ...

随机推荐

  1. 手动实现IOC

    spring官方实现的ioc是通过反射和xml技术实现的,下面我们可以根据这个思路简单实现一下IOC,此处省略构建项目,项目的整体结构如图 第一步,在resources目录下创建beans.xml文件 ...

  2. Notepad++轻量级java环境

    2020-07-11 summary: Notepad++搭建轻量级java环境 notepad++搭建轻量级Java 原因:不想用eclipse 一.本机环境 Windows10 64位 已安装No ...

  3. 项目启用eslint 检测工具

    在日常开发中,一个大点的项目会有多人参与,那么可能就会出现大家的代码风格不一,各显神通,这个时候就要祭出我们的eslint. 在这之前磨刀不误砍柴工,我们先来配置一下我们的代码编辑工具,如何在vsco ...

  4. Opengl数学markdown

    # opengl数学 $$\begin{Bmatrix} {A_{x}}\\ {A_{y}}\\ {A_{z}}\\ \end{Bmatrix} * \begin{Bmatrix} {B_{x}}\\ ...

  5. tensorflow 模型批处理参数tensor快速赋值参考

    批处理调用模型的时候,如果逐像素给tensor对象数据部分赋值的话,效率是很低的,尤其是对于一些图片数据,所以数据块直接拷贝可以大大提高效率, 先取得数据指针: output_tensor->f ...

  6. Webpack解析与讲解

    一.什么是Webpack? 一个基于node.js的前端模块化/预处理/扁平化处理器. 二.为什么要使用Webpack? 解决业务代码中的各种依赖,模块加载,静态文件引入问题(重复依赖/强依赖,阻塞加 ...

  7. 【pytest】pytest.mark.dependency用例依赖标签,并解决依赖失效的问题

    pytest第三方插件,用来解决用例之间的依赖关系.如果依赖的用例执行失败后 后续的用例会被跳过执行,相当于智能执行了pytest.mark.skip, 首先要安装插件:pip install pyt ...

  8. scala概述入门和项目创建

    1.scala简介 (1).scala基于JVM,与JAVA完全兼容,具有跨平台.可移植性好.方便的垃圾回收等特性: (2).scala比JAVA更加面向对象: (3).scala是一门函数式编程语言 ...

  9. geoserver leaflet 使用wms

    注意事项 1.  地址是 http://192.168.31.120:8080/geoserver/cite/wms   不需要后面 2. 名称 city:Polyline3 3.默认层级别调试为0  ...

  10. kubctl

    kubctl delete 命令:删除资源 根据yaml文件删除对应的资源,但是yaml文件并不会被删除,这样更加高效 delete 描述: 按文件名.stdin.资源和名称或按资源和标签选择器删除资 ...