我在 do-release-upgrade 子进程中按下了 control-c。我该如何恢复?

我在 do-release-upgrade 子进程中按下了 control-c。我该如何恢复?

在从 Utopic Unicorn 升级到 Vivid Vervet 的过程中,do-release-upgrade系统询问我要保留哪个版本的配置文件。我选择了运行 (root) shell 的选项,注意到只有一些小的更改,然后运行vim合并两个版本。我习惯使用Ctrl+C来完成插入,但在这种情况下,这似乎实际上终止了某些操作,因为我返回到了我自己的一个 shell。

经过一番调查,我注意到该vim实例不知何故仍在运行。我将其终止并返回到启动它的根 shell。然后我退出根 shell,希望返回到升级脚本,但tmux我运行它的实例却退出了。

此时,我可以看到脚本仍在运行,并且可能正在执行某物(它似乎一直有 11% 的 CPU 使用率)。与我的一些类似情况不同,没有screenbyobu实例可以重新连接 — 事实上,根据ps,它已经丢失了控制终端。

这里发生了什么?我应该怎么做才能使系统恢复正常状态并完成升级?

答案1

从服务器故障复制粘贴:

据我所知,没有办法重新连接到升级过程。但是,这根本不是一场灾难。我终止了挂起的进程dpkg,然后运行dpkg --configure -a。这将引导您重新配置系统上已安装的所有软件包,并在执行此操作时整理任何问题。之后,我习惯于aptitude升级剩余的软件包,这些软件包已下载,但尚未安装或配置。

礼貌:https://serverfault.com/q/387547/109361

更新:

如果aptitude您的系统中没有安装,那么apt-get据我所知,可以使用 执行相同的操作。

这对 OP 来说是有用的:

升级脚本已将源 /etc/apt/sources.list从 Utopic 更改为 Vivid,并禁用了所有第三方源。执行dpkg --configure --pending和之后,apt-get install --fix-broken执行,然后重新启动,现在一切似乎都正常了。apt-get updateapt-get dist-upgrade

更多信息:

来自相关错误报告,做apt-get dist-upgrade似乎是让事情正常运转的关键。

相关内容