Технічні відомості

На цій сторінці наведено деякі базові технічні відомості щодо Silverblue, зокрема відомості щодо базових технологій, які використано для збирання дистрибутива, а також щодо компонування його файлової системи.

Ці відомості є непотрібними для кінцевих користувачів. Їх наведено тут для тих, хто цікавиться технічним боком справи, або тих, хто хоче скористатися Silverblue у якийсь нестандартний спосіб.

ostree та rpm-ostree

ostree — базова технологія, яка використовується для компонування, розгортання та оновлення Silverblue. ostree працює подібно до системи керування версіями, але використовує для роботи усі ієрархії файлових систем. Часто ostree описують як «Git для бінарних файлів операційної системи».

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

rpm-ostree збирається на основі ostree і робить можливим встановлення RPM як «шару» над образом ostree. Це уможливлює встановлення RPM у Silverblue.

Коли встановлюється пакунок за допомогою rpm-ostree, створюється новий образ операційної системи шляхом додавання вмісту RPM до наявного образу операційної системи і створення нового комбінованого образу. Щоб переглянути нововстановлені RPM, систему слід перезавантажити з використанням нового образу. rpm-ostree також відповідає за повторне створення шаруватого образу кожного разу, коли ви оновлюєте базовий образ операційної системи.

Компонування файлової системи Silverblue

У Silverblue коренева файлова система є незмінною. Це означає, що /, /usr і усі підлеглі щодо них каталоги є придатними лише для читання.

Усі динамічні частини Silverblue зберігаються у /var. Для створення традиційних каталогів у очікуваних місцях для збереження стану системи використовуються символічні посилання. Це, зокрема, стосується таких каталогів:

  • /home/var/home

  • /opt/var/opt

  • /srv/var/srv

  • /root/var/roothome

  • /usr/local/var/usrlocal

  • /mnt/var/mnt

  • /tmp/sysroot/tmp

Це означає, що окремі домашні розділи слід монтувати до /var/home.

Докладніший опис компонування файлової системи Silverblue можна знайти у чудовій документації із libostree.