Оновлення пакунків, оновлення системи та повернення до попередніх версій

Встановлення оновлень у Fedora Silverblue є простим і швидким. Також передбачено особливу можливість повернення до попередніх версій, якщо щось піде не так. Крім того, ви можете мати одночасно встановленими декілька версій вашої операційної системи, і ви можете вибирати потрібну вам версію під час запуску системи.

Оновлення Fedora Silverblue

Оновлення операційної системи повністю інтегровано до стільничного середовища. Система автоматично повідомить вам про доступність оновлень. Стандартною поведінкою є автоматичне отримання оновлень (змінити цю поведінку можна у налаштуваннях оновлень у програмі «Програми»).

Щойно встановлення оновлень буде завершено, достатньо буде перезавантажити систему, щоб почати користуватися новою версією. Потреби у очікуванні на оновлення під час перезавантаження немає.

Якщо ви хочете, оновлення можна ініціювати за допомогою командної оболонки. Для цього віддайте таку команду:

$ rpm-ostree upgrade

У відповідь на цю команду система виконає пошук оновлень, отримає і встановить їх, якщо оновлення буде виявлено. Іншим варіантом є пошук доступних оновлень без їхнього отримання:

$ rpm-ostree upgrade --check

Оновлення до новіших версій системи

Оновлення до новіших версій (наприклад, з Fedora 41 до Fedora 42) можна здійснити за допомогою програми «GNOME Software». Крім того, оновити Fedora Silverblue до нової основної версії можна за допомогою команди rpm-ostree.

Пропускання основних випусків у поточній версії не перевірялося, а отже, його підтримку не передбачено. Вам слід послідовно оновлюватися до кожного наступного випуску, тобто з Fedora 41 до 42 тощо.

По-перше, переконайтеся, що ви працюєте із найсвіжішим оновленням поточної версії:

$ rpm-ostree upgrade

Перезавантажте систему, якщо це потрібно. Далі, перевірте доступність гілки наступної основної версії. Ви можете переглянути усі доступні гілки для Fedora Silverblue за допомогою такої команди:

$ ostree remote refs fedora | grep silverblue | grep $(uname -m)

Після того, як ви перевірите назву вашої гілки, можна продовжувати встановлення. Наприклад, для оновлення до Fedora Silverblue 42 слід скористатися такою командою:

$ rpm-ostree rebase fedora:fedora/42/x86_64/silverblue
У поточній версії віддалене сховище Fedora Silverblue 42 має назву fedora. Якщо це не так у вашій системі, ви можете визначити назву віддаленого сховища за допомогою такої команди: ostree remote list.

Процедура є дуже подібною до оновлення системи: нова операційна система отримується і встановлюється у фоновому режимі. Після встановлення вам треба просто завантажити нову систему.

Ви також можете переходити до іншого варіанта Fedora Atomic, наприклад Fedora Kinoite. Fedora Kinoite є подібним до Fedora Silverblue, але у ньому використано середовище KDE Plasma desktop environment, а не типове середовище GNOME desktop environment.

Це означає, що ви можете перейти до Fedora Kinoite, щоб спробувати нову систему, не вносячи ніяких змін до вашої поточної системи. Оскільки два образи систем є ізольованими один від одного, два стільничних середовища ніколи не буде встановлено одночасно. Усі ваші програми flatpak і файли у /home лишатимуться незмінним між переходами. Те саме стосується тестування найновішої версії Fedora Silverblue, якою є Rawhide.

Якщо ви захочете здійснити перехід, не забудьте пришпилити вашу поточну розгорнуту систему, щоб не втратити її випадково (типово буде збережено лише два найсвіжіших розгортання).

Відновлення попередньої версії

Fedora Silverblue зберігає запис попередньої версії операційної системи, до якої можна повернутися замість останньої версії. Хоча потреби у таких діях, зазвичай, немає, повернення до попередньої версії може бути корисним, якщо виникають проблеми із оновленням частини або усієї системи (повернення до попередньої версії працює однаково для обох випадків), а також якщо виникає потреба, яку пов’язано із розробкою програмного забезпечення.

Існує два способи повернення до попередньої версії:

  1. Тимчасове повернення до попередньої версії: щоб тимчасово повернутися до попередньої версії, просто перезавантажте систему і виберіть пункт попередньої версії у меню завантаження (яке часто називають меню grub).

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

Після повернення до попередньої версії технічно ви матимете справу із застарілою версією операційної системи, яка може надсилати запити щодо свого оновлення. Оновлення призведе до скасовування повернення до попередньої версії, тому вам не слід ним користуватися, якщо ви хочете продовжувати працювати із застарілою версією.

У rpm-ostree типово зберігається лише одна резервна версія для повернення. Якщо ви хочете повернутися до іншої версії, яка є доступною у вашій системі, ви можете віддати такі команди:

  1. Отримання журналу внесків ostree з віддаленого сховища:

    $ sudo ostree pull --commit-metadata-only --depth=10 fedora fedora/42/x86_64/silverblue
  2. Виведення журналу:

    $ ostree log fedora:fedora/42/x86_64/silverblue
  3. Розгортання певного внеску:

    $ rpm-ostree deploy 42.20230716.0

Зауважте, що у результаті буде розгорнуто точно вказану версію, до якої не буде включено накладені пакунки та інші зміни.

Вилучення і пришпилення розгортань

Розгортання автоматично вилучатимуться при оновленні. Втім, якщо вам потрібно вручну вилучити усі попередні розгортання та розгортання з черги для вивільнення місця на диску, ви можете зробити це за допомогою команди rpm-ostree cleanup. Крім того, якщо вам потрібно зберегти певні розгортання від вилучення командою чищення, ви можете пришпилити їх. Цю процедуру ми опишемо нижче.

Вилучення попередніх розгортань:

$ rpm-ostree cleanup --rollback

Вилучення розгортань з черги:

$ rpm-ostree cleanup --pending

Розгортання може бути пришпилено так, щоб команда rpm-ostree cleanup їх не вилучала. Також розгортання можна відшпилити, щоб дозволити звичний спосіб їхнього вилучення. Ви, наприклад, можете пришпилити розгортання, які ви вважаєте стабільними для вашої системи, щоб мати гарантований резервний варіант, якщо під час наступних оновлень буде виявлено суттєві регресії або вади.

Щоб пришпилити або відшпилити розгортання, вам слід вказати номер цього розгортання у покажчику.

Визначення номерів розгортань у покажчику:

$ rpm-ostree status -v

Пришпилення розгортання:

$ sudo ostree admin pin 0

Відшпилення розгортання:

$ sudo ostree admin pin --unpin 0