Snappy ist ein Paket-Management- und Software-Deployment-System für Linux. Es vereinfacht Erstellung, Auslieferung und Aktualisierung von Linux-Paketen durch sogenannte Snaps., distributionsübergreifende, abhängigkeitsfreie und isolierte Software-Container.
Als federführendes Unternehmen hinter Snappy betreibt Canonical den Snap-Store snapcraft.io.
(Bild: Canonical)
Aufbau und Funktionsweise von Snap-Paketen
Snap-Pakete sind komprimierte Dateisystem-Images im SquashFS-Format. Sie enthalten neben der eigentlichen Software alle Abhängigkeiten wie Bibliotheken, Laufzeitumgebungen und externe Tools. Nur Komponenten wie die fundamentalen System-Bibliotheken, Desktop-Umgebungen oder Systemkerne sind gegebenenfalls in gesonderte Snaps ausgelagert.
Anders als herkömmliche Linux-Pakete werden Snaps bei der Installation nicht entpackt. SquashFS ermöglicht ein transparentes Dekomprimieren einzelner Dateien zur Laufzeit, wodurch ein Entpacken unnötig ist. Stattdessen liegen die komprimierten Dateisystem-Abbilder im Verzeichnis „/var/lib/snapd/snaps/“ und werden unter „/snaps/“ eingehängt. Jeder Container hat dabei sein eigenes Unterverzeichnis, so dass es zu keinen Konflikten zwischen den Paketen kommen kann.
Die Isolierung der Container geht aber noch viel weiter darüber hinaus. Snap-Apps laufen in eigenen Sandboxes, die per AppArmor, Kernel-Namespaces und cgroups voneinander und dem restlichen System abgekapselt sind. Für die Vergabe von Ressourcen sowie die Integration mit anderen Anwendungen und dem Betriebssystem kommen sogenannte Interfaces zu Einsatz. Mit ihnen lassen sich Zugriffe auf Hardware-Komponenten, Systemdienste, Konfigurationen, Dateisysteme und vieles weitere kontrollieren und beschränken.
Vor- und Nachteile gegenüber anderen Paket-Systemen
Klassische Linux-Pakete wie DEB und RPM sind eng an eine spezifische Distribution gebunden. Softwareentwickler müssen entweder für jedes Linux-System eigene Pakete erstellen oder warten, bis die Distributoren die neue Version integriert haben. Mithilfe von Snaps können Entwickler einheitliche Pakete für alle Linux-Varianten anbieten, die das Paket-System unterstützen. Anders als das mit Snap vergleichbare Paket-System Flatpack können Snaps nicht nur Anweisungsprogramme, sondern auch Systemdienste oder Flash-Abbilder für Embedded Devices enthalten.
Da die Container sehr wenige bis gar keine Abhängigkeiten haben und sich nicht ins restliche System integrieren müssen, lassen sich schnellere Updates ohne Versionskonflikte ausliefern. Hierbei wird oft bemängelt, dass der Verwaltungsdienst „snapd“ kein Deaktivieren der automatischen Updates vorsieht. Allerdings ist es möglich, Pakete auf eine Hauptversion zu fixieren und Aktualisierungen bis zu 60 Tage zurückzuhalten. Ebenso lassen sich Updates leicht zurücknehmen, um zu einer vorherigen Version zurückzukehren.
Snappy ist eng an systemd gekoppelt, sodass traditionelle Distributionen wie Slackware oder Devuan das Paket-System nicht ohne Weiteres nutzen können. Darüber hinaus ist es bisher nicht möglich, die Sicherheitserweiterungen AppArmor und SELinux gleichzeitig zu verwenden. Die Sandbox ist deshalb auf Distributionen wie RHEL, SUSE und Fedora weit weniger sicher.
Einen vollständigen Schutz vor Schadsoftware bieten auch Snaps nicht. Zwar durchlaufen Pakete aus dem Snap-Store verschiedene automatisierte Sicherheitsprüfungen. Code-Audits wie bei den Paketen aus den Repositories der Distributionen finden jedoch weit weniger statt. Das für Ubuntu und Snap verantwortliche Unternehmen Canonical empfiehlt, Snaps ausschließlich von vertrauenswürdigen Anbietern zu installieren.
Bisher betreibt Canonical den einzigen Snap-Store, dessen Software nicht vollständig frei ist. Snaps lassen sich jedoch auch von der Entwickler-Website herunterladen und unabhängig von einem Snap-Store installieren.
Snap in der Systemadministration und Anwendungsentwicklung
Da Snappy von Canonical entwickelt wird, ist das Paket-System ab Ubuntu 16.04 vorinstalliert. Für die meisten anderen Distributionen gibt es entsprechende Pakete in den jeweiligen Repositories. Das Gnome Software Center unterstützt von vornherein Snaps. Einige andere Paketmanager wie KDE Discover lassen sich entsprechend nachrüsten.
Für die Verwaltung der Snaps ist der Hintergrunddienst „snapd“ zuständig. Administratoren nutzen das Kommandozeilen-Programm „snap“ zum Installieren, Deinstallieren, Aktualisieren und Konfigurieren der Pakete. Um eigene Snaps zu erstellen, dient das Programm „snapcraft“. Entwickler müssen eine Datei namens „snapcraft.yaml“ anlegen und Informationen angeben, wie das Paket gebaut und installiert werden soll. Dazu gehören unter anderem Metadaten, Build- und Laufzeit-Abhängigkeiten, Build-Optionen sowie benötigte Interfaces.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.