不再需要dist升级


22

在Ubuntu 18.04可用之前,我正在使用Ubuntu 16.04。而且我正在使用sudo apt-get updatesudo apt-get upgradesudo apt-get dist-upgrade进行更新和升级。在Ubuntu 18.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替换upgradedist-upgrade)相关的问题还是确切的问题是什么?


我会很好奇,想看看完整的答案,但是这似乎表明,你是正确的:askubuntu.com/questions/81585/...
RM-联

Answers:


29

apt-get upgradevs apt upgradevsapt 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-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的用户,我没有决定更改它。这些是我的个人观点。

希望这可以帮助


1
apt本身的联机帮助页上+1,但要学究一点:upgrade 永远不要删除现有的软件包,而full-upgrade 如果需要升级整个系统它将删除当前安装的软件包。另外,apt dist-upgrade在我的系统上看起来也可以正常工作(可能是为了向后兼容)。
先生

@MrShunz我知道这是手册页所说的。我还将添加的其他答案中也提到了该参考。
user68186

apt upgradeapt-get upgrade处理事物的不同,请参阅hiroom2.com/2016/05/20/ubuntu-16-04-debian-8-apt-command/...
mook765

@ mook765谢谢!我将根据您的参考来编辑答案。
user68186

2
“我认为远程升级有点混乱。” 我发誓这是本世纪对适切性的轻描淡写。apt有什么容易混淆的地方吗?像“ apt”或“ aptitude”一词与软件包管理起初有什么关系?为什么会有apt的3种变化?为什么 修改我的系统?为什么“更新”不更新我的系统?为什么“升级”不升级我的系统?为什么不像理性的操作系统那样在自动升级之前不更新内部缓存?为什么要清除卸载软件包而不是从缓存中清除软件包?等等...
Mehrdad

15

dist-upgrade已被Ubuntu取代full-upgrade

Ubuntu的老用户记得dist-upgrade确实经常使用什么时间来安装内核软件包。内核软件包名称随版本而变化,因此不符合normal的资格upgradefull-upgrade为了安全地满足Ubuntu软件包流程的这一需求而添加了。

的最初目的dist-upgrade是在Debian发行版之间进行迁移(大致等效于Ubuntu的发行版do-release-upgrade)。因此,受到意外影响的保护措施要少一些。在同意之前,请仔细阅读建议的更改。

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


+1的原始目的dist-upgradesources.list我猜想,人们将不得不摆弄使用它。
user68186
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.