服务器升级期间 SSH 连接丢失 - 如何重新连接到进程?

Ste*_*ose 43 ubuntu ssh

所以,我正在执行从 11.04 到 11.10 的 Ubuntu Server 升级。

我在后台忘记了它,我的SSH 客户端超时并断开连接(Windows 上的腻子,请看图)。我终端上的最后一件事是关于保留旧配置等的问题。

当我重新登录到服务器时,aptitude 文件被另一个进程锁定,所以我假设这个升级进程在那里等待我的输入。

我如何与此过程交互并继续升级?如果可能的话。

谢谢

Ted*_*ddy 47

你不能。通过执行查找升级过程

lsof /var/lib/dpkg/lock
Run Code Online (Sandbox Code Playgroud)

杀死它,修复任何中断的升级

dpkg --configure --pending
Run Code Online (Sandbox Code Playgroud)

并重新启动升级。

  • 这个过程是`do-release-upgrade` 安全吗? (3认同)
  • 关于如何修复因腻子会话超时而中止的 apt-get 升级的最佳答案......成功测试,谢谢! (3认同)
  • @StephenMelrose 这从来都不安全。但它是*合理*安全的,并且是唯一剩下的选择。 (2认同)

小智 42

该过程实际上以 root 用户身份在屏幕或 byobu 会话中运行。使用端口 22 或故障安全 1022 上的腻子重新连接到服务器。 sudo su - 或 su - 进入您的根帐户并使用 byobu 或 screen -r 恢复屏幕并从您离开的地方恢复。

哦,是的,我发现了困难的方法;-)

  • 在停止安装时,它说屏幕已经连接,所以我强制屏幕分离,我可以重新连接。命令是 screen -D 来自这里的信息:http://kb.iu.edu/data/ahrm.html (3认同)
  • 使用 screen -r <id> 也可以,你只需要输入 ID 的几个字符就可以了。 (2认同)
  • 这对我不起作用,因为它说未安装“屏幕”。 (2认同)
  • 较新的 Ubuntu 在 `sudo su -` 之后使用 `sudo screen -D -r`(如果不是 root)。 (2认同)