
Привет! Меня зовут Егор Гаврилов, и я хочу рассказать о Fedora Silverblue с точки зрения Junior Java-разработчика, который использует этот дистрибутив в качестве повседневной операционной системы.
О самом дистрибутиве
Если кратко, Fedora Silverblue придерживается концепции атомарности и неизменяемости дистрибутива, где для каждого действия с базовой системой (будь то обновление ОС, установка RPM-пакетов или изменение параметров ядра) создается новый образ, который применяется только после загрузки в него. Поэтому для установки пакетов рекомендуется использовать Flatpak, а если требуется установить что-то, требующее доступа к dev-библиотекам, лучше воспользоваться такими решениями, как Distrobox или его аналоги.
Говоря подробнее, система использует OSTree для хранения данных различных «коммитов» системы — принцип работы OSTree схож с Git, но он ориентирован на работу с бинарными файлами. При загрузке ОС система берет нужный «коммит» и формирует FHS-ссылки согласно файлам этого «коммита». Система хранит лишь разницу между этими «коммитами», благодаря чему она не требует значительного объема дискового пространства; кроме того, по умолчанию сохраняются только два последних «коммита»: текущий и предыдущий. Эти «коммиты» можно закрепить («пиннуть») — тогда будет сохранен еще и третий «коммит». Можно настроить сохранение большего количества «коммитов», чем предусмотрено по умолчанию, однако это увеличит объем самой ОС. Обновление происходит в дельта-режиме, поэтому нет необходимости каждый раз загружать образы размером по 2 Гб ежедневно, что особенно актуально для Fedora, ведь там действительно часто выходят довольно крупные обновления.
Кстати, Flatpak тоже использует OSTree, обеспечивая те же преимущества, что и само системное OSTree.
Как дела с разработкой на Java?
Если коротко — Distrobox очень помогает. IDEA устанавливается без проблем: устанавливаем GTK4, xdg-utils и сам JDK. Без GTK IDEA просто откажется запускаться. Virt-manager и libvirt с QEMU для него доступны сразу через Flatpak — они работают от имени пользователя, поэтому функциональность немного ограничена, но полноценная виртуализация доступна прямо на уровне пользователя, причем с контейнеризацией от Flatpak.
Вместо Docker я использую Podman — он тоже запускается от имени пользователя и отлично справляется со своей задачей. Меньше проблемы с безопасностью.
Браузеры и другие программы я установил через Flatpak — всё работает прекрасно.
Итог
Мое заключение такое: Fedora Silverblue уже давно готова стать отличной операционной системой для разработчиков. Distrobox значительно продвинулась вперед, сделав разработку внутри контейнера гораздо приятнее (хотя и с некоторыми компромиссами в области безопасности — разработчики добавили множество хитростей для обеспечения совместимости с различными программами).
Не забывайте про карму (плюс/минус - не важно) - ваше мнение очень важно для меня :-)
asolokha
Ваша Fedora Silverblue - моська супротив слона openSUSE Aeon. Механизм обновления системы в openSUSE Aeon в разы быстрее и лучше.