Snappy (Paketverwaltung)

aus Wikipedia, der freien Enzyklopädie
Snappy
Basisdaten

Entwickler Canonical
Erscheinungsjahr 2014
Betriebssystem Linux
Programmiersprache Go
Kategorie Paketverwaltung
Lizenz GPLv3+
snapcraft.io

Snappy, auch Snap ist ein Softwareverteilungssystem und eine Paketverwaltung für Linux, das bzw. die distributionsübergreifend arbeitet. Das von Canonical entwickelte System unterstützt transaktionale Updates und Rollbacks.[1] Es wurde von Canonical für Ubuntu entwickelt und ist mittlerweile auch für andere Linux-Distributionen verfügbar.

Unterschied zu herkömmlichen Paketmanagern

Bei herkömmlichen Paketmanagern wie apt oder rpm braucht sich der Softwareentwickler nicht um die Systemintegration für die einzelnen Distributionen selber zu kümmern; oft wird nur der Quellcode veröffentlicht. Die Paketierung wird üblicherweise von den jeweiligen Applikations-Betreuern („Maintainern“) der einzelnen Linux-Distributionen erledigt. Je nach Linux-Distribution werden nach der Freigabe (Release) einer Distribution keine Pakete mehr auf neuere Versionen aktualisiert, was zwar für Stabilität sorgt, jedoch die Nutzung aktueller Paketversionen verzögert.[2][3]

Snappy umgeht die Notwendigkeit distributionsspezifischer Installationspakete bzw. Repositories, indem der Software-Entwickler direkt seine Snappy-Pakete erstellt und freigibt. Sie können dann ohne Wartezeit direkt von den Anwendern zahlreicher verschiedener Linux-Distributionen heruntergeladen und verwendet werden; der Mittelsmann „Distribution“ zwischen Entwickler und Endanwender entfällt. Ein weiterer wichtiger Unterschied besteht darin, dass herkömmliche Paketmanager bei Installationen und Updates die Abhängigkeit von anderen Paketen prüfen und so die Software tief ins Gesamtsystem integrieren. Im Gegensatz dazu hat ein Snappy-Paket typischerweise alle benötigten Dateien und Abhängigkeiten für die Software dabei und ist dadurch vom Restsystem gut entkoppelt („Portable Software“); auch ist die Kontaktfläche für Kompatibilitätskonflikte damit minimiert,[1] jedoch müssen dann auch Sicherheitsupdates in Abhängigkeiten für jedes Snappy-Paket separat eingespielt werden. Die fehlende Systemintegration macht sich bei manchen Anwendungen bemerkbar. Dann passen Dialoge nicht zu eingestellten Desktop-Themen, oder eine vorhandene proprietäre Hardwareunterstützung kann nicht genutzt werden (Grafiktreiber).

Während die benötigten Bibliotheken und Komponenten bei Flatpak optional mitgeliefert werden können, sind diese in einem Snap-Paket direkt enthalten.[4]

Unterstützte Betriebssysteme

Es werden verschiedene Linux-Distributionen unterstützt:[5][6]

Rezeption und Kritik

Der ArchLinux-Paketbetreuer Kyle Keen kritisierte das Konzept von Snappy und wandte sich prinzipiell gegen eine Softwareverteilung durch die Applikationsentwickler (Upstream-Entwickler) an die Anwender.[7] Linus Torvalds sprach sich dagegen für upstream packaging aus und verwendet es für seine Anwendung Subsurface (AppImage-Pakete).[8][9]

Von den Entwicklern der Linux-Distribution Mint wird kritisiert, dass Snaps exklusiv über einen einzigen App-Store von Canonical ausgeliefert werden, der unter der Kontrolle von Canonical steht und dessen Code proprietär ist. Dadurch habe Canonical die Möglichkeit, Hintertüren in Ubuntu einzurichten.[10] Seit der Version „Ulyana“ blockiert Linux Mint die Installation von Snap-Paketen.[11]

Weblinks

Einzelnachweise

  1. a b Kristian Kißling: Snappy: Ubuntu Core mit neuem Update-System. Linux Magazin, 10. Dezember 2014, abgerufen am 20. Dezember 2014.
  2. 1.6. Lebenszyklus einer Veröffentlichung. Abgerufen am 31. Oktober 2019.
  3. Upgrading packaged Ubuntu application unreasonably involves upgrading entire OS Bug #578045 auf bugs.launchpad.net/ubuntu von John King (2010-05-10)
  4. Snap-packages vs Flatpacks. maketecheasier.com, abgerufen am 28. April 2021 (englisch).
  5. Ferdinand Thommes: Canonical will Snap zum universellen Paketsystem machen. In: pro-linux.de. 15. Juni 2016, abgerufen am 18. Juni 2016.
  6. Installing snapd | Snapcraft documentation. Abgerufen am 4. Oktober 2021 (englisch).
  7. Moritz Förster: Richtungswechsel: Diskussion um neue Linux-Paketformate. In: heise.de. heise open, 22. Juni 2016, abgerufen am 23. Juni 2016.
  8. Linus Torvalds: This is just very cool. 24. November 2015. Archiviert vom Original am 24. September 2017. Abgerufen am 24. November 2015: „It [up-stream packaging] not only allows for a project to create a complex Linux application (in the case of subsurface, one that uses very recent library versions that many distributions don’t even have available yet) that works on multiple distributions, you don’t even need to really even install it. Download a file, mark it executable, and run it.“
  9. Linus Torvalds on the problems of distro packaging on DebConf 2014
  10. Offener Konflikt: Linux Mint wirft Ubuntu vor, „Hintertür“ einzuschmuggeln. derstandard.at, 14. Juni 2020, abgerufen am 18. Juni 2020.
  11. heise online: Linux Mint 20: Desktop ohne Snap-Pakete. Abgerufen am 28. Juni 2020.