用户安装的每个 Linux 内核都会占用一定的磁盘空间。随着内核的更新,旧版本内核可能会在系统中积累,占据宝贵的磁盘空间。删除和清理不再使用的旧版本内核可以释放磁盘空间、提高利用效率,并避免潜在的存储不足问题。本文将介绍如何在 Ubuntu 中删除多余且未使用的旧版内核。
以下操作涉及删除 Ubuntu 内核,可能对系统产生重大影响。错误使用这些命令可能导致系统不稳定、无法引导,甚至数据丢失。强烈建议:
- 备份重要数据 确保对系统和重要文件进行备份,出了问题还可以恢复。
- 保留一些旧内核 始终保留至少一个或两个版本旧内核,以作备用。
- 检查当前内核版本 务必检查前使用的内核版本,确保不被删除。
- 理解命令 在运行任何命令之前,请确保理解其功能。
Ubuntu 内核存储路径
Linux 内核及其关联文件通常存储在 /boot
目录下,内核模块通常存储在 /lib/modules
目录中:
- /boot 目录 包含与 Linux 内核相关的文件,包括内核映像、
initramfs
文件和引导加载程序的配置文件。内核文件通常以vmlinuz-
或vmlinuz.
开头,以版本号
结尾。 - /lib/modules 目录 存储与已安装内核关联的内核模块。内核模块是动态可加载的组件,用于扩展 Linux 内核的功能。每个内核版本在
/lib/modules/
中都有自己的子目录。
默认情况下,大多数新的 Linux 发行版会保留当前的 Linux 内核版本和上一个版本以供救援和回滚。这样可以确保在升级到新的内核版本后,如果出现任何问题,都可以启动到较旧的、已知工作正常的内核。
因此,这些旧版本内核会持续在 /boot
目录中积累,随着时间的推移逐渐占据更多的磁盘空间。所以,有必要查找并删除这些旧的未使用的 Linux 内核,以释放宝贵的磁盘空间。
自动删除 Ubuntu 旧版内核
在 Debian、Ubuntu 及其衍生版本(如 elementary OS、Linux Mint 和 Pop!_OS)中,主要有两种种方法可以删除旧版本内核:
1在「终端」中运行以下命令查看所有已安装的 Linux 内核列表:
dpkg --list | grep linux-image
在 Ubuntu 中查看已安装的 Linux 内核
如上图所示,第一列显示了 rc
和 ii
,他们是软件包状态指示符:
- ii 表示 已安装,并成功安装/配置。它表示相应的软件包当前已安装在系统上,并处于功能正常的状态。
- rc 表示 已删除,但配置文件仍然存在。它表示该软件包已被删除,但其配置文件仍然存在于系统中。这种状态通常在软件包被删除但没有完全清除时出现,为将来可能重新安装时保留配置文件。
2使用以下命令自动删除未使用的旧版 Linux 内核:
sudo apt-get autoremove --purge
自动删除 Ubuntu 未使用的旧版内核
手动删除 Ubuntu 旧版内核
要手动删除未使用的 Linux 内核,可以按照以下步骤进行:
1在「终端」中运行以下命令查看当前内核版本:
uname -r
这将显示当前正在使用的内核版本,确保不要删除该内核。
2运行以下命令以查看系统已经安装的 Linux 内核列表:
dpkg --list | grep linux-image
查看当前及已安装的内核版本
3从列表中确定要删除的内核。通常情况下,需要保留最新的内核以及一两个之前的版本作为备用。
4要删除特定内核,请使用以下命令:
sudo apt-get purge linux-image-x.x.x-x-generic
其中 x.x.x-x
代表内核版本,将其替换为要删除的实际版本号。对于每个要卸载的内核,重复执行此命令。
手动删除 Ubuntu 未使用的旧版内核
5在删除旧的内核后,运行以下命令来更新 GRUB 引导加载程序:
sudo update-grub
6重新启动 Ubuntu 系统。
删除不必要的 rc 包(配置文件)
要删除所有 rc
包,可以使用以下命令:
sudo dpkg --purge $(dpkg -l | awk '/^rc/{print $2}')
清除 Ubuntu 中所有具有 rc 状态的包。
在使用此命令时请谨慎,并确保要删除的包不再需要,它们可能包含重要的配置文件。
高效管理 Ubuntu 内核是系统管理的关键方面。随着系统的更新和安装新的内核版本,旧的未使用内核往往会逐渐积累。这些旧内核可能占用宝贵的磁盘空间,并且在某些情况下,如果它们存在漏洞,还可能构成安全风险。因此,建议定期清理 Ubuntu 中的老旧版本和未使用的内核。