Установка и использование Fedora Silverblue

Fedora Silverblue – это вариант рабочей станции Fedora. Она поставляется в образах которые создаются путем использования rpm-ostree проекта. Это неизменяемая настольная операционная система. Она стремится быть стабильной и надежной. Кроме того предоставляет совершенно новый опыт использования Linux. Система считается тестовой в Fedora, постоянно дорабатывается и при кажущейся простоте подойдет не всем. Эта “шпаргалка” для пользователей уже знакомых с Linux.

Образ Fedora Silverblue и программу для записи на флешку Fedora Media Writer берем на официальном сайте Fedora. Записать на флешку Fedora Silverblue 30 можно программой Fedora Media Writer, или другой известной вам программой.

Установка и использование Fedora Silverblue

1.Установка Fedora Silverblue

Сразу хочу предупредить, что Silverblue 30 не “дружит” с двойной загрузкой. Может сработать, а может и не получиться. Это нужно иметь ввиду. Подробности на сайте: Документация Fedora.(нужно создавать дополнительный раздел boot/efi) Я надеюсь в 31-й версии поправят, ну а пока, что есть то и имеем.

В Silvrblue нет Live-режима, она использует установщик Anaconda и установка полностью идентична обычной установке Fedora. Запись в Silverblue возможна только в раздел /var. При разметке диска с отдельным разделом /home установщик сам сделает символическую ссылку в /var/home. Подробно на установке я останавливаться не буду.

Установка и использование Fedora Silverblue

Установка и использование Fedora Silverblue

Заполняем все поля, ждем пока установится, перезагружаем. Стоит отметить установка и развертывание происходит по другому и занимает больше времени, чем обычная установка Linux.

2. Настройка Fedora Silverblue

Silverblue имеет свой набор команд. Все команды rpm-ostree можно посмотреть в терминале:

rpm-ostree –help
ostree admin –help
man

А также в гугле:

  • https://www.mankier.com/1/rpm-ostree
  • https://www.mankier.com/1/ostree-admin

Обновляем систему(нужно подождать пока скачается):

Первое обновление будет долгим, ежемесячных респинов и нет-установщика в Silverblue нет, посмотреть ход загрузки можно в системном мониторе. Можно обновиться и через Gnome-software, но я по старинке больше доверяю терминалу.

Установка и использование Fedora Silverblue

После обновления перезагрузим:

Далее запускаем Gnome-software и устанавливаем репозитории Fedora, перезагружаемся, опционально можно подключить репозиторий Google-chrome.

Установка и использование Fedora Silverblue

После обновления пробежимся по настройкам, терминалу, наутилусу, браузеру и настроим все под себя. Здесь я тоже подробно останавливаться не буду.

По умолчанию Silverblue выглядит примерно так:

Установка и использование Fedora Silverblue

Эта команда показывает выполненные развертывания, установленные пакеты (LayeredPackages, LocalPackages), закрепленные снимки.

Установка и использование Fedora Silverblue

Как видим в текущем снимке у нас добавлены репозитории Fedora и теперь можно устанавливать ее пакеты. На этом первоначальная настройка закончена.

3. Откаты, реверс, пины

Одной из удивительных возможностей Fedora Silverblue является возможность легкого отката системы. Смотрим систему:

Сделаем снимок, а если точнее закрепим развертывание системы:

sudo ostree admin pin 0

Установка и использование Fedora Silverblue

Установка и использование Fedora Silverblue

Добавим к примеру программу screenfetch

rpm-ostree install screenfetch
systemctl reboot

Установка и использование Fedora Silverblue

Я создал новое развертывание и закрепленный pin переместился вниз. Открепить снимок:

sudo ostree admin pin –unpin N

Здесь N порядковый номер развертывания от 0 до 2 в текущей загрузке (я признаться не сразу до этого допер). В нашем случае команда будет выглядеть так:

sudo ostree admin pin –unpin 1

Установка и использование Fedora Silverblue

Как видим снимок открепился. Далее рассмотрим команду Reset. Она удаляет все установленные пакеты, возвращает систему в вид по умолчанию (при этом все личные файлы и настройки сброшенных приложений останутся):

Установка и использование Fedora Silverblue

Установка и использование Fedora Silverblue

Как видим сейчас уже три развертывания. Первое дефолтное(точка слева указывает какой снимок сейчас используется), второе предыдущее до сброса и третье наш закрепленный pin.

С закрепленным снимком(снимками) система поддерживает три последних развертывания. Без закрепленных снимков два развертывания(при обновлении, добавлении пакетов то есть создании нового развертывания открепленный снимок удалится).

Далее рассмотрим команду Rollback, при помощи нее можно откатится на предыдущий снимок:

Установка и использование Fedora Silverblue

Установка и использование Fedora Silverblue

Как видим первый и второй снимки поменялись местами, третий закрепленный pin остался на месте. Ещё нужно отметить OSTree не устанавливает полностью все снимки на диск, а загружает дельту.

Установка и использование Fedora Silverblue

Как видим с тремя снимками размер системы у нас чуть меньше 6 GB.

Если снимок не загружается или просто нужно загрузиться в определенный pin, его можно выбрать в меню загрузки. По умолчанию меню загрузки скрыто, Посмотреть его можно удерживая после включения, перезагрузки клавишу ESC в EFI системах и соответственно клавишу Shift в системах с BIOS.

Установка и использование Fedora Silverblue

Установка и использование Fedora Silverblue

Меню загрузки у меня (у других тоже) дублируется в четыре и шесть строк соответственно если два или три снимка в системе. Я использую верхнюю вторую или третью строку. Надеюсь в следующей версии Silverblue это исправят. Очистка кеша:

С разными ключами:

sudo ostree admin cleanup

4. Flatpak

Silverblue разработана для использования Flatpak, и сейчас мы их можем подключить все их, или на свой выбор. Флатпаки в отличии от обычных RPM пакетов не требуют перезагрузки при установке или обновлении. Устанавливаем репозиторий Flathub:

flatpak remote-add –if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Дополнительно: бета-версия Flathub:

flatpak remote-add flathub-beta https://flathub.org/beta-repo/flathub-beta.flatpakrepo

Firefox пока отсутствует в flathub, но есть репозиторий с Firefox Nightly и Dev Edittion (поддерживается Red Hat).

flatpak remote-add –from org.mozilla.FirefoxRepo https://firefox-flatpak.mojefedora.cz/org.mozilla.FirefoxRepo.flatpakrepo

Ночные приложения GNOME, здесь много приложений в стадии разработки, если захочется попробовать что-то не на Flathub или в качестве альтернативы.

flatpak remote-add –if-not-exists gnome-nightly https://sdk.gnome.org/gnome-nightly.flatpakrepo

flatpak remote-add –if-not-exists gnome-apps-nightly –from https://sdk.gnome.org/gnome-apps-nightly.flatpakrepo

Установка и использование Fedora Silverblue

Обновим Gnome-software, перезапустим систему.

Установка и использование Fedora Silverblue

Установка и использование Fedora Silverblue

Также можно удалить неиспользуемые репозитории Flathub:

flatpak remote-delete “name repo”

Установка и использование Fedora Silverblue

Первые установленные флатпаки тянут с собой все нужные библиотеки, зависимости и занимают много места. Последующие флатпаки, все это “хозяйство” используют совместно, занимают меньше места, быстрее качаются и устанавливаются.

Установка и использование Fedora Silverblue

На форумах пользователи пишут о использовании Snap и Appimage пакетов. Я сам не пробовал, но их тоже можно иметь ввиду.

5.Установка локальных пакетов

Silverblue поддерживает три типа пакетов.

  • LayeredPackages – пакеты из подключенных репозиториев, обновляются вместе с системой.
  • LocalPackages – сторонние RPM пакеты, не обновляются.
  • Flatpak.

В командах rpm-ostree нет собственного поиска пакетов, поэтому приходится использовать обходные решения:

Toolbox – установка обычной Fedora в контейнере, поиcк DNF (будет рассмотрено ниже).

Dnfdragora:

rpm-ostree install dnfdragora

Поиск RPM:

Список установленных пакетов:

rpm -qa | sort -fu > rpm-list-installed.txt

Поиск RPM пакетов:

rpm -qa | grep httpd

Поиск через интернет: https://pkgs.org. https://apps.fedoraproject.org/packages/s/. А также сайты: Rpmfusion. Copr. Пакеты я стараюсь устанавливать списком (списками), чтобы уменьшить количество перезагрузок.

Установка RPM Fusion:

sudo rpm-ostree install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

sudo rpm-ostree install firewall-config

rpm-ostree install chromium chromium-libs-media-freeworld

rpm-ostree install ffmpeg

Google-chrome (нужно включить репозиторий в Gnome-software):

rpm-ostree install google-chrome-stable

rpm-ostree install gstreamer1-libav gstreamer1-plugins-bad-freeworld gstreamer1-plugins-ugly gstreamer1-plugins-ugly-free chromium-libs-media-freeworld ffmpeg

Виртуализация (можно установить Virtualbox или Gnome-boxes, я же использую, Virt-manager):

rpm-ostree install virt-install libvirt-daemon-config-network libvirt-daemon-kvm qemu-kvm virt-manager virt-viewer virt-top

sudo systemctl start libvirtd

sudo systemctl enable libvirtd

lsmod | grep kvm

Добавление пользователя в группу libvirtd:

sudo grep -E ‘^libvirt:’ /usr/lib/group >> /etc/group

sudo usermod -aG libvirt $USER

По задумке разработчиков Silverblue нужно использовать с Flatpak. Можно установить все нужные приложения локально.

Установка и использование Fedora Silverblue

Установка и использование Fedora Silverblue

А также можно комбинировать и поставить все доступные из Flatpak.

Установка и использование Fedora Silverblue

Установка и использование Fedora Silverblue

Установка и использование Fedora Silverblue

Чем больше в системе локальных пакетов и сторонних репозиториев, тем медленней она обновляется. Снимок строится во время обновления вместе с локальными пакетами я думаю. А может вообще не обновиться (сам недавно делал Reset, обновлялся и по новой корректировал список и ставил заново локальные пакеты). Это тоже нужно иметь ввиду. Быстрая проверка обновлений:

rpm-ostree upgrade –check

6. Переключение Silverblue

Команда Rebase позволяет переключиться на любую версию Fedora независимо от того какая версия у нас установлена. Обновление версии дистрибутива Linux всегда было неоднозначным и спорным вопросом. Я, например, предпочитаю переустановку, кто-то обновление. Fedora Silverblue позволяет безболезненно переключиться на другую версию, что я сейчас и сделаю.

Проверяем доступные репозитории ostree:

ostree remote list

Установка и использование Fedora Silverblue

Проверяем доступные репозитории для rebase:

ostree remote refs fedora

Установка и использование Fedora Silverblue

Как видим для загрузки доступны версии с 27-й по 32-ю (rawhide). Выбираем 31-ю версию нужной разрядности – 86_64, и обновляемся:

rpm-ostree rebase fedora:fedora/31/x86_64/silverblue

Придется скачать около 1GB обновлений.

Установка и использование Fedora Silverblue

Ждем загрузку, установку и по окончании перезагружаем:

Установка и использование Fedora Silverblue

Установка и использование Fedora Silverblue

Как видим система обновилась на 31-ю, а второй снимок у нас 30-я Fedora. Это почти как dualboot. Далее я пробую 31-ю обновить на rawhide:

rpm-ostree rebase fedora:fedora/rawhide/x86_64/silverblue

Установка и использование Fedora Silverblue

Установка и использование Fedora Silverblue

Как видим установилась и 32-я версия. Обновление работает без проблем, скорость загрузки растет постепенно. Если будут ошибки можно ввести команду отмены:

И начать заново. Рабочий снимок не пострадает. По окончании можно почистить кеш.

7. Окружение рабочего стола

В Silverblue можно установить, добавить к Gnome другие окружения рабочего стола (в дальнейшем DE) с помощью локальных пакетов. Я не люблю “кашу с DE”, и предпочитаю одно DE на систему или DE+WM (оконный менеджер).

Сообщество Fedora разрабатывает ветку Kinoite для использования Fedora Silverblue с другими DE. Снова берем наш дефолтный Silverblue. Можно закрепить снимок:

sudo ostree admin pin 0

Установка и использование Fedora Silverblue

Загружаем ключ GPG:

curl -O https://tim.siosm.fr/downloads/siosm_gpg.pub

Добавляем удаленную ветку OSTree:

sudo ostree remote add kinoite https://siosm.fr/kinoite/ –gpg-import siosm_gpg.pub

Установка и использование Fedora Silverblue

ostree remote list

Смотрим доступные образы:

ostree remote refs kinoite

Установка и использование Fedora Silverblue

Как видим в у нас есть образы:

  • Base;
  • Deepin;
  • Kinoite;
  • LXQT;
  • Pantheon;
  • Silverrblue;
  • XFCE.

Для начала попробуем установить KDE:

rpm-ostree rebase kinoite:fedora/30/x86_64/kinoite

Установка и использование Fedora Silverblue

Установка и использование Fedora Silverblue

Скачаем порядка 750MB, после установки перезагрузим:

Установка и использование Fedora Silverblue

Итак мы установили KDE с минимальным набором приложений.

Установка и использование Fedora Silverblue

Установка и использование Fedora Silverblue

Установка и использование Fedora Silverblue

Установка и использование Fedora Silverblue

Далее посмотрим образ base:

rpm-ostree rebase kinoite:fedora/30/x86_64/base

Установка и использование Fedora Silverblue

Установка и использование Fedora Silverblue

Установка и использование Fedora Silverblue

Установка и использование Fedora Silverblue

Здесь мы видим минимальную Fedora Server. Далее я переключаюсь на сохраненный pin 0 с дефолтной Fedora Silverblue и устанавливаю XFCE:

rpm-ostree rebase kinoite:fedora/30/x86_64/xfce

Установка и использование Fedora Silverblue

Установка и использование Fedora Silverblue

Установка и использование Fedora Silverblue

Установка и использование Fedora Silverblue

Здесь мы видим Fedora XFCE. Далее я устанавливаю Deepin:

rpm-ostree rebase kinoite:fedora/30/x86_64/deepin

Установка и использование Fedora Silverblue

Установка и использование Fedora Silverblue

Установка и использование Fedora Silverblue

Установка и использование Fedora Silverblue

Здесь мы видим Fedora Deepin. Далее я устанавливаю LXQT:

rpm-ostree rebase kinoite:fedora/30/x86_64/lxqt

Установка и использование Fedora Silverblue

Установка и использование Fedora Silverblue

Установка и использование Fedora Silverblue

Установка и использование Fedora Silverblue

Здесь мы видим Fedora LXQT. Далее я два раза пробовал установить kinoite:fedora/30/x86_64/pantheon (с окружением Pantheon). К сожалению Pantheon отдельно я не смог запустить, возможно его нужно устанавливать вместе с Gnome. Последним я установил kinoite:fedora/30/x86_64/silverblue:

rpm-ostree rebase kinoite:fedora/30/x86_64/silverblue

Установка и использование Fedora Silverblue

Это тот же Gnome, но из репозитория Kinoite. Как видим некоторые другие DE вполне себе ставятся на Silverblue из репозитория Kinoite. Чтобы оценить их работу, нужно ставить на реальное “железо” и пользоваться. Также нужно учитывать, что это не официальные (возможно пока) спины Fedora, а проект одного разработчика. Подробнее здесь. Я же пока использую обычную Fedora Silverblue c Gnome.

8. Toolbox

Панель инструментов – Toolbox предварительно установлена в Fedora Silvrblue 30. Это проект, позволяющий легко использовать контейнеры для обычных пользователей. Это достигается с помощью контейнеров podman. Панель инструментов позволяет вам легко и быстро создать контейнер с обычной установкой Fedora, с которой вы можете играть или разрабатывать, отдельно от вашей системы. Я не разработчик, и пока не нашел применения для себя Toolbox. Но упомянуть о нем все же стоит. Toolbox поддерживает:

  • Ваше существующее имя пользователя и разрешения;
  • Доступ к вашему домашнему каталогу;
  • Общие инструменты командной строки, включая менеджер пакетов DNF.

Другими словами, контейнеры панели инструментов выглядят, чувствуют и ведут себя как стандартная среда командной строки Linux. Для запуска требуются две простые команды:

Эта команда загрузит образ Fedora(500MB) и создаст из него контейнер панели инструментов. После этого запустите:

Оказавшись внутри панели инструментов, вы можете получить доступ к общим инструментам командной строки и установить новые с помощью DNF. Выход из Toolbox:

Установка и использование Fedora Silverblue

Установка и использование Fedora Silverblue

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

Заключение

Итак на этом настройка Fedora Silverblue закончена. Свой опыт использования, вопросы, пишите в комментариях. В следующей части я напишу о продвинутых настройках Silverblue.

Более подробно о настройках можно узнать на официальном сайте. А также хорошие обзоры в ютубе снял блогер DorianDotSlash: