题 如何重新连接到Ubuntu Server的“do-release-upgrade”过程?


我不小心在Ubuntu Server中按下了Ctrl + C. do-release-upgrade 处理。我放弃了shell来比较/ etc /中的.conf文件。当我按下Ctrl-C时,它询问我是否想尝试重新连接到升级过程,但它没有这样做。

所以我退出了,现在有一个悬挂的dpkg进程,它保留了apt锁。这是一个没有GUI前端的虚拟化服务器......

是否可以恢复升级过程,或者我是否必须终止dpkg进程并重新开始?


68
2018-05-09 17:18




screen -list是否仍列出升级过程?如果是这样,屏幕-r可能会重新连接它。尝试重新连接时的确切错误是什么? - arjarj
我后来试过了 screen -RD,但它没有用。没有任何屏幕守护程序在运行,因此无需重新连接。确切的错误?我可以选择'r'或'q'我认为(重新连接或退出)在类似curses的应用程序的底部。对不起,我不能比这更有帮助。我使用VirtualBox,没有运行tmux或屏幕会话,我没有回滚,类似curses的界面一直在清除屏幕。重新连接不起作用,所以我放弃了。 - Alex Leach
我应该补充一点,我确实尝试过 screen -R -D 作为sudo用户和我的普通用户.. - Alex Leach
可能重复 通过SSH挂起的Ubuntu Server升级 - Michael Hampton♦
是! dpkg configure -a 是正确的答案。这发生在我身上,真的很糟糕的是bind9没有正确设置(即Ctrl-C必须已经停止了这个过程,它再也无法启动了!)一旦我修复了bind9,那么apt-get update + upgrade + dist -upgrade就像一个魅力,然后重新启动,一切正常。 - Alexis Wilke


答案:


我通常会通过VPN发布升级,所以我尝试了几次。每当它更新我的openvpn包时我都会丢失连接,所以我之后重新连接并执行此操作:

ssh进入框中,如果SSH不起作用,则端口1022上有备份SSH会话。

做一个

sudo screen -list
There is a screen on:
    2953.ubuntu-release-upgrade-screen-window   (09/13/2012 04:48:02 AM)    (Detached)
1 Socket in /var/run/screen/S-root.

然后重新做到:

sudo screen -d -r root/2953.ubuntu-release-upgrade-screen-window

使用之前列出的屏幕 root/

你应该回到失去联系的地方。


101
2017-09-13 09:17



这非常有效,谢谢! - Nicky Hajal


升级到quantal时遇到了同样的问题。对我来说不幸的是,就像原版海报一样,由于ctrl + c,屏幕也被杀死了。

杀死dpkg并使用“--configure -a”重新启动它解决了这个问题。

谢谢


24
2017-12-03 00:05



谢谢你,谢谢你,谢谢你。这对我有用。 - firebush


我自己更像是一个CentOS / RHEL人,但根据我的经验,你总是更好地杀死并开始这个过程。下载,同步等应该已经完成​​,不需要重做。由于这是占用大部分时间的,所以不应该在这条路线上丢失很多。


1
2018-05-09 17:43



是的,我认为没有什么可以做的。我可能已经使用reptyr重新连接到pty / tty(我从来不知道差异),但从头开始更容易。而你是对的;它第二次更快! - Alex Leach