Answers:
在16.04及更高版本的系统上,无人值守的升级每天随机运行一次。
如何判断何时无人值守升级将在今天运行:
随机时间是由cron作业(/etc/cron.daily/apt.compat)设置的,您可以通过询问systemd来读取今天的随机时间:
$ systemctl list-timers apt-daily.timer
NEXT LEFT LAST PASSED UNIT ACTIVATES
Tue 2017-07-11 01:53:29 CDT 13h left Mon 2017-07-10 11:22:40 CDT 1h 9min ago apt-daily.timer apt-daily.service
在这种情况下,您可以看到uu跑了1小时9分钟。
如何判断无人值守升级是否仍在运行:
一种简单的方法是检查各种apt组件的时间戳文件:
$ ls -l /var/lib/apt/periodic/
total 0
-rw-r--r-- 1 root root 0 Jul 10 11:24 unattended-upgrades-stamp
-rw-r--r-- 1 root root 0 Jul 10 11:23 update-stamp
-rw-r--r-- 1 root root 0 Jul 10 11:24 update-success-stamp
-rw-r--r-- 1 root root 0 Jul 10 11:24 upgrade-stamp
您可以在此处看到uu只是另一个apt组件。无论apt是如何启动的,apt都会在此处放置时间戳。
将数据放在一起,您可以看到计时器在11:22开始apt(uu)。它运行了在11:23完成的更新,然后在11:24完成了升级。最后,您可以看到apt认为升级成功(没有错误或其他失败)。
显然,如果您看到一个没有相应完成时间戳的最新计时器,则可能需要检查ps
apt是否仍在运行。
如何判断apt现在正在执行哪一步:
一种简单的方法是检查uu日志文件。
$ less /var/log/unattended-upgrades/unattended-upgrades.log
2017-07-10 11:23:00,348 INFO Initial blacklisted packages:
2017-07-10 11:23:00,349 INFO Initial whitelisted packages:
2017-07-10 11:23:00,349 INFO Starting unattended upgrades script
2017-07-10 11:23:00,349 INFO Allowed origins are: ['o=Ubuntu,a=zesty-security', 'o=Ubuntu,a=zesty-updates']
2017-07-10 11:23:10,485 INFO Packages that will be upgraded: apport apport-gtk libpoppler-glib8 libpoppler-qt5-1 libpoppler64 poppler-utils python3-apport python3-problem-report
2017-07-10 11:23:10,485 INFO Writing dpkg log to '/var/log/unattended-upgrades/unattended-upgrades-dpkg.log'
2017-07-10 11:24:20,419 INFO All upgrades installed
在这里,您可以看到正常的日常流程,包括“开始”和“完成”行,以及即将升级的软件包列表。
如果尚未记录软件包列表,则可以安全地中断apt。记录软件包列表后,请勿中断apt。
由于您拥有资源受限的环境,因此请注意,可以将apt配置为多种方式,以在不同的运行时间,良好的级别,带宽限制以及许多其他有用的设置下可靠且毫不干扰地工作。
tail -f /var/log/unattended-upgrades/unattended-upgrades-dpkg.log
pgrep -fl apt
,我想。