Статус автоматической активации?

Кто-нибудь знает, можно ли определить статус автоматического обновления? Можно ли узнать, какие пакеты устанавливаются или где мы находимся в процессе?

Я ценю преимущества автоматических обновлений, но они могут быть очень раздражающими, когда у вас есть система, которая отключена на пару месяцев, и вы хотите установить приложение или когда они питаются ресурсами ЦП на машинах, которые не имеют большого количества начать с.

Я не просто хочу убить автоматические обновления. Я знаю, как это сделать. Я хочу, чтобы они бежали. Я просто хочу знать, как я могу узнать, что происходит на самом деле, и на какой стадии они находятся.

В 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 (uu) в 11:22. Он выполнил обновление, которое завершилось в 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 может быть настроен на множество способов работать надежно и ненавязчиво с разным временем выполнения, с хорошими уровнями, ограничениями пропускной способности и многими другими полезными настройками.