如何恢复版本升级?


52

昨天我开始从12.10升级到13.04,但由于时间太长而中断了升级。现在,如果我重新启动它,它将不会继续进行。

是否有可能清除我打断它留下的混乱并彻底重新启动此更新?


必须有一种方法a)删除他为上一次试用存储的所有临时数据,或b)告诉他重新开始。“只是在被打扰的地方继续前进”的简单方法似乎不起作用!
戴夫2013年

1
我不确定,但是也许'sudo apt-get upgrade'和之后的'sudo apt-get update'可以修复它!
戴夫

我在回答中添加了有关如何删除所有下载程序包的说明。至于升级/更新,通常您希望采用另一种方式:“ sudo apt-get update && sudo-apt-get upgrade”(您可以在一行上完成,“ &&”表示第二个命令仅在第一个成功的情况下运行)。
Lambart 2013年

Answers:


57

从命令行尝试以下步骤:

修复损坏的依赖项:

$ sudo apt-get install -f

如果仍然无法正常运行,请尝试以下操作以修复/重新配置现有的,尚未包装但尚未配置的软件包:

$ sudo dpkg --configure -a

然后再次尝试升级。

如果再次失败,则可能要删除所有已下载的软件包(它们应存储在中/var/cache/apt/archives),然后执行

$ sudo apt-get clean

这样可以清理软件包,但是如果您仍然处于某种奇怪的状态,我不确定还有什么建议。

$ sudo apt-get autoremove -y

这将删除所有现在过时的软件包。

当然,在执行任何操作之前,您应该备份/home/dave目录的所有重要内容(或目录的任何内容$HOME)。


我做了你在这里写的一切。感谢您的详细建议!但是我担心GUI-Software-Updater仍然会失败。我让他做任何事情的唯一方法是通过终端,但这并不会改变我的计算机处于某种奇怪的状态。
戴夫

当然,对不起,没有任何效果。我昨天发现了这个线程,其中提到了其他几个角度。也许这里有东西?ubuntuforums.org/…–
伦巴第

非常感谢您的帮助!并没有放弃,经过几次尝试性的尝试,我终于成功了!您的代码确实解决了问题。
戴夫

2
确认sudo apt-get install -f为我重新启动了dpkg。网络连接断开时,升级被中断。prob应该screen在远程升级时使用,我认为ubuntu曾经做到过……
lukewendling 2014年

4
do-release-upgrade确实会启动一个屏幕会话(带有屏幕转义符^ space),但是如果父级do-release-upgrade进程死了,那可能仍然会杀死整个事情。如果要启动子shell戳修改后的conffile,请小心打^ c,我遇到了一个问题:bugs.launchpad.net/ubuntu/+source/ubuntu-release-upgrader/+bug / ...
Peter Cordes

53

sudo screen -D -r在从12.04到16.04的升级中,似乎将重新连接到断开连接的安装。这意味着不会杀死软件包或类似的东西。假设您没有主动停止升级,只是失去了访问会话的权限。


5
甚至从14.04LTS到16.04LTS的“ do-release-upgrade”都使用屏幕
Ivan Buttinoni

2
适用于17.10-> 18.04 LTS!
普雷斯顿·李

1
我在x2go上进行了do-release-upgrade,这可能是个坏主意,因为在此过程中,远程屏幕程序包被压缩了。这救了我。
endlith '18

4

我从16.04到18.04的升级被中断,因为我错误地停止了此过程。我想这个过程快要结束了(安装wifi包)。上面的任何方法都没有起作用,并且一直给出“ dpkg fronend被另一进程锁定”的信息。系统重启后

$ sudo dpkg --configure -a

恢复了该过程,并成功完成了到18.04的升级。


对我来说,这是最简单的恢复。幸运的是,部分升级的系统可重新引导(我中断了Samba的配置文件替换)。感谢您记录此恢复!
BobHy
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.