Wiki

Clone wiki

comp-house.repo / offline-system-updates

Оффлайновые обновления с использованием systemd и PackageKit

Описание

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

Ответственные

  • Имена: Richard Hughes Lennart Poettering
  • Почта: rhughes@redhat.com, lpoetter@redhat.com

Текущий статус

  • Целевой релиз: Fedora 18
  • Последнее обновление: 2012-06-18
  • Процент обновления: 85%

Необходимая инфраструктура в systemd пришла в rawhide вместе с 183 релизом systemd. Компоненты plymouth, PackageKit и GNOME уже в апстриме, но не выпускались вместе с релизами апстрима. Релиз PackageKit ожидается в течение двух недель, plymouth на этой неделе. GNOME будет, естественно, со следующим релизом в тарболах согласно расписанию для версии 3.5.x. В целом новшество ожидается к тестированию на существующих системах с F18 systems в начале июля.

Подробное описание

Под "оффлайновыми" обновлениями ОС мы подразумеваем установку и обновление пакетов, которая проводится в специальном системном режиме обновлений с целью обойти проблемы, относящиеся к конфликтам библиотек и сервисов, которые в этот момент работают с диском.

Обновления будут загружаться в фоновом режиме, а пользователь будет проинформирован, о том, что доступны обновления только тогда, когда они на самом деле будут готовы к установке.

Установка обновлений останется на выбор пользователя - если системные обновления доступны, в меню мы предложим пункт 'перезагрузка и установка обновлений' в дополнение к обычному пункту "перезагрузка".

Режим системных обновлений реализован путем загрузки в специальную цель (target в systemd). Эта цель установит все загруженные обновления и затем перезагрузит обратно в цель по умолчанию (default target). Подробности можно найти о адресу http://freedesktop.org/wiki/Software/systemd/SystemUpdates.

Замечание: эта возможность не запрещает использовать yum и другие инструменты командной строки для установки обновлений, если вы этого хотите. Мы также разделяем обновления 'компнентов ОС' (которые мы хотим проводить в этом оффлайновом режиме) и установку/обновление приложений, которые должны оставаться доступными из интерфейса пользователя без перезагрузки.

Различие между 'компонентами OS' и приложениями должно быть эвристическим, поскольку Fedora знает только о пакетах. Первоначальной догадкой о том, является ли данный пакет приложением, является то, что он устанавливает desktop-файл, который отображается в меню. Это не идеально и может быть улучшено по мере того, как в пакетах будут доступны дополнительные метаданные.

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

Польза Fedora

Замена библиотек и файлов во время работы ОС может вызвать проблемы в диапазоне от падения приложений до неконсистентных состояний системы, когда процессы используют разные версии библиотеки в одно и тоже время. Устанавливая системные обновления 'отдельно' от обычной работы системы, мы обходим эти проблемы.

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

Замечания к релизу

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

Комментарии и обсуждение

см. https://fedoraproject.org/wiki/Talk:Features/OfflineSystemUpdates

Updated