apt-get dist-upgrade 不会升级

我正在尝试升级我的电脑。我正在使用apt-get命令。这是我输入的命令:
root@alphabeta:~# apt-get 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-get不能下载更新版本的Xubuntu 16.04,即Xenial Xerus LTS,而是从Xubuntu 17.04,即Zesty Zapus下载并安装xubuntu升级。
在尝试使用命令行参数apt-get update之前,我已经更新了我的软件源。
与此相关的链接没有回答我的问题,我不认为这是我的软件源的问题。我不明白为什么apt-get返回说没有需要升级的内容:0个升级,0个新安装,0个要删除,0个未升级。我唯一能想到的就是清理我的缓存。
我真的希望得到一个更好的答案,关于使用hdparm进行磁盘格式化的信息非常出色。
aptitude不是我的强项,我边学边用,就像lsof一样,我记不住所有的命令行参数。

相关链接:https://askubuntu.com/questions/801488/how-do-i-upgrade-from-14-04-lts-to-16-04-1-lts/938985#938985 - Elder Geek
首先运行apt-get update命令来更新软件源数据库。 - Soren A
你目前正在运行Zesty版本,还是之前的版本?如果是之前的版本,请告知具体是哪个版本。 - Elder Geek
2个回答

升级Xubuntu到最新的LTR版本的首选方法是执行以下操作:
sudo do-release-upgrade

你之前尝试的手动方法可以用来升级到任何你想要的版本。然而,在升级后需要进行一些手动清理,因为apt-get会尽量以最少的删除来解决升级问题。
要手动升级:

首先运行:apt-mark showhold 确保没有被阻止的软件包。
如果发现有被阻止的软件包,则移除阻止并更新它们。我发现使用aptitude是一次标记和更新多个软件包的最简单方法。Aptitude还会建议删除孤立的软件包(即不再被任何东西使用的软件包)。
sudo apt-get autoremove也会删除不再使用的软件包。

在你的系统完全更新到当前版本后,将源更改为指向你想要的Xubuntu版本。
例如:将"trusty"更改为"xenial"

接下来运行以下一系列命令:

sudo apt-get update 这个命令会更新软件包列表。
sudo apt-get upgrade 这个命令会升级那些可以在不改变其他软件包的情况下进行升级的软件包,从而简化下一步的依赖解决过程。
sudo apt-get dist-upgrade 这个命令会升级剩余的可以通过最小数量的删除来进行升级的软件包。

现在你已经拥有了新版本的Xubuntu,并且需要清理掉过时的软件包。同样,我认为使用aptitude是最简单的方法来完成这个任务。
打开aptitude,它将已经列出了建议删除的软件包(孤立的软件包),通常可以安全地将它们删除。
然后检查剩余的过时软件包。在大多数情况下,这些软件包已经被另一个软件包替代:例如gt4被gt5替代,gstreamer0.1-good被gstreamer1.0-good替代。这些替代软件包将显示在新软件包的标题下。
这一步是最关键的,也是我喜欢使用aptitude的原因,替换过时的软件包通常会破坏其他软件包;然而,破坏的软件包通常也有一个替代软件包来修复依赖关系。
Aptitude会列出破坏的软件包并推荐修复方法。在执行之前,请仔细检查要执行的操作。

当你完成后,清理你的软件包缓存: sudo apt-get autoclean 这将删除不再使用的软件包缓存。

你是说被报告为被保留的软件包是导致do-release-update告诉我需要先安装所有可用更新,而尝试升级时告诉我没有任何操作的原因吗? - Michael
为什么要标记包裹以待处理?我没有这样做,不这样做会导致问题吗? - Michael

sudo apt-get dist-upgrade

安装最新的内核以及被普通apt-get升级阻止的其他内容。也许你正在寻找以下内容:
sudo do-release-upgrade

sudo apt-get dist-upgrade 不仅仅是内核更新,它会将所有可用于存储库的软件更新/升级到最新版本。要实现他想要的效果,他首先必须将源列表指向较新版本的Ubuntu。 - ravery
1@ravery 不好意思,但我以前从未进行过就地升级:为什么OP需要将源列表指向更新的版本? - wjandrea
@ravery 编辑完毕。 - You'reAGitForNotUsingGit
@wjandrea -- OP试图通过Debian的方法进行升级。这个回答错误地说sudo dist-upgrade只会升级内核。如果源没有改变,那么什么都不会被升级。 - ravery
@ravery 但这就是为什么Ubuntu有do-release-upgrade - You'reAGitForNotUsingGit
@AndroidDev 是的,这就是为什么我感到困惑。 - wjandrea
@AndroidDev - 没错,不过我在使用它时遇到了一些问题。Ubuntu已经利用一个命令do-release-upgrade自动化了升级的各个步骤。 - ravery
@ravery 哦,那我还是有点困惑。为什么OP需要改变他的资源列表呢? - wjandrea
如果有更简单的方法,为什么还要让OP走弯路? - You'reAGitForNotUsingGit
要通过apt-get updateapt-get upgradeapt-get dist-upgrade来升级,首先需要将源指向你想要升级的Ubuntu版本。实际上,这种方法也可以用于转换到任何基于Debian的Linux系统...就像有位用户所做的那样,他将发行版改为了Kali。 - ravery
@AndroidDev 我并不是让他走弯路,只是指出他为什么没有成功,他忘记了一个步骤。而且你原始陈述中的错误...自动化方式曾经发生过一些依赖链灾难,导致桌面完全被移除。也许楼主想要采取手动方式。 - ravery