Krótki wpis w którym opiszę sposób na usprawnienie działania Fedora Silverblue.
Zaczęło się od się tego, że przypadkiem natknąłem się na kanał Jorge Castro, który zaczął na bazie Silverblue budować projekt ublueit. Nie będę opisywał czego dotyczy ów projekt, ale w jednym z publicznie dostępnych repozytoriów natknałem się na skrypty usprawniające domyślną instalację Fedory.
Po pierwsze, można odchudzić domyślną gałąź o firefox, potem zainstalujemy wersję z flatpak.
rpm-ostree override remove firefox firefox-langpacks
Po drugie, można na głównej gałęzi zainstalować distrobox. Pozwala w łatwy sposób użwać obrazów wielu popularnych dystrubucji.
rpm-ostree install distrobox
Warto ustawić sobie automatyczne aktualizacje systemu. W przypadku Fedory Silverblue jest to całkowicie bezpieczne. Zawsze można w prosty sposób powrócić na poprzednią generację systemu.
sudo sed -i 's/#AutomaticUpdatePolicy.*/AutomaticUpdatePolicy=stage/' /etc/rpm-ostreed.conf
systemctl enable rpm-ostreed-automatic.timer
Domyślnie Fedora korzysta z własnego repozytorium flatpak. Nie jest to idealne rozwiązanie, bo paru pakietów brakuje, a niektóre są starsze niż na flathub.org. Można rozważyć całkowite zastąpienie zainstalowanych już wersji paczek z repozytorium fedorowego, tym z flathub. Zacząć należy od dodania repozytorium flathub.
flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
Poniższe komendy zastąpią nam paczki:
flatpak install --user --noninteractive org.gnome.Platform//44
flatpak install --user --noninteractive --reinstall flathub $(flatpak list --app-runtime=org.fedoraproject.Platform --columns=application | tail -n +1 )
Dla czystości systemu, usuwam również preinstalowane aplikacje oraz repo fedory:
sudo flatpak remove --system --noninteractive --all
sudo flatpak remote-delete fedora --force
Od teraz każdy pakiet instalowany jako flatpak będzie używał domyślnie repo flathub.org. Wracamy teraz do usuniętego firefox.
flatpak install --user firefox
Zawsze instaluję jeszcze bardzo podstawowy pakiet potrzebnych aplikacji.
flatpak install --user --noninteractive flathub org.mozilla.firefox org.gustavoperedo.FontDownloader com.github.tchx84.Flatseal com.mattjakeman.ExtensionManager
Automatyczna aktualizacja systemu za nami, warto ustawić automatyczną aktualizację flatpaków.
mkdir -p ~/.config/systemd/user
Do utworzonego katalogu dodajemy dwa serwisy: flatpak-user-update.service
[Unit]
Description=Flatpak Automatic Update
Documentation=man:flatpak(1)
Wants=network-online.target
After=network-online.target
[Service]
Type=oneshot
ExecStart=/usr/bin/flatpak --user update -y --noninteractive
[Install]
WantedBy=multi-user.target
flatpak-user-update.timer
[Unit]
Description=Flatpak Automatic Update Trigger
Documentation=man:flatpak(1)
[Timer]
OnBootSec=5m
OnCalendar=0/6:00:00
Persistent=true
[Install]
WantedBy=timers.target
Teraz wystarczy dodać serwis do autostartu
systemctl --user enable --now flatpak-user-update.timer
Po tych wszystkich zabiegach otrzymujemy odchudzoną wersję Fedora Silverblue z przełączonym repozytorium flatpak oraz włączoną automatyczną aktualizcją. Warto wspomnieć, że aktualizacja flatpaków nie wymaga restartu maszyny. Natomiast aktualizacja głównego systemu wymaga restartu. Taki urok immutable OS.