Обновления и откаты

Последние сборки образов доступны здесь.

Обновление до последнего образа

Отображение состояния текущего работающего развёртывания:

$ rpm-ostree status

Команда rpm-ostree используется для управления атомарным системным деревом, используемым образами Fedora IoT. Команда update является синонимом команды upgrade.

Просмотрите параметры с помощью:

$ rpm-ostree upgrade --help
Usage:
  rpm-ostree upgrade [OPTION…]

Выполнить обновление системы

Параметры справки:
  -h, --help                      Показать параметры справки

Параметры приложения:
  --os=OSNAME                     Работать с указанным OSNAME
  -r, --reboot                    Инициировать перезагрузку после завершения операции
  --allow-downgrade               Разрешить развёртывание хронологически более старых деревьев
  --preview                       Только предварительный просмотр различий пакетов
  --check                         Только проверить, доступно ли обновление
  -C, --cache-only                Не загружать последние данные ostree и RPM
  --download-only                 Только загрузить последние данные ostree и RPM, не развёртывать
  --upgrade-unchanged-exit-77     Если обновление недоступно, выйти с кодом 77
  --sysroot=SYSROOT               Использовать системный корень SYSROOT (по умолчанию: /)
  --peer                          Принудительно использовать одноранговое соединение вместо системной шины сообщений
  --install=PKG                   Наложить дополнительный пакет
  --uninstall=PKG                 Удалить наложенный дополнительный пакет
  --version                       Вывести информацию о версии и выйти

Проверьте наличие доступных обновлений:

$ sudo rpm-ostree upgrade --check
Receiving metadata objects: 0/(estimating) -/s 0 bytes... done
AvailableUpdate:
        Version: 29.20190211.0 (2019-02-11T13:18:27Z)
         Commit: 5eb0553c02a8035a02f030c7fb8d5c6727d1ecb2700dade4b767363acfcab8e4
   GPGSignature: Valid signature by C2A3FA9DC67F68B98BB543F47BB90722DBBDCF7C
           Diff: 25 upgraded

Предварительный просмотр различий пакетов:

$ sudo rpm-ostree upgrade --preview

При желании вы можете только загрузить пакеты и не развёртывать их с помощью:

$ sudo rpm-ostree upgrade --download-only

Чтобы применить дельты обновления OSTree, доступные на CDN, используйте следующую команду:

$ sudo rpm-ostree upgrade

Из-за атомарной природы ОС вам придётся перезагрузиться в новый образ, чтобы обновления вступили в силу:

$ systemctl reboot

Откат к предыдущему дереву

Утилита rpm-ostree сохраняет два доступных развёртывания. Оба имеют запись в меню загрузчика. Новая обновлённая запись будет записью по умолчанию. При необходимости вы можете выбрать другую запись, чтобы загрузиться в предыдущее развёртывание.

Тайм-аут отображения меню GRUB2 очень короткий — всего одна секунда. Нажатие пробела или клавиши со стрелкой при появлении меню прервёт тайм-аут и позволит выбрать другую запись. Клавиша ENTER загрузит выбранный образ.

Чтобы навсегда вернуться к предыдущему развёртыванию:

$ sudo rpm-ostree rollback

Как и при обновлении, потребуется перезагрузка системы. Вы можете использовать команду systemctl reboot или включить параметр --reboot при выполнении команды отката:

$ sudo rpm-ostree rollback --reboot
Дополнительную информацию о загрузке с GRUB2 можно найти в Fedora Quick Docs.
Дополнительную информацию о команде rpm-ostree можно найти в вышестоящем руководстве администратора

Автоматические обновления

Служба rpm-ostreed доступна для автоматического отслеживания обновлений.

Чтобы включить автоматические обновления, отредактируйте файл /etc/rpm-ostreed.conf. Доступны следующие параметры:

  • Параметр «none» отключает автоматические обновления. Это политика по умолчанию.

  • Параметр «check» загружает достаточно метаданных для отображения доступных обновлений с помощью rpm-ostree status.

  • Параметр «stage» загружает, распаковывает и подготавливает обновление, которое будет завершено при перезагрузке.

  • Параметр «apply» аналогичен stage, но также инициирует перезагрузку в новую версию.

# cat /etc/rpm-ostreed.conf
# Записи в этом файле показывают значения по умолчанию на момент компиляции.
# Вы можете изменить настройки, отредактировав этот файл.
# Значения параметров см. в rpm-ostreed.conf(5).

[Daemon]
AutomaticUpdatePolicy=check
#IdleExitTimeout=60

Далее нам нужно включить соответствующие службы:

systemctl reload rpm-ostreed
systemctl enable rpm-ostreed-automatic.timer --now

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

# rpm-ostree status
State: idle
AutomaticUpdates: stage; rpm-ostreed-automatic.timer: last run 4min 22s ago

Службы rpm-ostreed-automatic.service и rpm-ostreed-automatic.timer управляют частотой проверок и обновлений. Дополнительная информация доступна на страницах руководства или в этом посте в блоге