Выпуск system-autoupdate 1.5, системы автоматизации обновления Linux-дистрибутивов

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

Блокировка графических кнопок выключения и вывод уведомлений реализованы с помощью правила policykit-1, для работы которого требуется Polkit >= 0.106, однако в современных версиях Debian и Ubuntu, в том числе Debian Sid, до сих пор используется Polkit 0.105, когда как его свежие версии поддерживаются в Debian Experimental, поэтому пакеты policykit-1 из Debian Experimental были пересобраны для Ubuntu 18.04 и 18.10 и доступны в одном с system-autoupdate репозитории PPA.

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

В версии system-autoupdate 1.5 штатными средствами systemd предотвращен запуск system-autoupdate одновременно с выполняемыми по расписанию операциями макетных менеджеров apt и dnf (apt-daily.service, apt-daily-upgrade.service, dnf-makecache.service). В сборку Debian-пакета от автора system-autoupdate включен конфликт с пакетом unattended-upgrades по причине бессмысмленности работы unattended-upgrades, когда включен system-auotupdate, а также потому что их одновременная работа теоретически может привести к конфликтам и взаимным блокировкам пакетной системы.

Разработчик проекта рекомендует сочетать system-autoupdate с функциональностью apt-btrfs-snapshot, которая автоматически делает снапшот (снимок состояния) корня файловой системы ОС при любой операции с пакетами, то есть при каждом автообновлении, а стандартное меню восстановления Ubuntu (пакет friendly-recovery) позволяет откатиться на один из снапшотов в псевдографическом интерфейсе (что не отменяет возможности сделать это вручную из системы вживую или из chroot).

Автор system-autoupdate создал форк apt-btrfs-snapshot, заменив еженедельное задание очистки старых снапшотов cron на ежедневный таймер systemd с защитой от запуска при питании от батареи и изменив максимальный возраст снапшотов с 90 до 15 дней, как временное решение от переполнения диска. Изменения предложены апстриму. Готовый к использованию пакет собран в PPA. Также установлена зависимость от подготовленного командой SUSE пакета btrfsmaintenance со скриптами для автоматического обслуживания разделов Btrfs. За основу пакета взят одноименный пакет из Debian, в которые перенесены имеющиеся исправления.

Источник: opennet.ru