Snap vs APT: Was für und was gegen die Verwendung von Snap unter Linux spricht

Heute möchte ich euch über das von vielen Linux Anwendern verteufelte Paket- und Bereitstellungssystem Snap erzählen und der Ursache auf den Grund gehen, warum das von Canonical eingeführte System zur Paketverwaltung gute und schlechte Eigenschaften im Vergleich zu APT besitzt. In den Linux-Communitys herrschen seit der Einführung von Snap große Unruhen, die vor allem Anfänger stark verunsichern könnten. Damit möchte ich durch etwas Aufklärung gern aufräumen.

Momentan scheint es so, dass man die neue Möglichkeit entweder hasst oder akzeptiert, Software auf Ubuntu basierten Systemen mittels Snap zu installieren. Ja, auch auf meinem Blog gibt es so manch ein Tutorial, welches auf die neuen Installationsmöglichkeiten mit dem Einsatz von Snap zurückgreift. Sehen wir uns zunächst einmal die Gründe an, warum Canonical die Software Snap veröffentlicht hat, obwohl es für Linux-Benutzer eigentlich eine ganze Reihe von etablierten Paketmanagern wie APT, Pacman, YUM und viele weitere gibt.

Inhaltsverzeichnis: Snap und APT im Vergleich – Die Unterschiede über die Paketverwaltungssysteme für Linux

Was ist Snap?

Was ist Snap

Snap ist ein von dem britischen Unternehmen Canonical entwickeltes Paketformat und System für die Verwaltung von Software-Pakete auf Linux basierten Betriebssystemen. Snap hat den Vorteil, neue Software und Anwendungen noch einfacher auf einem System zu installieren, da alle notwendigen Abhängigkeiten selbstständig installiert werden.

Warum hat Canonical Snap veröffentlicht?

Die Grundidee von Snap ist nicht schlecht, da bei der Installation über den Store eine gewisse Funktionsgarantie besteht. Wir müssen uns keine Gedanken mehr darüber machen, welche PHP-Version oder welche Datenbank für die Anwendung erforderlich ist und wie es mit der Kompatibilität zwischen Software A und B aussieht. Ähnlich wie bei Docker und den Containern wird jede über Snap installierte Anwendung in sich isoliert installiert.

Auf dieser Weise arbeitet die Software systemunabhängig. Bereitgestellte Applikationen haben nur eingeschränkten Zugriff auf das Hostsystem, größtenteils zum Schreiben der Konfigurationsdateien. Snap erleichtert Canonical natürlich auch die Pflege von Software bei den eigenen Ubuntu-Distributionen. Theoretisch müssen keine gesonderten Versionen für jede Distribution mehr bereitgestellt werden, sondern nur noch eine einzige Snap-Version, die auf allen aktuellen Distributionen gleichermaßen funktioniert.

Gerade in Bezug auf die LTS-Versionen mit Long-Term-Support, die in der Regel auf älteren Systembibliotheken beruhen als ihre neuen Derivate, kann Snap die Spreu vom Weizen trennen und die Unterstützung bzw. die Integration neuer Software erheblich verbessern.

Was ist der Unterschied zwischen APT und Snap?

Ich mache jetzt mal ein ganz einfaches Beispiel. Während wir bei der Verwendung von dem Paketmanager APT für die Installation einer Anwendung in der Regel alle Abhängigkeiten eigenständig installieren müssen, damit eine Software vollständig implementiert werden kann, übernimmt Snap das alles in der Theorie von selbst. Anstelle von 20 Befehlen wird jetzt fast nur noch ein Einziger benötigt.

Würden wir unter Linux Ubuntu nun zum Beispiel eine Nextcloud installieren, dann benötigen wir PHP und alle notwendigen Module, eine Datenbank, einen Webserver und dann noch die Cloud-Software selbst. Für gewöhnlich bezieht APT die Pakete aus offiziellen Repositorys einer Distribution. Aus diesen Quellen werden die APT-Pakete installiert und die geplanten Anwendungen dann Schritt-für-Schritt auf das Linux-Hostsystem implementiert.

Letzteres spart zwar Speicherplatz auf dem System meiner persönlichen Meinung nach ist das zur heutigen Zeit, in der Speicher wirklich günstig ist und in jedem System ausreichend vorhanden sein kann, fast irrelevant, so zu mindestens im Serverbereich. In Zeiten, in denen wir virtuelle Maschinen und Container generell den installierten Anwendungen nach fein säuberlich voneinander trennen, sehe ich da persönlich keinen gravierenden Nachteil mehr.

Der größte Vorteil von Snap und die Bündelung von Software in ein einziges Paket ist die Plattformunabhängigkeit im Vergleich zu APT. Snap ermöglicht es den Entwicklern, die Software nun selbstständig über den Snap Store auszuliefern. So können Entwickler auf Veränderungen kurzfristig reagieren und immer die neusten Releases anbieten. Klingt ja nicht schlecht. Dennoch gibt es einige Stimmen aus der Linux-Gemeinschaft, die sich offiziell gegen Snap aussprechen.

Was wird häufig an Snap kritisiert?

Kritisiert wird vor allem die Alleinherrschaft über die Software, da sie ausschließlich von dem nicht wirtschaftlich unabhängigen Unternehmen Canonical kontrolliert und weiterentwickelt wird. Ferner wird der größere Speicherbedarf für über den Snap-Store bezogene Software kritisiert, da immer isolierte Software-Bündels auf dem System installiert werden (containerisierte Softwarepakete). Es gibt auch einige Stimmen, dass Snap nur so erfolgreich sei, weil Entwickler aufgrund des großen Erfolges von Ubuntu förmlich dazu gezwungen wären, ihre Software dort bereitzustellen. Das stößt einige Linux-Anwender und Anhänger von Open-Source-Software vor den Kopf.

Über Snap installierte Software wird automatisch aktualisiert, was einige Kritiker ebenso als nicht ungefährlich betrachten, da es auch unkontrollierten Einfluss auf die Bandbreite hat. Updates lassen sich nicht manuell verhindern, sondern lediglich nach hinten hinaus verzögern. APT hingegen gewährt dem Benutzer die eigenständige Kontrolle darüber, wann eine Aktualisierung durchgeführt werden soll.

Dazu muss man allerdings erwähnen, dass die angebotene Version von einer Anwendung, die über APT (Advanced Packaging Tool) installiert wird, häufig nicht ganz aktuell ist. Da Neuerungen erst in den Repository aufgenommen werden müssen, haben die Entwickler von Software eine Beschränkung, wenn sie die aktuellen Versionen ihrer Anwendung verteilen möchten. Die Chance ist bei der Verwendung von Snap (Snapcraft) also sehr groß, aktuellere Software auf das Linux-System zu installieren.

Ist die Verwendung von Snap genauso sicher und unbedenklich wie APT?

Bei Snaps werden im Vergleich zu APT keine externen Prüfungen mehr durchgeführt, ob die vom Entwickler im Store bereitgestellte Software sicher und vertrauensvoll ist. Wir müssen dem Herausgeber einer Anwendung also ein gewisses Vertrauen entgegenbringen. Durch die Unterstützung von Signaturvalidierungen, die immer nur für eine begrenzte Zeit gültig sind, ist die Installation von Software über den Snap-Store aber sicher und in der Regel unbedenklich.

Der APT-Anwender kann durch die strenge Überprüfung von DEBs immer sicher sein, dass die im offiziellen Repository enthaltene Software aus einer vertrauensvollen Quelle stammt und die Anwendung bereits gut mit der verwendeten Linux-Distribution funktioniert. Das hat allerdings den Nachteil, dass wir nicht die neusten Veröffentlichungen verwenden und häufig auf gewisse Features und Funktionen verzichten müssen.

APT oder Snap, welche Methode ist die bessere?

Mein Artikel sollte lediglich auf die hauptsächlichen Unterschiede zwischen Snap und APT hinweisen und die Methoden für die Bereitstellung miteinander vergleichen. Nur weil die Person XY der Überzeugung ist, dass Snap ein schlechtes und in sich beschränktes Konzept sei, muss dies nicht zwingend deine Meinung sein. Die Software hat seine Daseinsberechtigung und die Implementierung seitens Canonical lässt sich aufgrund der oben genannten Gründe auch nachvollziehen.

Möchten wir schnell und zuverlässig eine neue Anwendung auf dem System bereitstellen und unabhängig von der verwendeten Distribution die neuste Version einer Software verwenden, dann ist Snap eine ausgezeichnete Wahl. Möchten wir eine saubere und kontrollierbare Installation durchführen, zukünftige Aktualisierungen selbstständig durchführen und den Speicherplatz möglichst klein halten, dann ist APT nach wie vor eine hervorragende Wahl.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert