Обновления, апгрейды и откаты

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

Обновление Fedora Atomic Desktops

На Atomic Desktops вы можете продолжать использовать компьютер во время применения обновлений ОС, поскольку они загружаются и устанавливаются в фоновом режиме. После установки обновления вы можете перезагрузить компьютер, чтобы начать использовать новую версию. Вам не придётся ждать установки обновления ни во время выключения, ни во время загрузки.

На Fedora Silverblue и Fedora Kinoite обновления ОС загружаются автоматически, и вы получите уведомление, когда обновления будут готовы к применению через перезагрузку. Это поведение можно изменить в настройках.

На Fedora Budgie Atomic вы можете обновлять ОС вручную с помощью Plasma Discover.

На Fedora Sway Atomic и Fedora COSMIC Atomic вы можете обновлять ОС вручную через командную строку.

Альтернатива: обновление через командную строку

Также возможно обновление через командную строку. Чтобы обновить систему, выполните:

$ rpm-ostree upgrade

Это проверит наличие новых обновлений и загрузит и установит их, если они доступны. Альтернативно, чтобы проверить наличие доступных обновлений без их загрузки, выполните:

$ rpm-ostree upgrade --check

Апгрейд между основными версиями

На Atomic Desktops вы можете продолжать использовать компьютер во время применения крупных обновлений ОС (например, с Fedora 43 на Fedora 44), поскольку они загружаются и устанавливаются в фоновом режиме. После установки обновления вы можете перезагрузить компьютер, чтобы начать использовать новую версию. Вам не придётся ждать установки обновления ни во время выключения, ни во время загрузки.

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

На Fedora Silverblue обновления основных версий можно применять с помощью GNOME Software.

На Fedora Kinoite и Fedora Budgie Atomic обновления основных версий можно применять с помощью Plasma Discover.

На Fedora Sway Atomic и Fedora COSMIC Atomic обновления основных версий можно применять через командную строку.

Пропуск основных релизов в настоящее время не тестировался и поэтому не поддерживается для всех Atomic Desktops. Следует обновляться только на один основной релиз за раз, то есть с Fedora 43 на 44 и т.д.

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

Сначала убедитесь, что вы используете последнее обновление для текущей версии:

$ rpm-ostree upgrade

При необходимости перезагрузите систему. Затем проверьте, доступна ли ветка для следующей основной версии. Вы можете вывести все доступные ветки для используемой вами разновидности Fedora Atomic Desktop с помощью следующих команд:

$ source /etc/os-release
$ ostree remote refs ${ID} | grep $(arch) | grep ${VARIANT_ID}

После проверки имени вашей ветки вы готовы продолжить. Например, для апгрейда до Fedora Silverblue 44 команда будет:

$ rpm-ostree rebase fedora:fedora/44/x86_64/silverblue

Старое название варианта Sway Atomic — sericea, а для Budgie Atomic — onyx.

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

Если вы используете репозитории RPM Fusion и у вас возникают проблемы во время крупных обновлений, см. раздел Включение репозиториев RPM Fusion.

Ребазинг на другой Atomic Desktop

Кроме того, вы можете выполнить ребазинг на другую разновидность Fedora Atomic. Например, если вы сейчас используете Silverblue, вы можете перейти на Kinoite. Fedora Kinoite похожа на Fedora Silverblue, за исключением того, что в ней используется рабочий стол KDE Plasma вместо GNOME.

Это означает, что вы можете выполнить ребазинг на Fedora Kinoite, чтобы опробовать её, не затрагивая вашу текущую систему. Поскольку два образа системы изолированы друг от друга, две среды рабочего стола никогда не будут установлены одновременно. Все ваши приложения Flatpak и файлы в каталоге /home сохранятся между ребазингами. То же самое касается тестирования разрабатываемой версии Fedora Atomic Desktops, которой является Rawhide.

По умолчанию OSTree хранит только два самых последних развёртывания. Если вы решите выполнить ребазинг, обязательно закрепите ваше текущее развёртывание, чтобы случайно его не потерять.

Откат

Fedora Atomic Desktops хранят запись о предыдущей версии ОС, на которую можно переключиться вместо последней версии. Хотя обычно в этом нет необходимости, это может быть полезно при возникновении проблем с обновлением или апгрейдом (откаты работают одинаково для обоих случаев), а также для целей разработки.

Существует два способа отката к предыдущей версии:

  1. Временные откаты: чтобы временно откатиться до предыдущей версии, просто перезагрузитесь и выберите предыдущую версию из меню загрузки (часто известного как меню GRUB).

  2. Постоянные откаты: чтобы окончательно переключиться обратно на предыдущее развёртывание, используйте команду rpm-ostree rollback.

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

rpm-ostree по умолчанию хранит только одну версию для отката. Если вы хотите откатиться к другой версии, отличной от той, которая в настоящее время доступна в вашей системе, вы можете сделать это с помощью следующих команд:

  1. Получить журнал фиксаций ostree из удалённого репозитория:

    $ source /etc/os-release
    $ sudo ostree pull --commit-metadata-only --depth=10 ${ID} ${ID}/44/$(arch)/${VARIANT_ID}
  2. Отобразить журнал:

    $ ostree log ${ID}:${ID}/44/$(arch)/${VARIANT_ID}
  3. Развернуть конкретную фиксацию:

    $ rpm-ostree deploy 44.20251031.0
Это развернёт именно запрошенную версию и не будет включать наложенные пакеты и другие изменения.

Закрепление и очистка развёртываний

По умолчанию команды rpm-ostree upgrade или rpm-ostree rebase хранят не более двух загружаемых развёртываний, хотя базовая технология поддерживает больше. В некоторых случаях, например при апгрейде основной версии или ребазинге, вы можете захотеть сохранить текущее развёртывание как гарантированный запасной вариант. OSTree позволяет закреплять развёртывания. Закрепление гарантирует, что выбранное вами развёртывание будет сохранено и не будет удалено. Чтобы закрепить развёртывание, необходимо знать его индексный номер. Чтобы вывести индексные номера развёртываний, выполните следующую команду:

$ rpm-ostree status --verbose

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

$ sudo ostree admin pin 0

Если вы закрепите много развёртываний, раздел /boot может заполниться, и в результате система не сможет быть обновлена. В таких случаях необходимо открепить и очистить некоторые развёртывания. Чтобы открепить развёртывание, выполните следующую команду:

$ sudo ostree admin pin INDEX --unpin

Вы можете выполнить вышеуказанную команду несколько раз, чтобы освободить больше места. Затем очистите незакреплённые развёртывания:

$ rpm-ostree cleanup --rollback
Команда rpm-ostree cleanup --rollback не удаляет закреплённые развёртывания.