因此,我正在将 Ubuntu Server 从 11.04 升级到 11.10。
我把它忘在了后台,我的SSH 客户端超时并断开连接(Windows 上的 putty,想想看)。我的终端上的最后一件事是关于保留旧配置等的问题。
当我重新登录服务器时,aptitude 文件已被另一个进程锁定,所以我认为这个升级进程正在等待我的输入。
我如何与此过程交互并继续升级?如果可能的话。
谢谢
答案1
该过程实际上以 root 用户身份在屏幕或 byobu 会话中运行。使用 putty 在端口 22 或故障安全 1022 上重新连接到服务器。sudo su - 或 su - 进入您的 root 帐户并使用 byobu 或 screen -r 恢复屏幕并从您离开的地方恢复。
哦,是的,我发现这很困难 ;-)
答案2
你不能。通过执行以下操作找到升级过程
lsof /var/lib/dpkg/lock
杀死它,修复任何中断的升级
dpkg --configure --pending
并重新开始升级。
答案3
冷血动物(通过以下途径找到这个问题) 可能会有所帮助,除非当前的“一个进程,而不是一个进程树”在这种情况下是一个问题。
文件可能被锁定,因为进程被毫不留情地终止,并且没有机会自行清理,因此请确认 aptitude 是否仍在运行。lsof /var/lib/dpkg/lock
按照 Teddy 的回答中的建议进行检查 - 这也会告诉您要尝试 cryopid 的 pid。
将来我建议尽可能尝试通过 screen 运行。我已经养成了在 SSH 连接时首先运行 screen(或 byobu,它是 screen 的包装器,定义了一些有用的行为)的习惯任何地方然后如果出现问题,我可以重新连接。您可以将其设置为自动启动或重新连接,尽管我从来没有在任何地方这样做过 - 网上有很多例子(例如这个) 如果您想尝试一下。