Snappy (Paketverwaltung)

Snappy
Basisdaten

Entwickler Canonical
Erscheinungsjahr 2014
Betriebssystem Linux
Programmier­sprache 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. Dabei geht es über den Anwendungsfall auf dem Linux-Desktop hinaus und zielt auch auf Anwendungen im Cloud Computing und das IoT ab.[2]

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.[3][4]

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).

Unterstützte Betriebssysteme

Es werden verschiedene Linux-Distributionen unterstützt, wobei die Zusammenarbeit oft inoffiziellen Charakter hat und Snappy mitunter nachinstalliert werden muss.[2]

Rezeption und Kritik

Linus Torvalds sprach sich für upstream packaging aus und verwendet es für seine Anwendung Subsurface in Form von AppImage-Paketen, noch bevor Snaps marktreif waren.[5] Der ArchLinux-Paketbetreuer Kyle Keen hingegen kritisierte das Konzept von Snappy und wandte sich prinzipiell gegen eine Softwareverteilung durch die Applikationsentwickler (Upstream-Entwickler) an die Anwender.[6] Die Unterstützung für zahlreiche Betriebssysteme außer Ubuntu, die als Zusammenarbeit vermarktet werde, gehe ausschließlich auf Einreichungen durch Canonical zurück. Dem stehe auch entgegen, dass etliche Distributionen ganz andere Pläne im Bereich der Paketverwaltung hätten.[7] Die für die Sicherheitsberechtigungen nötigen Patches für AppArmor sind ausschließlich unter Ubuntu verfügbar.[8]

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.[9] Seit der Version „Ulyana“ von 2020 blockiert Linux Mint die Installation von Snap-Paketen.[10] Problematisch ist zudem, dass Canonical die Unterzeichnung eines Contributor License Agreement einfordert, damit Entwickler Snap beisteuern dürfen. Dieser Vertrag bringt Canonical einseitig in eine bessere Vertragsposition, weshalb Konkurrenten ihren Mitarbeitern die Zustimmung hierfür verweigern können.[11]

Der Ubuntu Snap Store selbst prüft nicht auf Schadprogramme.[12] In der Vergangenheit tauchten daher Programme auf, die heimlich Kryptowährung herstellten.[13]

Siehe auch

Flatpak

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. a b Ferdinand Thommes: Canonical will Snap zum universellen Paketsystem machen. In: Pro-Linux. 15. Juni 2016, abgerufen am 18. Juni 2016.
  3. 1.6. Lebenszyklus einer Veröffentlichung. Abgerufen am 31. Oktober 2019.
  4. Upgrading packaged Ubuntu application unreasonably involves upgrading entire OS Bug #578045 auf bugs.launchpad.net/ubuntu von John King (2010-05-10)
  5. Ferdinand Thommes: Sicherheitskonzepte von Flatpak und Snap unter der Lupe. In: LinuxUser 06/2017. Abgerufen am 12. August 2023 (deutsch).
  6. Moritz Förster: Richtungswechsel: Diskussion um neue Linux-Paketformate. In: heise open. 22. Juni 2016, abgerufen am 23. Juni 2016.
  7. Andreas Proschofsky: Snappy vs. Flatpak: Streit um die Linux-App-Zukunft. In: DerStandard.at. 19. Juni 2016, abgerufen am 12. August 2023 (österreichisches Deutsch).
  8. Paketmanagement mit Snap auf Linux-Systemen - Eingeschnappt. In: IT-Administrator Magazin. 5. Januar 2018, abgerufen am 12. August 2023.
  9. Andreas Proschofsky: Offener Konflikt: Linux Mint wirft Ubuntu vor, „Hintertür“ einzuschmuggeln. In: DerStandard.at. 14. Juni 2020, abgerufen am 18. Juni 2020.
  10. Gerhard Loschwitz: Linux Mint 20: Desktop ohne Snap-Pakete. In: heise online. 28. Juni 2020, abgerufen am 28. Juni 2020.
  11. Thorsten Leemhuis: Universalpakete: Flatpak und Snap sollen App-Installationen unter Linux revolutionieren. In: c’t. Band 2016, Nr. 17, 2016, ISSN 0724-8679, S. 154 (heise.de).
  12. Tilman Wittenhorst: Spielerisches Krypto-Mining: Malware im Ubuntu Snap Store aufgetaucht. In: heise online. 14. Mai 2018, abgerufen am 25. Februar 2024.
  13. Ferdinand Thommes: Ubuntu Snap Store enthielt Malware. In: Pro-Linux. 14. Mai 2018, abgerufen am 25. Februar 2024.