你能*模拟*从一个 Ubuntu 版本升级到下一个版本吗?

Fre*_*ton 3 upgrade package-management dependencies

如何升级到较新版本的 Ubuntu?在解释如何进行版本升级方面做得很好。它还说“升级 Ubuntu 工作 100 次中有 99 次”这不是我的经验-我遇到了大约 6 次中有 6 次的问题(我不怪 Ubuntu-我认为我在没有深入理解的情况下搞砸了我的安装我正在做的事情造成了非典型的问题)。所以我总是在尝试升级之前对整个系统进行映像。然后我尝试升级,如果它不顺利并且我解决问题的尝试失败,我将系统恢复到我开始的地方。所有这些都需要相当长的时间。

所以我想知道是否有一种方法可以模拟版本升级,以便我可以找出是否会有问题区域并在实际升级之前可能解决它们。

例如,在我当前的 14.04.3 安装上,apt-get checkapt-get -f install没有报告任何问题。但是昨晚我升级到14.10后,有3、4个包坏了,无法解决冲突。在尝试升级之前,有没有办法查看可能导致升级时出现问题的安装有什么问题?

我想即使不升级,这也可能是有用的信息 - 这些“隐藏”问题可能会导致稳定性或性能问题......

Ron*_*Ron 6

do-release-upgrade将执行版本升级,但do-release-upgrade没有试运行选项。但是,它确实有一个--sandbox选择。

从以--sandbox模式运行的角度来看,对系统所做的任何更改实际上都将写入 ramdisk,并在重新启动时通过魔术 os Aufs 进行重置。这使您可以在功能齐全的状态下彻底测试您的机器,而不会冒损坏它的风险。

来自原始邮件列表;

“这个想法......是在“/”中的 systemdirs 顶部的 /tmp 中创建一个可写覆盖,然后运行版本升级。这样我们可以轻松测试系统是否会干净地升级(如果没有 dpkg 错误/维护者脚本失败发生。所有写入都进入/tmp,因此在升级和下次重新启动后,系统再次恢复到其升级前的状态(模/home,未覆盖)。”

有关这方面的更多信息,请参阅原始邮件列表或这篇文章。

对于 dist-upgrades,您可以使用--dry-runwithsudo apt-get dist-upgrade来模拟运行此命令,而无需实际执行升级。

   -s, --simulate, --just-print, --dry-run, --recon, --no-act
       No action; perform a simulation of events that would occur but do not actually change the
       system. Configuration Item: APT::Get::Simulate.

       Simulate prints out a series of lines each one representing a dpkg operation, Configure (Conf),
       Remove (Remv), Unpack (Inst). Square brackets indicate broken packages with and empty set of
       square brackets meaning breaks that are of no consequence (rare).


   -u, --show-upgraded
       Show upgraded packages; Print out a list of all packages that are to be upgraded. Configuration
       Item: APT::Get::Show-Upgraded.
Run Code Online (Sandbox Code Playgroud)

  • 发布升级 != `dist-upgrade` (5认同)
  • --sandbox 选项可能与我们将要得到的一样接近,但是 IIRC 我的大部分问题都出现在*升级后重新启动之后,而我在 --sandbox 中不会看到这种情况。赞赏快速响应。 (2认同)