The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Выпуск system-autoupdate 1.5, системы автоматизации обновлен..."
Отправлено opennews, 25-Июн-18 08:39 
Вышла версия 1.5 system-autoupdate (https://gitlab.com/mikhailnov/system-autoupdate) — набора скриптов, сервисов и таймеров systemd для  автоматизации обновления Linux с трехуровневой блокировкой выключения ПК во время обновления. Наработки проекта распространяются (https://gitlab.com/mikhailnov/system-autoupdate) под лицензией GPLv3. Для установки подготовлены (https://gitlab.com/mikhailnov/system-autoupdate/tags/v1.5) Makefile с инструкциями install и uninstall, а также deb-пакет, который при помощи штатных средств deb-хелперов автоматически активирует все необходимые юниты systemd при установке. Для Ubuntu поддерживается PPA-репозиторий (https://launchpad.net/~mikhailnov/+archive/ubuntu/utils/).


Решаемые проектом задачи:


-  Автоматическое обновление серверных и десктопных установок различных дистрибутивов Linux без участия пользователя и без наличия центрального командно-управляющего сервера (например, Ansible, Puppet, Zabbix), в том числе когда Linux установлен на не личную технику, а, например, на ноутбук знакомого или удаленного сотрудника, но хочется, чтобы операционная система и набор прикладного ПО автоматически поддерживались в актуальном состоянии. Система также применима в малых офисах и небольшом парке серверов, когда нецелесообразно развёртывать централизированную систему управления и отдельный репозиторий;
-  Предотвращение случайного выключения ПК, когда процесс обновления еще не завершен.


В настоящий момент поддерживаются следующие дистрибутивы:


-  Ubuntu, Mint, Debian, Astra
-  ROSA Fresh
-  ALT Linux
-  Arch, Manjaro, Antergos (только pacman, не AUR)
-  CentOS, RHEL
-  Fedora
-  openSUSE, SUSE


Для надежной блокировки выключения компьютера во время обновления используется трехуровневая блокировка:


-  Через systemd-inhibit блокируются выполняемые от пользователя (не root) операции systemctl reboot/shutdown/halt; эта же блокировка в большинстве систем приводит к запросу пароля root при выключении/перезагрузке, а отказ от ввода пароля останавливает графическую сессию и возвращает на экран менеджера входа;

-  Блокируется выполнение целей systemd shutdown.target, reboot.target, halt.target, hibernate.target, poweroff.target, sleep.target, suspend.target, suspend-then-hibernate.target, предотвращая разные типы выключения даже от root;
-  Блокируются графические кнопки выключения, перезагрузки, ухода в сон, гибернации в графической оболочке, а при попытке ими воспользоваться выводятся графические уведомления, сообщающие пользователю, что систему невозможно выключить, что показано на скриншоте ниже.

Блокировка графических кнопок выключения и вывод уведомлений реализованы с помощью правила policykit-1 (https://gitlab.com/mikhailnov/system-autoupdate/blob/master/...), для работы которого требуется Polkit >= 0.106, однако в современных версиях Debian и Ubuntu, в том числе Debian Sid, до сих пор используется Polkit 0.105, когда как его свежие версии поддерживаются в Debian Experimental, поэтому пакеты policykit-1 из Debian Experimental были пересобраны для Ubuntu 18.04 и 18.10 и доступны в одном с system-autoupdate репозитории PPA (https://launchpad.net/~mikhailnov/+archive/ubuntu/utils/).


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

В версии system-autoupdate 1.5 (https://gitlab.com/mikhailnov/system-autoupdate/tags/v1.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 (https://gitlab.com/nixtux-packaging/apt-btrfs-snapshot), заменив еженедельное задание очистки старых снапшотов cron на ежедневный таймер systemd с защитой от запуска при питании от батареи и изменив максимальный возраст снапшотов с 90 до 15 дней, как временное решение от переполнения диска. Изменения предложены (https://bugs.launchpad.net/bugs/1778256) апстриму. Готовый к использованию пакет собран в PPA (https://launchpad.net/~mikhailnov/+archive/ubuntu/utils/). Также установлена зависимость от подготовленного командой SUSE пакета btrfsmaintenance со скриптами (https://github.com/kdave/btrfsmaintenance) для автоматического обслуживания разделов Btrfs. За основу пакета взят одноименный пакет из Debian, в которые перенесены имеющиеся исправления (https://gitlab.com/nixtux-packaging/btrfsmaintenance/tree/ma...).


URL: https://gitlab.com/mikhailnov/system-autoupdate
Новость: https://www.opennet.ru/opennews/art.shtml?num=48835

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру