Установка и использование 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. Подробно на установке я останавливаться не буду.

Заполняем все поля, ждем пока установится, перезагружаем. Стоит отметить установка и развертывание происходит по другому и занимает больше времени, чем обычная установка 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

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

rpm-ostree upgrade

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

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

systemctl reboot

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

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

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

Смотрим систему:

rpm-ostree status

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

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

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

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

rpm-ostree status

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

sudo ostree admin pin 0

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

rpm-ostree install screenfetch
systemctl reboot

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

sudo ostree admin pin --unpin N

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

sudo ostree admin pin --unpin 1

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

rpm-ostree reset

Перезагрузим:

systemctl reboot

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

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

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

rpm-ostree rollback

Перезагрузим:

systemctl reboot

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

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

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

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

rpm-ostree cleanup

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

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

Проверяем:

flatpak remotes

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

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

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

flatpak remote-delete "name repo"

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

На форумах пользователи пишут о использовании 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

Firewall:

sudo rpm-ostree install firewall-config

Chromium:

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

Ffmpeg:

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

Перезагружаем:

systemctl reboot

Запуск libvirtd:

sudo systemctl start libvirtd

sudo systemctl enable libvirtd

Перезагружаем:

systemctl reboot

Проверка:

lsmod | grep kvm

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

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

sudo usermod -aG libvirt $USER

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

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

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

rpm-ostree upgrade --check

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

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

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

ostree remote list

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

ostree remote refs fedora

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

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

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

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

systemctl reboot

Смотрим:

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

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

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

rpm-ostree cancel

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

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

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

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

sudo ostree admin pin 0

Загружаем ключ 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

Проверяем:

ostree remote list

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

ostree remote refs kinoite

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

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

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

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

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

systemctl reboot

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

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

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

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

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

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

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

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

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

Здесь мы видим 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

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

8. Toolbox

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

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

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

toolbox create

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

toolbox enter

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

exit

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

toolbox --help

Заключение

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

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

 

13 комментариев

  1. Александр Сентябрь 13, 2019 Ответить
    • kuchera Сентябрь 14, 2019 Ответить
  2. DissM Сентябрь 13, 2019 Ответить
  3. Zurqwany Сентябрь 15, 2019 Ответить
    • DissM Сентябрь 16, 2019 Ответить
      • Zurqwany Сентябрь 16, 2019 Ответить
  4. Михаил Сентябрь 17, 2019 Ответить
  5. kuchera Сентябрь 18, 2019 Ответить
    • Юрий Сентябрь 18, 2019 Ответить
      • Михаил Сентябрь 18, 2019 Ответить
        • kuchera Сентябрь 20, 2019 Ответить
  6. Алексей Сентябрь 19, 2019 Ответить
  7. artur Октябрь 18, 2019 Ответить

Ответить

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: