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

所以我退出了,现在有一个挂起的dpkg进程正在暂停到apt锁上。这是一台没有GUI前端的虚拟服务器...

是否可以恢复升级过程,还是必须终止dpkg进程并重新启动?

评论

屏幕列表仍然列出升级过程吗?如果是这样,屏幕-r可能会再次将其重新连接。尝试重新连接时,确切的错误是什么?

后来我尝试了屏幕-RD,但是没有用。没有任何屏幕守护进程在运行,因此没有任何可重新连接的。确切的错误?我认为在类似诅咒的应用程序底部可以选择“ r”或“ q”(重新连接或退出)。抱歉,我没有其他帮助。我使用的是VirtualBox,并且没有运行tmux或屏幕会话,因此没有回滚,并且类似curses的界面仍在清除屏幕。重新连接无效,所以我退出了。

我应该补充一点,我确实以sudo用户和我的普通用户身份尝试了-R -D屏幕。.

通过SSH挂起Ubuntu Server升级的可能重复操作

是! dpkg configure -a是正确的答案。那件事发生在我身上,真正的坏事是没有正确设置bind9(即Ctrl-C必须停止了该过程,并且无法再启动!)一旦我修复了bind9,那么apt-get update + upgrade + dist -upgrade运行起来就像一个魅力,然后我重新启动,一切都正常了。

#1 楼

我通常会通过VPN发布版本升级,因此我尝试了几次。每当它更新我的openvpn软件包时,我都会失去连接,因此我会重新连接。

do-release-upgrade在端口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/之后的先前列出的屏幕

您应该回到失去连接的地方。

评论


我没有安装屏幕...我无法安装带有apt-get的文件(文件已锁定)

–inemanja
19年4月27日在17:18

这非常有帮助。如果您只是简短地提到do-release-upgrade确实会自动启动屏幕会话,那么这可能是一个更好的答案(您让我重新阅读了一下问题,以查找有关通过屏幕启动升级过程的任何提及)

–polynomial_donut
19年5月3日在6:23

我很惊讶这个问题不断增加+1太老了

– Alex R
19年5月6日在8:39

@AlexR仍然有意义,今天就救了我! Stack *网站的魔力!

–路易斯·罗伯·波波维亚
19年5月24日在14:07

#2 楼

升级到定量时,我遇到了同样的问题。对我来说不幸的是,就像原始海报一样,屏幕也因为ctrl + c而被杀死。

杀死dpkg并使用“ --configure -a”重新启动它即可解决此问题。

感谢

评论


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

– firebush
18年4月23日在19:45

不好的方法杀死dpkg,最好继续处理

–vlad
20年1月3日,13:51

@vlad如果您知道如何继续该过程,那么它本身就是一个不错的答案。我想这需要连接到dpkg输入和输出所在的一些/ dev / pty,因此您可以继续回答dpkg的交互式问题。不过,这听起来并不平凡,所以我肯定会给我+1指导如何操作。

– Hi-Angel
20年8月18日在7:17

#3 楼

我本人更像是一个CentOS / RHEL的人,但根据我的经验,您总是比杀死和重新开始过程更好。下载,同步等应该已经完成​​,无需重做。因为那是花费大多数时间的原因,所以走这条路线应该不会有太多的损失。

评论


是的,我认为别无他法。我可能已经使用过reptyr来重新连接到pty / tty(我不知道区别),但是从头开始比较容易。而且你是对的;第二轮更快!

– Alex Leach
2012年5月9日17:48