通常我通过 ssh 连接升级我的 Ubuntu 安装。有时这个 ssh 连接会丢失,或者我会不小心关闭终端窗口。
ssh 重新登录计算机后可以检查升级状态吗?
小智 41
以下日志与apt升级相关:
/var/log/apt/history.log
/var/log/apt/term.log
/var/log/dpkg.log
Run Code Online (Sandbox Code Playgroud)
如果命令是dist-upgrade,则还有其他日志:
/var/log/dist-upgrade
Run Code Online (Sandbox Code Playgroud)
仅供参考,重新运行升级通常是安全的,当进程因断开连接而终止时,apt 将继续从中断处继续。然而...
GNU 屏幕入门:
当通过 ssh 连接到远程服务器并在前台启动一个长时间运行的进程时,最好使用 GNU Screen。Screen 提供了一个虚拟终端,即使您的 ssh 连接丢失,该终端也能继续运行。
安装画面:
sudo apt-get install screen
Run Code Online (Sandbox Code Playgroud)
运行画面:
screen
Run Code Online (Sandbox Code Playgroud)
运行 screen 后,您将获得与普通终端一样的命令行提示。然后,您可以从内部屏幕运行升级:
sudo apt-get upgrade
Run Code Online (Sandbox Code Playgroud)
要了解其工作原理,请按Ctrl+a, d 来“分离”屏幕。这将使您返回到非屏幕终端。您可以使用以下命令查看正在运行的屏幕列表
screen -list
Run Code Online (Sandbox Code Playgroud)
如果您只运行一个屏幕,则可以使用以下命令重新附加它:
screen -raAd
Run Code Online (Sandbox Code Playgroud)
(这会分离屏幕,以防它连接到其他地方,并将其重新连接到您当前正在运行的终端。)
通常,如果没有一些额外的设置,您无法从屏幕内“正常”滚动。要在屏幕内滚动,请按Ctrl-Esc进入光标模式。然后,您可以使用j和k上下滚动。再次按Esc退出光标模式。
网络上有更多资源可用于附加屏幕功能。它是系统管理的宝贵标准工具。
也可以看看:
Rus*_*lan 25
/var/log/apt/term.log当我的终端被另一个人关闭时,我正在进行升级(询问我是否保留或替换配置文件;此信息是我从 获取的)。重新启动时apt upgrade抱怨锁定文件被保留。
我的解决方法是执行以下操作:
sudo killall apt # to release the lock
sudo dpkg --configure -a # to fix the interrupted upgrade
sudo apt upgrade # to make sure no packages are left not upgraded
Run Code Online (Sandbox Code Playgroud)
Huc*_*kle 10
除了 doublerebel 的回答之外,我今天注意到了另一种选择。
在开始通过 SSH 升级后,我昨晚上床睡觉了。我愚蠢地忘记了启动它screen并在一夜之间丢失了我的 SSH 会话。
retty当我注意到root已经开始了一个screen会话时,我正要开始研究。
me@GAMMA:~$ ps aux | grep -E 'release|upgrade|apt'
root 6208 0.0 0.0 29140 1628 ? Ss 01:57 0:05 SCREEN -e \0\0 -L -c screenrc -S ubuntu-release-upgrade-screen-window /tmp/ubuntu-release-upgrader-1h6_g4/raring --mode=server --frontend=DistUpgradeViewText
root 6209 0.2 5.6 287428 93144 pts/2 Ss+ 01:57 3:13 /usr/bin/python /tmp/ubuntu-release-upgrader-1h6_g4/raring --mode=server --frontend=DistUpgradeViewText
root 6239 0.0 0.0 50052 1184 ? Ss 01:58 0:00 /usr/sbin/sshd -o PidFile=/var/run/release-upgrader-sshd.pid -p 1022
root 7306 0.0 4.6 287432 77284 pts/2 S+ 02:43 0:08 /usr/bin/python /tmp/ubuntu-release-upgrader-1h6_g4/raring --mode=server --frontend=DistUpgradeViewText
me 26829 0.0 0.0 9440 956 pts/5 S+ 22:18 0:00 grep --color=auto -E release|upgrade|apt
Run Code Online (Sandbox Code Playgroud)
所以我列出了root的屏幕并附在它上面:
me@GAMMA:~$ sudo screen -list
There is a screen on:
6208.ubuntu-release-upgrade-screen-window (12/11/2013 01:57:58 AM) (Detached)
1 Socket in /var/run/screen/S-root.
me@GAMMA:~$ sudo screen -x -r
Run Code Online (Sandbox Code Playgroud)
还有巴姆!我又回到了比赛中。
小智 9
要查看后台apt作业的实时输出,请使用:
sudo tail -f /var/log/apt/term.log
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
53253 次 |
| 最近记录: |