我正在使用 Ubuntu 20.04。在过去的 4-5 次中,我使用升级 APT 总是升级以下内容
linux-headers-5.4.0-96 linux-headers-5.4.0-96-generic
linux-image-5.4.0-96-generic linux-modules-5.4.0-96-generic
linux-modules-extra-5.4.0-96-generic
当我使用时autoremove
,它说这些相同的包将被删除。我是 ubuntu 的新手,我不确定我是否在日常工作中使用这些包。但我想知道这里发生了什么?
可能重复。
谢谢!
在我更新的 Ubuntu 20.04 中,Linux 内核的当前版本是 5.4.0-99。apt 为您提供将当前内核从版本 5.4.0-96 升级到 5.4.0-99 的选项。默认情况下,Ubuntu 在您运行时仅保留两个最新安装的内核
sudo apt autoremove
。如果您的 Ubuntu 有两个或多个比 5.4.0-96 更新的内核版本,sudo apt autoremove
则将删除 5.4.0-96 内核,并且如果它们不再存在,它还将删除任何已安装的早于 5.4.0-96 的内核需要。cat /var/log/apt/history.log
在我的 Ubuntu 20.04 上的结果显示,Linux 内核于apt upgrade
2022 年 2 月 8 日从版本 5.4.0-97 升级到 5.4.0-99,并在第二天apt autoremove
删除了 5.4.0-96 内核。TL;博士
Ubuntu GA 内核的当前版本是
5.4-0-99
. 您当前正在使用该版本5.4-0-96
。APT 建议您将内核升级到最新版本 (5.4-0-99
)。apt autoremove
建议您删除旧版本,即 (5.4-0-96
)。让我们以包
linux-headers-5.4.0-96
为例更好地理解它。linux-headers-5.4.0-96
是一个内核包,内核包不同于普通的包。通常,普通包在升级时喜欢
aptitude
并且neofetch
不会更改其名称。与普通软件包不同,内核软件包在升级时会更改其名称。例如,linux-headers-5.4.0-96
将其名称更改为5.4.0-99
.当内核升级时,它以更新包的形式出现,而不是升级旧包。例如,
linux-headers-5.4.0-96
升级到5.4.0-99
. 在这里,包的名称linux-headers-5.4.0-96
更改为 version5.4.0-99
,因此,APT(高级打包工具)将其视为不同的包。根据开发人员和存储库的说法,该软件包
5.4.0-99
是.linux-headers-5.4.0-96
linux-headers-5.4.0-96
因此,APT 显示升级可用于
linux-headers-5.4.0-96
. 如上所述,它不会删除旧版本的软件包。因此,
apt upgrade
将软件包升级到其较新版本而不删除旧版本。但是旧版本的软件包呢?它会永远保留在您的系统中吗?默认情况下,Ubuntu 只保留 2 个最新的内核。如果您的系统有超过 3 个内核或过时的内核,它将被apt autoremove
命令删除。