Answers:
以下日志与apt升级有关:
/var/log/apt/history.log
/var/log/apt/term.log
/var/log/dpkg.log
如果命令是dist-upgrade
,则还有其他日志:
/var/log/dist-upgrade
仅供参考,通常重新运行升级是安全的,并且在由于断开连接而导致进程终止时,apt将继续从中断处继续。然而...
GNU屏幕入门:
切换到远程服务器并在前台启动长时间运行的进程时,最佳实践是使用GNU屏幕。屏幕提供了一个虚拟终端,即使您的ssh连接丢失,该终端也可以继续运行。
安装屏幕:
sudo apt-get install screen
运行屏幕:
screen
运行屏幕后,您将获得与普通终端一样的命令行提示符。然后,您可以从屏幕内部运行升级:
sudo apt-get upgrade
要了解其工作原理,请按Ctrl + a,d来 “分离”屏幕。这将使您返回到非屏幕终端。您可以通过以下方式查看正在运行的屏幕列表
screen -list
如果仅运行一个屏幕,则可以使用以下方法重新连接它:
screen -raAd
(如果屏幕已连接到其他位置,则会分离屏幕,然后将其重新连接到您当前正在运行的终端。)
通常,如果不进行一些额外的设置,您将无法从屏幕上“正常”滚动。要在屏幕内滚动,请按Ctrl-Esc进入光标模式。然后可以使用j和k上下滚动。再次按Esc退出光标模式。
网上有更多资源可用于其他屏幕功能。它是系统管理的宝贵标准工具。
也可以看看:
screen -x
-附加到运行屏幕而不分离其他屏幕,使屏幕会话成为“多人游戏”。
tail -f
command and flag选项,这将允许用户在“重新执行以下操作”后实时观察进度(或看到崩溃)。登录。” 我知道它已被接受并且已经过时,但是我认为应该在该指令集中添加尾号,因为在缺乏细节的情况下,@ TheAnonymousBear给出的答案更加直接和明确。@doublerebel
sudo dpkg --configure -a
仍会继续进行适当的升级,而这仍在花费中。
除了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
因此,我列出了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
和班!我又回到了比赛中。
do-release-upgrade
特定于ubuntu 的命令吗?我从来不需要检查我专用的Debian,因为我总是手动运行它,分离然后再回来。而且,当然,我们sudo apt dist-upgrade
在更改后使用/etc/apt/sources.list
。
要查看后台apt
作业的实时输出,请使用:
sudo tail -f /var/log/apt/term.log
tail
他们所谓的“重新登录”后如何看待它()。
发生了完全相同的问题,失去了连接,并且dpkg进程正在等待输入。
也许下次尝试: sudo dpkg --configure -a
"dpkg: error: dpkg frontend is locked by another process"
/var/dpkg/lock
仍在运行,它将锁定它。而且无论如何,它都不能回答如何“检查升级状态”的问题,而是仅在升级崩溃时才起作用(并且只有在锁未激活时才起作用)。我不会向任何人推荐这种方法。尊敬的oemb1905