Как безопасно переключаться между версиями Fedora Silverblue (rebasing)
TL;DR
Fedora Silverblue позволяет безопасно переключаться между образами системы с помощью операции «rebase». Сначала закрепите (pin) рабочий образ, затем найдите нужный удалённый образ (remote), выполните rpm-ostree rebase и перезагрузите систему. При необходимости можно откатиться через rpm-ostree rollback или снова выполнить rebase на прежнюю версию.
Important: перед любыми изменениями сделайте резервную копию данных. Хотя процедуры не являются деструктивными по дизайну, резервное копирование убережёт вас от потерь при неожиданностях.

Введение: что такое rebasing и зачем это нужно
Rebase — это процесс переключения текущего «развёрнутого» (deployed) образа OSTree на другой образ, доступный в удалённом репозитории Fedora. Это позволяет быстро перейти на другую версию Silverblue или её разновидность (например, Kinoite) без классической переустановки. Важно понимать два основных понятия:
- Образ (OSTree image): полностью собранная и неизменяемая система, на которой вы загружаетесь.
- Развёртывание (deployment): конкретный образ, доступный в меню загрузчика (GRUB).
Rebase безопасен, если вы заранее закрепили работающее развёртывание (pin) или имеете возможность отката (rollback).
Подготовка к rebasing: базовые шаги
Все команды выполняются в терминале. Откройте терминал с правами пользователя, у которого есть sudo.
- Закрепите текущее развёртывание, чтобы гарантировать возможность возврата.
sudo ostree admin pin 0
rpm-ostree statusКоманда pin 0 закрепит первое (текущее) развёртывание. Команда rpm-ostree status покажет список установленных развёртываний. Текущее развёртывание помечено белой точкой и должно содержать Pinned: yes.
Советы по подготовке:
- Убедитесь, что у вас есть достаточное место на /boot и /var (как правило, OSTree хранит данные в /ostree и в /var). Если дисковое пространство ограничено, перед установкой новых образов освободите место.
- Закрепляйте только те развёртывания, которые действительно хотите сохранить в меню загрузчика. Избыточное количество pinned-образов может захламить GRUB.
Как найти доступные версии Fedora Silverblue
Чтобы увидеть, какие образы доступны в удалённых репозиториях Fedora, выполните:
ostree remote refs fedoraВы получите длинный список рефов (refs). Обычно вам нужны рефы с подстрокой x86_64 и без слов testing или updates. В названиях вы увидите понятия:
- silverblue — основной поток Silverblue
- kinoite — вариант с рабочим столом KDE Plasma
- rawhide — ветка разработки (нестабильная)
Нюансы выбора:
- Kinoite подходит тем, кто использует KDE Plasma. Silverblue — для GNOME.
- Rawhide содержит самые свежие сборки и нестабилен; используйте его только для тестирования.
- Если в списке появился номер версии, больший, чем текущий релиз Fedora, это, вероятно, бета- или тестовая сборка.
Выполнение rebase: пошаговая инструкция
- Скопируйте точное имя рефа (remote ref) той версии, на которую хотите перейти.
- Выполните команду rebase, подставив скопированный реф:
rpm-ostree rebase fedora:fedora/36/x86_64/kinoite- Дождитесь завершения загрузки и установки образа. Процесс может занять от нескольких минут до более длительного времени в зависимости от скорости сети и диска.
- Перезагрузите компьютер. По умолчанию система загрузится в только что установленное развёртывание.
Что останется и что изменится:
- Ваши пользовательские файлы в домашней директории останутся нетронутыми.
- Системные компоненты будут заменены на те, что содержатся в новом OSTree-образе.
Советы по отладки:
- Если установка прерывается сетевой ошибкой, повторите команду rebase; она продолжит работу с учётом кэшированных данных.
- Смотрите вывод команды rpm-ostree status для понимания текущего состояния развёртываний.
Закрепление и открепление развёртываний (pin/unpin)
Вы можете закреплять несколько развёртываний, чтобы они оставались в меню загрузчика.
- Сначала посмотрите список развёртываний:
rpm-ostree statusПозиции нумеруются: 0 — первое, 1 — второе и т. д. Чтобы закрепить развёртывание с номером 1:
sudo ostree admin pin 1Чтобы снять закрепление:
sudo ostree admin pin --unpin 1Важно: если вы снимете закрепление, развёртывание будет удалено из меню загрузчика только при следующем обновлении/обновке OSTree. До этого оно останется доступно.
Как откатиться или отменить изменения
Есть два основных сценария возврата:
- Быстрый откат после одной операции (rollback):
rpm-ostree rollbackЭта команда восстановит предыдущее развёртывание как дефолтное. Затем перезагрузите систему.
- Если вы сменили образы несколько раз и rollback не возвращает на нужную версию — выполните rebase на нужный образ явно. Т.е. просто снова выполните rpm-ostree rebase с точным рефом нужной версии.
Советы:
- Rollback откатывает последнее изменение развёртывания, но не снимает pinned-состояние. При необходимости управлять pinned-образами используйте ostree admin pin/–unpin.
- После отката проверьте rpm-ostree status, чтобы убедиться, что нужный образ находится в списке и помечен как текущий.
Когда rebasing может не подойти: случаи и контрпримеры
- Вы используете специфические локальные системные изменения, встроенные в образ через custom ostree commit. В этом случае rebase заменит образ и локальные изменения могут потеряться.
- Вы зависите от специальных версий драйверов, которые доступны только в конкретной сборке. При переходе на новую версию эти драйверы могут не работать.
- Использование rawhide для ежедневной системы может привести к ежедневным сбоям из-за нестабильности.
Если любая из этих ситуаций относится к вам, рассмотрите альтернативы ниже.
Альтернативные подходы
- Toolbox / Podman контейнеры: запуск приложений в контейнерах для тестирования без смены образа.
- Layered packages (rpm-ostree install): установить дополнительные RPM-пакеты поверх текущего образа без полного rebase.
- Использование виртуальной машины: проверить другую версию Fedora в VM перед rebase на хосте.
Каждый подход имеет свои плюсы: контейнеры и VM безопасны и обратимы; layered packages быстрее, но могут усложнить диагностику конфликтов.
Инструментальные модели мышления (mental models)
- Подумайте о каждой версии как о «снимке» системы. Pin — это «закладка» на снимке, rollback — возврат к предыдущей закладке.
- Rebase не меняет ваш домашний каталог: это как смена DVD с операционной системой при сохранении профиля пользователя.
- OSTree похож на Git для бинарных снимков системы: новые образы — это новые коммиты, развёртывания — указатели на коммиты.
Мини-SOP / Плейбук: быстрая инструкция для рабочего процесса
- Сохраните важные данные и сделайте резервную копию.
- Выполните rpm-ostree status и закройте все важные приложения.
- Pin текущую сборку: sudo ostree admin pin 0.
- Просмотрите ostree remote refs fedora и выберите нужный реф.
- Запустите rpm-ostree rebase <выбранный-ref>.
- Дождитесь завершения и перезагрузите систему.
- Проверьте функциональность: драйверы, VPN, рабочие приложения.
- Если что-то не так — выполните rpm-ostree rollback или повторный rebase на стабильную версию.
Инцидентный план: быстрый откат (runbook)
- Если после перезагрузки система не загружается в рабочем состоянии, выберите старое развёртывание в меню GRUB (если оно есть).
- Если система загружается, откройте терминал и выполните rpm-ostree rollback.
- Если rollback невозможен или не помогает, загрузитесь в rescue-режим и восстановите grub/ostree из резервной копии.
- Сообщите о проблеме на соответствующих каналах Fedora (если это баг) и пересмотрите этапы rebase.
Критерии приёмки (Test cases / Acceptance criteria)
- Система успешно загружается в новое развёртывание после перезагрузки.
- Ключевые пользовательские приложения работают корректно (браузер, почта, VPN).
- Драйверы (Wi‑Fi, GPU) функционируют как ожидалось.
- Пользовательские файлы и конфигурации в домашней папке сохраняются.
Роли и чек-листы
Для десктоп‑пользователя:
- Сделать резервную копию важных файлов.
- Закрепить текущий образ (pin).
- Выбрать стабильный реф (не rawhide) и выполнить rebase.
- Перезагрузить и проверить основные рабочие сценарии.
Для тестировщика/разработчика:
- Используйте rawhide или бета‑рефы в изолированной среде.
- Подготовьте тестовый набор автоматизированных проверок для основных приложений.
Для системного администратора:
- Контролируйте список pinned-развёртываний на всех машинах.
- Планируйте откат и обновления через общую политику OSTree.
Короткий глоссарий (1‑строчные определения)
- OSTree: система хранения бинарных снимков системы, похожая на Git для образов.
- Rebase: переключение текущего развёртывания на другой OSTree-образ.
- Pin: закрепление развёртывания, чтобы оно не удалялось автоматически.
- Rollback: возврат к предыдущему развёртыванию.
- Kinoite: вариант Silverblue с KDE Plasma.
- Rawhide: ветка разработки Fedora (нестабильна).
Decision flowchart (Mermaid) — как принять решение о rebase
flowchart TD
A[Нужно ли менять версию Silverblue?] -->|Только тест| B[Использовать VM или контейнер]
A -->|Для рабочего стола| C[Да]
C --> D{Это стабильная версия?}
D -->|Да| E[Pin текущий образ -> Rebase -> Тесты -> Перезагрузка]
D -->|Нет 'rawhide'| F[Тестировать в изолированной среде]
E --> G[Если проблемы -> rollback или rebase на старую версию]
F --> H[Отмена изменений или багрепорт]Совместимость и миграция
- Перед переходом между большими номерами релизов (например, 34 → 36) проверьте совместимость сторонних драйверов и расширений.
- Для корпоративных рабочих станций рекомендуют сначала протестировать образ в контролируемой среде.
Безопасность и конфиденциальность
- Rebase меняет системный образ, но не домашний каталог, поэтому пользовательские данные остаются локально.
- Если вы используете корпоративные политики (например, VPN/PKI), убедитесь, что новые образы не ломают интеграцию с серверными сертификатами или политиками.
Частые ошибки и способы их устранения
- Ошибка: «нет места на диске» при загрузке образа. Решение: очистите старые незакреплённые образы или увеличьте свободное пространство на разделах.
- Ошибка: несовместимость драйвера GPU. Решение: откатитесь и задокументируйте проблему, затем протестируйте другой образ или драйвер.
- Ошибка: пропал GRUB-пункт. Решение: проверьте ostree admin and rpm-ostree status и при необходимости восстановите запись в GRUB.
Когда стоит избегать rebase
- Если ваша рабочая среда зависит от очень специфичных версий библиотек и драйверов.
- Если вы не можете временно потерять доступ к некоторым инструментам (например, корпоративный VPN), пока не протестируете новый образ.
Заключение и краткая сводка
Rebasing в Fedora Silverblue — мощный, удобный и безопасный способ переключаться между версиями системы. Если соблюдать простые правила: резервное копирование, закрепление текущего образа и тестирование после перезагрузки — переход пройдёт гладко. Для тестирования новых сборок используйте изолированные среды, а для рабочих машин придерживайтесь стабильных рефов.
Краткие рекомендации (быстрая памятка)
- Сделайте резервную копию.
- Pin текущий образ: sudo ostree admin pin 0.
- Найдите нужный реф: ostree remote refs fedora.
- Rebase: rpm-ostree rebase
. - Перезагрузите и проверьте работоспособность.
- Если нужно — rpm-ostree rollback или rebase обратно.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента