无人参与的升级状态?


17

有谁知道是否可以确定无人值守升级的状态?是否可以找出正在安装的软件包或我们正在安装的软件包?

我赞赏无人值守升级的好处,但是当您的系统已经关闭了几个月,并且要安装应用程序或者当他们在没有太多资源的机器上占用CPU资源时,它们确实很烦人首先。

我不仅仅是在寻求杀死无人值守的升级。我知道该怎么做。我要他们跑。我只想知道如何知道实际发生的情况以及它们处于什么阶段。


跑吧pgrep -fl apt,我想。
muru

Answers:


22

在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认为升级成功(没有错误或其他失败)。

显然,如果您看到一个没有相应完成时间戳的最新计时器,则可能需要检查psapt是否仍在运行。

如何判断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配置为多种方式,以在不同的运行时间,良好的级别,带宽限制以及许多其他有用的设置下可靠且毫不干扰地工作。


4
如果尚未完成,此命令将显示您正在终端中运行。tail -f /var/log/unattended-upgrades/unattended-upgrades-dpkg.log
adsy2010 '19
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.