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:
И это десктопная система? Зачем? На побаловаться?
Термин «неизменяемая операционная система» обозначает, что корневая и пользовательская директории монтируются в режиме «только для чтения». Все изменяемые данные размещаются в каталоге /var. Аналогичный метод используют разработчики ChromeOS и macOS Catalina. Такой подход повышает защищенность ОС и не дает удалить системные файлы (защита от дурака). Неубиваемость, откаты, смена версии без проблем, возможность построения отдельного снимка под конкетные задачи и цели, легкость администрирования. Я раньше сам плевался, а сейчас около месяца пользуюсь, вполне себе годно для домашнего ноутбука.
Спасибо за интересный материал. Надо будет попробовать.
Федора. а... привет. Самые красноглазые красноглазики. Да я лучше Слаку юзать буду. Говорите на ней ред хат точит когти. Сточил. Ну у амеров может как и кто то о ред шляпе слышал. 03% общего пользования. Общался с амером . он не знает что это ( Знает но где применять не представляет) .хотя ведущий специалист компании. Короче рейтинг у федорки. моет пусть своих тарелочки вилочки.
Странно, наоборот всегда считал, что на западе больше федоровцев чем у нас, на ютубе много обзоров Fedora именно на английском. Вот тут: https://fedoramagazine.org/?s=How+Do+You+Fedora много отзывов конкретных людей. Сам Линус использует Fedora и известный Michael Larabel автор Phoronix тоже активно юзает Fedora.
На ютубе можно все. а по факту. Просмотры не кактят . глянул .забыл. В Штатах среди линуксоидов номер 1 Дебиан. но и Кали. Вот про это они знают. Тайлс и то не так популярен. RPM у них под запретом, типа там Шляпа. Это я о домашних ПК. О Cent, не слышали. Если у тебя Арч то ты бог.
Автор. Вы Мазохист?
Нет я еще новичок, сравнительно недавно изучаю и использую линукс, в отличии от богов комментов.
Новичку на Fedora бросаться - это и есть МАЗОХИЗМ ))))))
Новичку по rpm лучше фьорки мандривыпо urpmi поюзать. Наша Роса например. Потом на на шизанутый ред хат и цент лезть. Он лучше не спорю .но шизанутый.
Показательный пример "доброго" рускоязычного community по отношению к новичкам и Федоре, о котором в интернете слагают легенды. Я горжусь вами друзья линуксоиды.
Использую для дома Федорку, правда воркстейшн. Адекватный дистрибутив. Тойже Бубунты на мой взгляд постабильнее будет. Маны для Федьки от сообщества Рашн Фёдора вообще суперские. Че вы так не неё ополчились?
Не, валится, при задании разрешения 400% на 4K мониторе, иэ свойства дисплея, все отвал, ничего не работает, гавноооконный менеджер не дает даже запустить терминал - отвал всех программ на запуске.
было бы интересно еще увидеть, как она в соотношении потребления ресурсов в сравнении с обычной Федорой, и установкой пакетов со стороны например PyCharm или VSCode?
MITAI
В Silverblue 31 есть репозиторий для PyCharm его можно подключить и установить,
Так же в flathub есть VSCode тоже прекрасно работает.
Моё личное мнение наткнулся я сегодня на такой дистрибутив как Nixos мне очень понравилась идея этого дистрибутива я начал изучать этот вопрос так же наткнулся на Silverblue. И я встал перед выбором что пробовать, но так как у меня сейчас работа плюс учеба решил ставить федору так как с nixos больше играться надо, а у меня на это нету времени.
Во общем потыкал я в виртуалке silverblue и мне очень понравилась, вот уже поставил на реальный мой рабочий ноут, пока что всё очень замечательно, единственное очень мало документации на русском эта наверное единственная статья, и благодаря который я всё таки разобрался с ним, за что Автору отдельное большое спасибо.
В будущем планирую всё же по тестить nixos, там такая же политика пакетирование как и в silverblue но ещё там есть конфигурационный файл который можно переносить на другие устройства с nixos и приводи систему в точно такую же, не знаю если это в silverblue кто знает подскажите.