在Ubuntu18.04可用之前,我使用的是Ubuntu16.04。我用sudo apt-get update,sudo apt-get upgrade和sudo apt-get dist-upgrade来进行更新和升级。在Ubuntu18.04中,我改为使用apt而不是apt-get。对我来说奇怪的是,sudo apt dist-upgrade不再起作用了:我使用sudo apt update和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和dist-upgrade),或者到底是什么问题?
发布于 2019-01-24 17:19:29
apt-get upgrade vs apt upgrade vs apt full-upgradeapt-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-upgradeapt,那么您需要使用full-upgrade我觉得dist-upgrade有点混乱。例如,这不会从Ubuntu16.04升级到Ubuntu18.04。它只升级了Ubuntu16.04中的内核和其他东西。
我认为full-upgrade比dist-upgrade更直观。
有关更多详细信息,请参阅什么是“dist-升级”,为什么它的升级比“升级”更多?。
完全公开:我只是Ubuntu的一个用户,我没有做出改变它的决定。这些是我个人的看法。
希望这能有所帮助
发布于 2019-01-24 17:27:03
dist-upgrade在Ubuntu中已被full-upgrade取代。
Ubuntu的老用户还记得当dist-upgrade确实经常被用来安装内核包的时候。内核包名称随版本的变化而变化,因此它们不符合普通upgrade的要求。添加full-upgrade是为了安全地满足Ubuntu包流的这一需求。
dist-upgrade的最初目的是在Debian版本之间进行迁移(大致相当于Ubuntu的do-release-upgrade)。因此,对意外后果的保护要少一点。在同意之前仔细阅读提议的修改。
使用dist-upgrade而不是full-upgrade可能不会损害一个健康的系统。数以百万计的用户在过去的十年里从apt工作流中提取了大量的bug。但是,dist-upgrade可能会在一个系统上出现意外的结果,因为系统中的包已损坏或其他未解决的问题。
https://askubuntu.com/questions/1112555
复制相似问题