在 Ubuntu 18.04 可用之前,我使用的是 Ubuntu 16.04。我正在使用sudo apt-get update
, sudo apt-get upgrade
andsudo apt-get dist-upgrade
来做更新和升级的东西。在 Ubuntu 18.04 中,我改为使用apt
而不是apt-get
. 对我来说奇怪的是它sudo apt dist-upgrade
不再起作用:我使用sudo apt update
and进行更新和升级sudo apt upgade
,但是当我运行时sudo apt dist-upgrade
,没有任何事情发生与我使用时相反sudo apt-get dist-upgrade
。
当我使用时,sudo apt-get dist-upgrade
一些软件包被删除并安装了其他软件包。但是,当我跑步时sudo apt dist-upgrade
,什么也没发生。我得到的只是:
sudo apt dist-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
自从我开始使用apt
而不是apt-get
.
它是否与apt
(即sudo apt upgrade
同时替换upgrade
and dist-upgrade
)有关,或者问题到底是什么?
apt-get upgrade
对比apt upgrade
对比apt full-upgrade
apt-get upgrade
仅升级应用程序、工具和实用程序。它不安装操作系统的新 Linux 内核。apt upgrade
升级应用程序、工具和实用程序并安装操作系统的新 Linux 内核。但是,它永远不会删除旧包。apt full-upgrade
升级应用程序、工具和实用程序并安装操作系统的新 Linux 内核。如果升级需要,它还会删除旧软件包。在我看来,它
apt full-upgrade
与apt-get dist-upgrade
. 也就是说,full-upgrade
如果可用,它将检查并安装新内核,如果升级需要删除旧软件包,则会删除旧软件包。内核是操作系统的基础部分。
apt upgrade
由于这个原因,当你运行或运行时,旧版本内核永远不会被新版本替换apt full-upgrade
。安装新版本的内核并保持现有版本不变。grub 中的配置在升级过程中默认更改为从新版本启动。如果新内核由于某种原因不能工作,可以从高级 grub 菜单从旧内核启动。注意,
apt full-upgrade
在安装最新版本时不会删除旧版本的内核。要删除这些必须使用apt autoremove
.为什么将名称从 更改
dist-upgrade
为full-upgrade
?apt-get
那么你需要使用dist-upgrade
apt
那么你需要使用full-upgrade
我认为这
dist-upgrade
有点令人困惑。例如,这不会从 Ubuntu 16.04 升级到 Ubuntu 18.04。它只在 Ubuntu 16.04 中升级内核和其他东西。我认为
full-upgrade
比dist-upgrade
.请参阅什么是“dist-upgrade”以及为什么它比“upgrade”升级更多?更多细节。
完全披露:我只是 Ubuntu 的用户,我没有做出改变它的决定。这些是我个人的看法。
希望这可以帮助
dist-upgrade
在 Ubuntu 中已被full-upgrade
.Ubuntu 的老用户记得什么时候
dist-upgrade
确实经常用于安装内核包。内核包名称随版本而变化,使其不符合 normal 的条件upgrade
。full-upgrade
已添加以安全地满足 Ubuntu 软件包流程的这一需求。的最初目的
dist-upgrade
是在 Debian 的版本之间迁移(大致相当于 Ubuntu 的do-release-upgrade
.)。因此,对意外后果的保护要少一些。在同意之前仔细阅读提议的更改。使用
dist-upgrade
而不是full-upgrade
可能不会损害健康的系统。十多年来,数百万用户已经解决了 apt 工作流程中的许多错误。但是,dist-upgrade
可能会在包含损坏的包裹或其他未解决问题的系统上产生意外结果。