系统极客一直在努力
专注于操作系统及软件使用教程

移除Ubuntu 16.04中旧版内核的几种方式

Ubuntu

对于启用 LVM、加密或磁盘存储空间有限时,我们都可以定期或手动删除旧版不使用的 Linux 内核,以防止 /boot 分区的空间不足。要移除 Ubuntu 16.04 中的旧版 Linux Kernel 非常容易,可以进行手动操作或使用 unattended-upgrades 来自动执行,下面我们来说详细介绍下操作步骤。

自动移除Ubuntu 16.04旧版内核

1 使用如下命令可以自动移除 Ubuntu 16.04 系统不再需要的旧版内核和软件包:

sudo apt autoremove --purge

2 在终端中执行如下命令启用无人值守升级(桌面版 Ubuntu 16.04 默认是启用状态):

sudo dpkg-reconfigure unattended-upgrades

3 使用 vi 或 nano 将 /etc/apt/apt.conf.d/50unattended-upgrades 配置文件中的 Unattended-Upgrade::Remove-Unused-Dependencies “false“; 改为 ture 即可。

半自动移除Ubuntu 16.04旧版内核

如果你从 Kernel PPA 安装过最新内核或安装过自己手动编译的内核,那 purge-old-kernels 脚本便是清除这些老旧版本内核的最佳办法。

1 先使用如下命令安装 byobu 包:

sudo apt install byobu

2 再定期执行如下命令即可:

sudo purge-old-kernels

手动移除Ubuntu 16.04旧版内核

如果你的 /boot 分区已满,无法再使用 apt 来升级、安装和移除软件包及相关依赖,此时便可以使用 dpkg 命令以全手动的方式来进行操作:

1 查看当前 Kernel 版本:

uname -r

2 列出不包括当前内核版本的其它所有内核版本:

dpkg -l | tail -n +6 | grep -E 'linux-image-[0-9]+' | grep -Fv $(uname -r)

输出的内容中可能会包括内核映像的如下三种状态:

  • rc:表示已经被移除
  • ii:表示符合移除条件(可移除)
  • iU:已进入 apt 安装队列,但还未被安装(不可移除)。

3 例如要移除状态为 ii 的旧版「linux-image-4.4.0-21-generic」内核,可以使用如下命令:

sudo dpkg --purge linux-image-4.4.0-21-generic
分享到:更多 ()