Der Snap-befreite Firefox
Mo, 7. November 2022, DxU
Seit einiger Zeit ist es bei vielen Distributionen und im Speziellen bei Ubuntu ein Reizthema: die alternativen Paketverwaltungssysteme wie Snap und Flatpak.
„Pakete im Griff“ lautet das Thema in der aktuellen Linuxuser. Ein Editorial und einige Artikel befassen sich mit den Vor- und Nachteilen von Snap, Flatpak & Co.
Für mich persönlich überwiegen als, zumindest bei diesem Thema, leidgeplagter Ubuntu User mit dem dort vertretenen Snap eindeutig die Nachteile:
- Pakete werden unnötig gross, weil sämtliche benötigte Bibliotheken erneut mitgeliefert werden.
Es gibt seit langer Zeit das Konzept der dynamischen Bibliotheken. Windowsuser kennen die .dll Dateien.
Sinn und Zweck ist hier, dass eben diese Bibliotheken zum einen erst geladen werden, wenn sie gebraucht werden und zum anderen einmal im System verfügbar sind und nicht für jede Applikation erneut mitgeliefert werden. Klassische Paketverwaltungssysteme prüfen bei einer Installation von Anwendungen diese Abhängigkeiten, also ob die benötigte Bibliothek in der richtigen Version, am erwarteten Platz verfügbar ist und installiert sie sonst, in der Regel aus der Paketverwaltung, für alle zentral nach.
Snap, Flatpak und Andere führen das nun ad absurdum und bringen all diese oft schon vorhandenen Bibliotheken erneut mit und blähen die Pakete somit unnötig auf.
- Immerhin spart sich der Paketbetreuer damit einiges an Arbeit, weil er das snap einmal packt und nicht für jedes Paketverwaltungssystem erneut, so der fromme Wunsch.
Ob dieser denn auch in Erfüllung geht, ist mehr als fraglich, denn zumindest derzeit paketiert er wohl schon mindestens 2 Mal, statt .deb und .rpm jetzt snap und flatpak. Dazu dann noch als standalone Variante zum selbst installieren und als Appimage.
- Der Anwender muss jetzt mehrere Paketverwaltungssysteme pflegen.
Zu einem
sudo apt update
sudo apt upgrade
kommt jetzt noch ein
sudo snap refresh
und ein
sudo flatpak update
hinzu.
Immerhin können Frontends wie Discover unter KDE das ganz gut abfangen.
Ich persönlich finde, zumindest mit snap (zu flatpak kann ich nicht viel sagen), wird das System damit nicht nur unnötig grösser, sondern auch unübersichtlicher und für Anwender weniger verstehbar.
Z.B. habe ich nicht schlecht gestaunt, als ich nach der Einführung von Snap irgendwann mal den mount Befehl benutzt habe und plötzlich solche Zeilen erhielt (Auszug):
~$ mount
/var/lib/snapd/snaps/onlyoffice-desktopeditors_121.snap on /snap/onlyoffice-desktopeditors/121 type squashfs (ro,nodev,relatime,errors=continue,x-gdu.hide)
/var/lib/snapd/snaps/onlyoffice-desktopeditors_133.snap on /snap/onlyoffice-desktopeditors/133 type squashfs (ro,nodev,relatime,errors=continue,x-gdu.hide)
/var/lib/snapd/snaps/snapd_17029.snap on /snap/snapd/17029 type squashfs (ro,nodev,relatime,errors=continue,x-gdu.hide)
/var/lib/snapd/snaps/snapd_17336.snap on /snap/snapd/17336 type squashfs (ro,nodev,relatime,errors=continue,x-gdu.hide)
/var/lib/snapd/snaps/telegram-desktop_4208.snap on /snap/telegram-desktop/4208 type squashfs (ro,nodev,relatime,errors=continue,x-gdu.hide)
/var/lib/snapd/snaps/telegram-desktop_4256.snap on /snap/telegram-desktop/4256 type squashfs (ro,nodev,relatime,errors=continue,x-gdu.hide)
Ich habe einmal nachgezählt, derzeit sind es hier 35 solcher Einträge. Nein, die Infos will ich nicht, wenn ich mount eingebe. Gut kann man filtern, aber schön ist anders.
Nicht falsch verstehen, wenn mir eine Anwendung alternativ als Snap, Flatpak, Appimage angeboten wird, z.B. in neueren oder unterschiedlichen Versionen zum Testen, ist das ok. Aber wenn, wie am Beispiel von Firefox, Ubuntu eben nur noch das snap anbietet, ist das einfach nur noch ärgerlich.
Linux wäre aber nicht Linux, wenn es nicht doch alternative Wege gäbe.
Im Chat wurde das thematisiert und schnell war eine Lösung zur Hand. Im Falle von Firefox gibts z.B. mindestens ein ppa.
Folgende Lösung hat bei mir prima geklappt:
Zuerst entfernen wir das Snap Paket:
sudo snap remove firefox
Dann fügen wir das Repository hinzu
sudo add-apt-repository ppa:mozillateam/ppa
Nun priorisieren wir die dort angebotene Version, sonst gibts danach wieder nur das snap oder die ESR Version (wobei die aktuell mit v102.x statt v106.x durchaus akzeptabel sein kann)
Wir erstellen die Datei /etc/apt/preferences.d/mozilla-firefox mit folgendem Inhalt:
Package: *
Pin: release o=LP-PPA-mozillateam
Pin-Priority: 1001
Schliesslich noch wie gewohnt die Paketverwaltung aktualisieren und firefox (samt Sprachpaket) installieren.
sudo apt update
sudo apt install firefox firefox-locale-de
snap befreite Grüsse, DxU