在执行常规操作时apt upgrade
,Tomcat 7 安装后脚本与通用脚本一起运行A new version of configuration file /etc/default/tomcat7 is available...
。不幸的是,我没有及时处理它,SSH 连接被重置了。我该如何恢复?我可以重新连接到安装后屏幕吗?终止它安全吗?如果我终止它,是否有我应该手动执行的脚本?
我看见这个问题关于升级操作系统版本,但解决方案(screen -r
)不相关或我没有正确使用它。
$ screen -r
There is no screen to be resumed.
我可以看到进程正在运行:
$ ps -a
PID TTY TIME CMD
416 pts/2 00:00:00 frontend
423 pts/2 00:00:00 tomcat7.postins
430 pts/2 00:00:00 ucf
475 pts/2 00:00:00 whiptail
634 pts/1 00:00:00 ps
正如 Dmitry Zayats 所建议的那样我查看了 Tomcat 7 安装后脚本。在我安装的 Ubuntu 14.04 中,它位于此处:/var/lib/dpkg/info/tomcat7.postinst
打开它,我相信我看到了最初失去连接的相关行:
ucf --debconf-ok --sum-file /usr/share/tomcat7/defaults.md5sum $tmpfile $CONFFILE
答案1
终止 dpkg/apt 会话并重新发出命令。它将重新部署正在进行的软件包。对于大多数安装前/安装后脚本,它都可以正常工作。在少数情况下,如果升级软件包无法按预期工作,请重新安装软件包。
而且,正如其他人所说:tmux/screen。
答案2
每当您在远程计算机上工作时(即使企业网络中的网络连接稳定),最佳做法是使用终端多路复用器来执行长时间运行的重要任务。
我建议花时间学习如何使用屏幕或 tmux,这将提高您的工作效率并使这些升级更加安全。
您不仅可以在连接丢失的情况下重新连接 - 而且还有更多功能。
例如记录整个会话,拆分屏幕,以便您可以在单个 ssh 连接上运行同一窗口中的多个终端。水平分割/垂直分割。