技术解析

SSH 连接时如何避免网络中断导致系统更新被中断?
0
2021-07-16 15:45:52
idczone
OS: Ubuntu 14.04 LTS
昨晚临睡前在虚拟机里执行
# screen
# aptitude update
# aptitude upgrade

然后就把putty给关了,今天起床发现更新被中断了
# screen -ls
No Sockets found in /var/run/screen/S-root .

执行
# dpkg --configure -a
修复更新的时候,发现是在配置 libc6:amd64 这个包时中断的,后来进入虚拟机执行这命令,发现配置这个包的时候会导致虚拟机重启...

后来自己搞定了,很傻逼的把libc6删除掉了(误删)...然后在 rescue mode 下重新安装了...

如果是在远程VPS的话,如何避免因为网络中断导致系统更新被中断呢??
screen tmux

个人建议如非特别需要。不要更新VPS的系统- - 哈哈

apt upgrade不会自动重启,会提示你reboot required,需要你手动重启

不是,是类似Windows蓝屏那样,自动重启...

我帖子里说了....我就是用的screen....

试试mosh.

VPS吗?例如DigitalOcean control pannel里面自带了个console
或者用mosh,一直再用,并且还能解决延迟导致的打字问题

tmux
tmate

你这个是远程机器重启了,那么和网络中断不同,完全救不回来的啊

可以使用 setsid或nohup命令

查看boot.log,发现用Putty连接的时候并没重启,只是会把所有连接都中断,进入虚拟机的时候才会重启
觉得应该是libc6这个包的问题,因为好多软件都依赖这个包



mosh windows下的客户端有啥推荐的吗??
现在在试用MobaXterm v7.2

screen怎么没加-S参数?

没加也不影响使用啊,只是session name会自动分配为数字形式,screen -ls 就能看到了



话说mosh如何切换session?用习惯screen后,都是直接把Putty窗口关掉,下次开的时候screen -r xxxx,用mosh的话,把MobaXterm 窗口关掉的话,就直接没了...CTRL-^,CTRL+Z的话,虽然下次连接时会显示有个session
Mosh: You have a detached Mosh session on this server (mosh [3385]).
但是如何切换到这个session呢??

不要关终端,如果关了终端,服务器的mosh服务端没退出来的话,就要手去去杀掉,mosh的每个会话的密钥都不一样,所以你没办法attach前面的会话,这个一个安全机制。真正要做到关掉终端进程不死的办法要用screen或者tmux这一类的程序。

是这样的啊,那我还是继续用screen吧...
以前用screen,然后更新的时候直接把窗口关掉也没事的,就是昨晚突然这样,不知道是特定软件包会导致这种情况,还是我虚拟机问题

byobu,一个screen/tmux的封装,比原版好用,推荐使用

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服