CentOS Linux内核的升级与旧内核的卸载

文章目录

  • CentOS Linux内核的升级
    • 查看系统内核版本
    • 安装公钥
    • 安装ELRepo
    • 更新系统依赖
    • 安装最新版的Linux内核
  • CentOS Linux旧有内核的卸载
    • 查看当前操作系统的所有内核版本
    • 删除旧有内核版本

CentOS Linux内核的升级

查看系统内核版本

  查看当前操作系统的Linux内核版本:

uname -a

  我的Linux内核版本信息为:

[root@192 ~]# uname -r
3.10.0-957.21.3.el7.x86_64

  由于Linxu内核版本已经到了5.x,因而现今的版本号肯定已经过期了,所以这才有我们升级linux内核版本的需求。

安装公钥

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

安装ELRepo

  不同的操作系统版本,其安装的ELRepo软件版本本身是不同的,我这里的操作系统为CentOS7,对应的软件版本如下:

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

如果是CentOS8操作系统,则需要安装下面的ELRepo软件版本:

yum install https://www.elrepo.org/elrepo-release-8.0-2.el8.elrepo.noarch.rpm (external link)

更新系统依赖

  由于新版本的ELRepo需要提供kmod-r8168的支持,所以说我们还需要安装如下软件。

yum install kmod-r8168

  当然,还有一种更简单的方法,就是执行系统依赖更新操作。

yum update

  此时会下载更新一大堆的系统依赖软件,其中就包含了上面的kmod-r8168,本人推荐的还是使用下面的方式。

安装最新版的Linux内核

  搜索可用的内核版本:

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

  其现在可用的版本如下:

[root@192 ~]# yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * elrepo-kernel: hkg.mirror.rackspace.com
elrepo-kernel                                                                                                   | 2.9 kB  00:00:00     
elrepo-kernel/primary_db                                                                                        | 1.8 MB  00:00:01     
可安装的软件包
kernel-lt.x86_64                                                   4.4.186-1.el7.elrepo                                   elrepo-kernel
kernel-lt-devel.x86_64                                             4.4.186-1.el7.elrepo                                   elrepo-kernel
kernel-lt-doc.noarch                                               4.4.186-1.el7.elrepo                                   elrepo-kernel
kernel-lt-headers.x86_64                                           4.4.186-1.el7.elrepo                                   elrepo-kernel
kernel-lt-tools.x86_64                                             4.4.186-1.el7.elrepo                                   elrepo-kernel
kernel-lt-tools-libs.x86_64                                        4.4.186-1.el7.elrepo                                   elrepo-kernel
kernel-lt-tools-libs-devel.x86_64                                  4.4.186-1.el7.elrepo                                   elrepo-kernel
kernel-ml.x86_64                                                   5.2.2-1.el7.elrepo                                     elrepo-kernel
kernel-ml-devel.x86_64                                             5.2.2-1.el7.elrepo                                     elrepo-kernel
kernel-ml-doc.noarch                                               5.2.2-1.el7.elrepo                                     elrepo-kernel
kernel-ml-headers.x86_64                                           5.2.2-1.el7.elrepo                                     elrepo-kernel
kernel-ml-tools.x86_64                                             5.2.2-1.el7.elrepo                                     elrepo-kernel
kernel-ml-tools-libs.x86_64                                        5.2.2-1.el7.elrepo                                     elrepo-kernel
kernel-ml-tools-libs-devel.x86_64                                  5.2.2-1.el7.elrepo                                     elrepo-kernel
perf.x86_64                                                        5.2.2-1.el7.elrepo                                     elrepo-kernel
python-perf.x86_64                                                 5.2.2-1.el7.elrepo                                     elrepo-kernel

  在上面的搜索结果中,我们可以看到,其最新稳定版基于ELRepo的版本号为:5.2.2-1.el7.elrepo,而其属于Linuxkernel-ml内核版本,而我们这里,所要安装的就是kernel-ml

  安装kernel-ml的指令如下:

yum --enablerepo=elrepo-kernel install kernel-ml

  期间会出现下面的提示:

kernel-ml-5.2.2-1.el7.elrepo.x86_64.rpm 的公钥尚未安装
kernel-ml-5.2.2-1.el7.elrepo.x86_64.rpm                                                                         |  48 MB  00:00:21     
从 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org 检索密钥
导入 GPG key 0xBAADAE52:
 用户ID     : "elrepo.org (RPM Signing Key for elrepo.org) "
 指纹       : 96c0 104f 6315 4731 1e0b b1ae 309b c305 baad ae52
 软件包     : elrepo-release-7.0-4.el7.elrepo.noarch (installed)
 来自       : /etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org
是否继续?[y/N]:

  这里选择y,然后系统继续进行内核升级。

  当我们看到下面的信息时,这说明我们的kernel-ml版本Linux内核已经安装成功。

已安装:
  kernel-ml.x86_64 0:5.2.2-1.el7.elrepo                                                                                                

完毕!

CentOS Linux旧有内核的卸载

查看当前操作系统的所有内核版本

  Linux在升级新的内核后,旧有的系统内核并不会删除或停用,而当系统再次启动时,默认的还是使用之前的旧有内核,比如说就像下面这种情况:

CentOS Linux内核的升级与旧内核的卸载_第1张图片

  我们可以看到,这里不仅仅有我们刚刚安装的最新Linux内核版本5.2.2,同时还存在大量的其它内核版本,这些不用的内核版本在平时也会占用不少的空间,而此时我们就需要卸载掉这些不用的内核版本。

  在删除旧有内核版本前,我们先重启电脑,将电脑选择为最新版内核版本启动,通过下面的方式查看当前操作系统所使用的内核版本。

[root@192 ~]# uname -r
5.2.2-1.el7.elrepo.x86_64

  查看当前系统所有的内核版本

rpm -qa | grep kernel

  其查询结果如下:

[root@192 ~]# rpm -qa | grep kernel
kernel-devel-3.10.0-514.26.2.el7.x86_64
kernel-devel-3.10.0-957.10.1.el7.x86_64
kernel-devel-3.10.0-957.21.3.el7.x86_64
kernel-headers-3.10.0-957.21.3.el7.x86_64
kernel-tools-libs-3.10.0-957.21.3.el7.x86_64
kernel-ml-5.2.2-1.el7.elrepo.x86_64
abrt-addon-kerneloops-2.1.11-52.el7.centos.x86_64
kernel-3.10.0-957.10.1.el7.x86_64
kernel-devel-3.10.0-957.1.3.el7.x86_64
kernel-3.10.0-862.14.4.el7.x86_64
kernel-3.10.0-957.1.3.el7.x86_64
kernel-3.10.0-957.21.3.el7.x86_64
kernel-3.10.0-514.26.2.el7.x86_64
kernel-devel-3.10.0-862.14.4.el7.x86_64
kernel-tools-3.10.0-957.21.3.el7.x86_64

  在这里,我们要删除那些不用的内核版本。

删除旧有内核版本

  这里我们以删除kernel-3.10.0-514.26.2.el7.x86_64内核版本为例来进行说明。

yum remove kernel-3.10.0-514.26.2.el7.x86_64

  其删除的软件如下:

依赖关系解决

=======================================================================================================================================
 Package                     架构                        版本                                      源                             大小
=======================================================================================================================================
正在删除:
 kernel                      x86_64                      3.10.0-514.26.2.el7                       @updates                      148 M

事务概要
=======================================================================================================================================
移除  1 软件包

安装大小:148 M
是否继续?[y/N]:y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在删除    : kernel-3.10.0-514.26.2.el7.x86_64                                                                                  1/1 
  验证中      : kernel-3.10.0-514.26.2.el7.x86_64                                                                                  1/1 

删除:
  kernel.x86_64 0:3.10.0-514.26.2.el7                                                                                                  

完毕!

  其它内核版本的删除于此类似,在这里,我就不一一说明了。

你可能感兴趣的:(Linux)