不再需要 apt dist-upgrade

sin*_*ium 24 upgrade update-manager package-management apt 18.04

在 Ubuntu 18.04 可用之前,我使用的是 Ubuntu 16.04。我正在使用sudo apt-get update,sudo apt-get upgradesudo apt-get dist-upgrade进行更新和升级。与Ubuntu 18.04,我改为使用apt代替apt-get。对我来说奇怪的是它sudo apt dist-upgrade不再起作用:我使用sudo apt updateand进行更新和升级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.  
Run Code Online (Sandbox Code Playgroud)

自从我开始使用apt而不是apt-get.
它是否与apt(即sudo apt upgrade替换upgradedist-upgrade)有关,或者究竟是什么问题?

use*_*186 33

apt-get upgrade对比apt upgrade对比apt full-upgrade

apt-get upgrade仅升级应用程序、工具和实用程序。它不会安装操作系统的新 Linux 内核。

apt upgrade升级应用程序、工具和实用程序,并安装操作系统的新 Linux 内核。但是,它永远不会删除旧包。

apt full-upgrade升级应用程序、工具和实用程序,并安装操作系统的新 Linux 内核。如果升级需要,它还会删除旧包。

在我看来,它apt full-upgradeapt-get dist-upgrade. 也就是说,full-upgrade如果可用,将检查并安装新内核,如果升级需要删除旧软件包,则删除旧软件包。

内核是操作系统的基本部分。因此,当您运行apt upgrade或时,旧版本的内核永远不会被新版本替换apt full-upgrade。安装了新版本的内核,现有版本保持原样。在升级过程中,grub 中的配置更改为默认从新版本启动。如果新内核由于某种原因不起作用,可以从高级 grub 菜单中从旧内核启动。

请注意,apt full-upgrade在安装最新版本时不会删除旧版本的内核。要删除这些必须使用apt autoremove.

为什么将名称从 更改dist-upgradefull-upgrade

  • 如果你使用,apt-get那么你需要使用dist-upgrade
  • 如果你使用,apt那么你需要使用full-upgrade

我认为这dist-upgrade有点令人困惑。例如,这不会从 Ubuntu 16.04 升级到 Ubuntu 18.04。它只在 Ubuntu 16.04 中升级内核和其他东西。

我认为full-upgradedist-upgrade.

请参阅什么是“dist-upgrade”以及为什么它比“upgrade”升级更多?更多细节。

完全披露:我只是 Ubuntu 的用户,我没有做出改变它的决定。这些是我个人的看法。

希望这可以帮助

  • *“我认为 dist 升级有点令人困惑。”* 我发誓这是本世纪关于 apt 的轻描淡写。有什么关于 apt 是*不*令人困惑的吗?!比如“apt”或“aptitude”这个名字首先与包管理有什么关系?为什么 apt 有 3 种变体?为什么 apt-*get* *modify* 我的系统?为什么“更新”不更新我的系统?为什么“升级”不升级我的系统?为什么它不应该像健全的操作系统一样在自动升级之前更新其内部缓存?为什么清除卸载软件包而不是从缓存中清除它?等等.... (2认同)

use*_*733 16

dist-upgrade已在 Ubuntu 中被full-upgrade.

Ubuntu 的老用户记得什么时候dist-upgrade确实经常使用它来安装内核包。内核包名称随版本而变化,使它们不符合普通upgrade. full-upgrade添加是为了安全地满足 Ubuntu 包流程的这种需求。

的最初目的dist-upgrade是在 Debian 的发行版(大致相当于 Ubuntu 的do-release-upgrade.)之间迁移。因此,对意外后果的保护较少。在同意之前仔细阅读提议的更改。

使用dist-upgrade而不是full-upgrade可能不会损害健康的系统。十多年来,数百万用户已经解决了 apt 工作流程中的许多错误。但是,dist-upgrade可能会对带有破损包或其他未解决问题的系统产生意外结果。