Answers:
我建议做的是在服务器上启动屏幕会话并在屏幕上运行升级-这样,如果SSH会话中断(无论出于何种原因),升级过程将不会停止。
屏幕是一个程序,可以在机器上提供永久性终端。因此,您可以启动一个屏幕会话,并且只要机器上没有该用户,只要该计算机在该屏幕会话上(及其历史记录,正在运行的程序等)就可以继续运行。它被设计在初期提供前X服务器的天,多窗口的文本终端。您可以使用APT安装它:
sudo apt-get install screen
因此,您可以进入服务器,启动屏幕,启动升级过程,而不必担心由于失去Internet连接或计算机崩溃而导致升级失败。
do-release-upgrade
(因为精确)正在自动执行screen
。
screen -dmS do-release-upgrade
-> screen -r
切换至运行屏幕-> Ctrl + A,Ctrl + D使屏幕在后台运行,然后返回主屏幕
@ Marco-Ceppi的解决方案已集成到中do-release-upgrade
。
运行时,do-release-upgrade
它将自动启动屏幕会话。如果您的ssh会话断开连接,则可以继续安装。您所要做的就是打开一个新的ssh会话,然后do-release-upgrade
再次运行。它将重新连接到您以前的安装。
@ sepp2k指出的第二个风险是您的sshd服务器可能需要升级,并且可能无法正确重启。因此,升级程序在指定的端口上运行另一个守护进程。在继续之前,您应该检查网络配置以确保您可以通过此端口进行访问。
祝好运。
此外,screen-session do-release-upgrade
本身是在root帐户下运行的,因此,如果您自己的screen-session崩溃,则您可以通过运行进行恢复sudo screen -x
,如果(由于某种原因)该命令do-release-upgrade
不能自行恢复它,这似乎很常见。
sudo do-release-upgrade
)并回答“是”之后,我可以在端口9004上连接到ssh,但是screen
尝试时没有列出会话sudo screen -list
。(PS我还没有结束下载阶段。)
do-release-upgrade
未启动屏幕会话)后,我现在从10.04 LTS升级到12.04 LTS,现在do-release-upgrade
现在自动启动屏幕会话。
do-release-upgrade
请先做好一切准备,然后:1)您可以do-release-upgrade
在重新登录后通过重新运行从损坏的ssh重新连接,以及2)您可以通过开头指定的端口从失败的sshd升级重新登录do-release-upgrade
。是吗