Linux kommt nur mit Langzeitunterstützung auf meine Systeme. Arbeitszeit ist zu kostbar um sie mit täglichen Updates bei Rolling-Release Systemen zu verschwenden. Spätestens nach ein bis zwei Jahren sind jedoch manche Softwareversionen so alt, dass man ein Update in Erwägung zieht. Bisher bedeutete dies entweder auf eine aktuellere Version zu aktualisieren oder eine Fremdquelle einzubinden. Seit der Ubuntu LTS 16.04 kann man dies jedoch auch mittels so genannte Snaps.
Bei Snaps handelt es sich um einen relativ neuen Ansatz Software auf die Systeme zu bringen, was die Limitationen bisheriger Paketverwaltungen überwinden soll. Einen ähnlichen Ansatz verfolgt auch Flatpak, das aber unter Ubuntu nicht zur Verfügung steht. MacOS Nutzer kennen dieses System bereits von den App Store Programmen mit der Endung .app.
Im Gegensatz zu normalen Paketen im Form DEB oder RMP enthalten Snaps auch die Abhängigkeiten unter Konfigurationsdateien. Das vergrößert zwar den Speicherplatzbedarf, macht sie aber auch leicht auf älteren Systemen installierbar. Weil Canonical eine ganze Reihe von Snaps selbst zur Verfügung stellt, muss man sich zudem nicht auf ungeprüfte Fremdquellen verlassen, wie das im bisherigen PPA-System der Fall war.
Damit Snaps installiert werden können benötigt man das Paket snapd, das bei Ubuntu 16.04 vorinstalliert ist. Snaps lassen sich sowohl über Ubuntu Software installieren, wie auch über die Kommandozeile.
Ein klassisches Beispiel, bei dem man von einer aktuellen Softwareversion profitiert, ist LibreOffice. Ob dieses als Snap zur Verfügung steht, kann man mit folgendem Kommando überprüfen:
snap find libreoffice
LibreOffice steht natürlich in der aktuellen Version 5.4 bereit, während in den normalen Paketquellen nur 5.1 zur Verfügung steht. Durch folgenden Befehl installiert man die Snap-Version von LibreOffice auf seinem System:
sudo snap install libreoffice
Snap installiert die Pakete unterhalb von /snap, wodurch sie separat vom normalen Linux Verzeichnissystem geführt werden. Als Anwender merkt man davon jedoch nichts und LibreOffice verhält sich wie eine normale Paketinstallation.
Zusätzlich unterliegen die Snaps der Überwachung durch AppArmor, wodurch beispielsweise ein Zugriff auf Systemverzeichnisse unterbunden wird. Ein Snap kann zudem nicht auf die Dateien eines anderen Snaps zugreifen.
Der einzige Nachteil besteht im relativ großen Speicherplatzbedarf. Bei heutigen Festplattengrößen spielt das aber nur eine nachrangige Rolle.
Insgesamt ist dieses System definitiv ein Schritt in die richtige Richtung. Ein stabiles Basissystem kann wahlweise durch einzelne aktuelle Programmversionen ergänzt werden ohne gleich Fremdquellen einbinden oder Systembibliotheken überschreiben zu müssen.
Langfristig dürften Snaps und vergleichbare Systeme zu einer stärkeren Trennung von Basissystem und Programmen führen. Während erstere weiterhin mittels klassischer Paketverwaltungen gepflegt werden dürften, ist es wahrscheinlich, dass die Programme zukünftig mittels moderner Paketformate organisiert werden. Fedora arbeitet bereits in die Richtung und wenn man sich den recht umfangreichen Snap-Pool von Canonical anschaut, geht der Weg hier in eine ähnliche Richtung.