如何在CentOS、RHEL和Fedora中删除旧的未使用内核?
介绍
安装新内核时,不会自动删除旧内核。经过几次更新后,您的系统最终可能会留下许多未使用的内核,占用宝贵的磁盘空间。
这会导致系统速度变慢,更糟糕的是,它可能会阻止重要的系统服务正常启动。在最坏的情况下,您的系统甚至可能无法启动。
删除旧的未使用内核可以释放磁盘空间并确保系统平稳运行。它还可以降低旧版内核中可能存在的安全漏洞的风险,这些旧版内核不再更新。
检查当前内核版本
使用“uname”命令检查当前内核版本
在CentOS、RHEL和Fedora中检查当前内核版本最直接的方法之一是使用'uname'命令。只需打开终端并键入'uname -r'。
输出将显示您当前运行的内核的精确版本。例如,如果您使用的是CentOS 7并且运行'uname -r',您的屏幕应该显示类似以下内容:
3.10.0-1160.el7.x86_64
第一部分“3.10.0”指的是此内核系列的主要版本号,而“-1160.el7.x86_64”是此系列在CentOS 7中部署的此特定版本的唯一标识符。
如何解释输出的说明
如果您不熟悉某些元素,“uname -r”的输出解读起来似乎很令人费解。破折号(-)之前的数字集(例如,3.10.0)表示三个不同的数字,用点(-)分隔:
主要版本号:这表示会彻底影响所有设备或计算机架构兼容性的更改。
次要版本号:这表示不会影响系统之间兼容性的功能或性能改进。
补丁级别号:这显示了不会影响功能或性能的错误修复和其他次要更改。
破折号后面的文本表示有关Linux发行版内核此特定版本的附加信息,例如其构建时间、所属发行版、架构信息等。理解如何解释“uname -r”的输出至关重要,因为它决定了您有效管理系统上内核所需的命令和技术。
列出已安装的内核
在CentOS、RHEL和Fedora中删除旧的未使用内核的第一步是列出所有已安装的内核。这可以使用RPM包管理器来完成。
RPM是用于管理系统包和软件的强大工具,它也可以用于列出所有已安装的内核。为此,请打开终端窗口或通过SSH登录到您的服务器。
登录后,键入以下命令:
rpm -qa kernel
这将显示系统上所有当前已安装的内核的列表。每个内核版本都单独列出,以及其他信息,例如发行日期、版本号和架构。
使用“rpm”命令列出已安装的内核
“rpm”命令是CentOS、RHEL和Fedora系统上最常用的命令之一,用于管理软件包。默认情况下,rpm只显示当前安装在系统上的包。要查看当前安装在系统上的Linux内核版本,可以使用带有“-qa”标志的```rpm```,后面跟着```kernel```。
这将产生类似于以下的输出:
kernel-4.18.0-305.el8.x86_64 kernel-4.18.0-240.el8.x86_64 kernel-4.18.0-147.el8.x86_64 ...
每一行都代表某个时间点安装到系统上的单个内核包(包括旧的未使用包)。提供的信息包括其版本号(例如,“4.18”)以及其发行号(例如,“-305.el8”)、平台架构(例如,x86_64)以及根据其构建方式而定的其他详细信息。
如何阅读输出的说明
当您发出```rpm -qa kernel```命令时,乍一看输出可能有点令人困惑。但是,一旦您了解输出的每个部分的含义,就更容易解释了。
首先,每一行都列出了已安装到系统上的特定内核包和版本号。其次,发行号(例如,“-305.el8”)指示安装了该特定版本的哪个更新或补丁级别。
这是重要的跟踪信息,因为较新的更新通常包含重要的安全修复和错误修复。架构(例如,x86_64)告诉您内核是32位还是64位,以及它是为哪个CPU架构构建的。
在本文后面删除旧内核时,理解如何阅读此信息将非常有用。养成记录当前已安装的内核版本的习惯也很不错,这样您就可以跟踪在以后的Linux系统维护例程中删除未使用内核后可能出现的任何更改或问题。
删除旧内核
如何使用“yum”删除旧内核的说明
确定旧的未使用内核后,下一步是使用“yum”删除它们——yum是用于基于RPM的Linux发行版(如CentOS、RHEL和Fedora)的包管理器。要使用yum删除旧内核,您应该首先打开终端窗口并键入:
sudo yum remove kernel-version
其中“kernel-version”是要删除的内核的版本号。例如,“sudo yum remove kernel-4.18.0-305.el8.x86_64”将在CentOS系统上删除版本4.18.0-305.el8.x86_64。
命令语法和选项
使用yum删除旧内核的语法很简单:
sudo yum remove kernel-version
但是,可以向命令添加其他选项以改进其功能。
一些常见的选项包括:```--allowerasing```:允许删除不必要的依赖项以及软件包,无需确认提示。
```--exclude=kernel*```:排除所有以“kernel”开头的包。```--skip-broken```:忽略任何会导致删除错误的依赖项。
继续操作之前的注意事项和警告
在继续删除旧的未使用内核之前,务必采取预防措施,以避免破坏系统或丢失重要数据。首先,在从系统中删除任何软件之前,始终备份重要数据;这可以确保您在卸载过程中或卸载后出现问题时拥有所有关键文件的副本。
其次,在删除内核之前,务必仔细检查每个内核的版本号,因为删除重要组件可能会导致某些应用程序出现故障甚至完全崩溃。如果您不确定要删除哪个内核,最好保留它们,如有必要,寻求专业帮助。
CentOS、RHEL和Fedora的示例
使用“yum”删除旧的未使用内核的过程在CentOS、RHEL和Fedora中相似。以下是如何在每个系统上删除旧内核的示例:
CentOS:
sudo yum remove kernel-4.18.0-305.el8.x86_64
RHEL:
sudo yum remove kernel-4.18.0-305.el8.x86_64
Fedora:
sudo dnf remove kernel-5.6.6-300.fc32.x86_64
请注意,您系统上的版本号会有所不同;在执行任何命令之前,请务必仔细检查,以免产生意外后果。
结论
删除旧的未使用内核对于维护健康高效的系统至关重要。随着时间的推移,随着新内核版本的发布,旧内核会占用系统上的宝贵空间,并在更新或安装新软件时造成问题。通过删除这些旧内核,您不仅可以释放宝贵的磁盘空间,还可以降低旧版本中可能存在的冲突或安全漏洞的风险。
此外,在系统上保留旧内核会给计算机资源带来压力,并降低计算机的性能。删除它们不仅可以减轻负担,还可以确保系统平稳高效地运行。