В GNOME 3.6 ожидается реализация offline-обновления системы
Проект GNOME продолжает двигаться в сторону превращения в самодостаточную десктоп-систему на основе ядра Linux. В дополнение к ранее представленным планам по созданию интерфейса для начальной настройки свежеустановленной системы, апплета для информирования о наличии обновлений приложений и инсталлятора для быстрой установки на диск загруженных Live-образов, разработчики GNOME выступили с новой инициативой. Ричард Хьюз (Richard Hughes), создатель проекта PackageKit, заявил, что занимается реализацией функции для проведения offline-обновления системы, которая позволит применять полученные обновления при загрузке ОС. Ознакомившись с концептом Леннарт Поттеринг (Lennart Poettering) подготовил план по реализации в systemd компонентов, необходимых для поддержки данного режима на стадии инициализации системы.Идея состоит в следующем:
- Gnome-settings-daemon подготавливает обновления, загружая через PackageKit необходимые пакеты и по завершению информирует пользователя о наличии обновлений через вывод уведомления в GNOME Sell;
- GNOME Shell предлагает пользователю произвести обновление, если пользователь соглашается, то создается символическая ссылка /system-update на директорию с пакетми обновлений и происходит перезагрузка;
- При загрузке systemd проверяет наличие ссылки /system-update, в случае наличия которого начинается обновление через PackageKit;
- Plymouth наглядно отображает статус выполнения обновления;
- Система перезагружается и пользователю сообщается было ли обновление успешным.
Обосновывая использования offline-обновлений разработчик приводит следующие причины:
- Обновление работающих приложений может привести к их краху, в качестве примера можно назвать firefox или thunderbird;
- Для того чтобы обновление библиотек вступило в силу необходимо перезапустить все использующие их приложения;
- В случае краха во время обновления основных компонентов ОС вся система может быть повреждена;
- При использовании offline-обновлений средствами ФС Btrfs можно сделать снапшот системы перед началом выполнения операции, для того чтобы произвести изменения атомарно и в случае проблем вернуть систему в первоначальное состояние.
Утверждается, что обновление некритичных и незапущенных приложений будет возможно без перезагрузки.
© OpenNet