In den letzten Jahren wurde die Linux-Gemeinschaft mit einigen bemerkenswerten Fortschritten im Bereich der Paketverwaltung auf Linux-Systemen gesegnet, insbesondere wenn es um universelle oder verteilungsübergreifende Software-Paketierung und -Verteilung geht. Einer dieser Fortschritte ist das Snap-Paketformat, das von Canonical, dem Hersteller des beliebten Ubuntu-Linux, entwickelt wurde.

Was sind Snap-Pakete?

Snaps sind verteilungsübergreifende, abhängigkeitsfreie und einfach zu installierende Anwendungen, die mit all ihren Abhängigkeiten gepackt werden und auf allen wichtigen Linux-Distributionen laufen. Mit einem einzigen Build kann ein Snap (Anwendung) auf allen unterstützten Linux-Distributionen auf dem Desktop, in der Cloud und im IoT ausgeführt werden. Zu den unterstützten Distributionen gehören Ubuntu, Debian, Fedora, Arch Linux, Manjaro und CentOS/RHEL.

Snaps sind sicher – sie sind eingegrenzt und in einer Sandbox untergebracht, damit sie nicht das gesamte System gefährden. Sie laufen unter verschiedenen Confinement-Levels (das ist der Grad der Isolation vom Basissystem und voneinander). Vor allem hat jeder Snap eine Schnittstelle, die vom Ersteller des Snap sorgfältig ausgewählt wurde, basierend auf den Anforderungen des Snap, um den Zugriff auf bestimmte Systemressourcen außerhalb ihrer Begrenzung zu ermöglichen, wie z. B. Netzwerkzugriff, Desktop-Zugriff und mehr.

Ein weiteres wichtiges Konzept im Snap-Ökosystem sind Channels. Ein Channel bestimmt, welche Version eines Snap installiert und für Updates verfolgt wird, und er besteht aus und ist unterteilt in Tracks, Risikostufen und Zweige.

Die Hauptkomponenten des Snap-Paketmanagementsystems sind:

  • snapd – der Hintergrunddienst, der Ihre Snaps auf einem Linux-System verwaltet und pflegt.
  • snap – sowohl das Anwendungspaketformat als auch das Befehlszeilenschnittstellen-Tool, das zum Installieren und Entfernen von Snaps und für viele andere Dinge im Snap-Ökosystem verwendet wird.
  • snapcraft – das Framework und das leistungsstarke Befehlszeilen-Tool zum Erstellen von Snaps.
  • snap store – ein Ort, an dem Entwickler ihre Snaps freigeben und Linux-Benutzer sie suchen und installieren können.

Außerdem werden Snaps auch automatisch aktualisiert. Sie können konfigurieren, wann und wie Aktualisierungen erfolgen. Standardmäßig sucht der snapd-Daemon bis zu viermal am Tag nach Aktualisierungen: jede Aktualisierungsprüfung wird als Refresh bezeichnet. Sie können eine Aktualisierung auch manuell anstoßen.

Snapd unter Linux installieren

Wie oben beschrieben, ist der snapd-Daemon der Hintergrunddienst, der Ihre Snap-Umgebung auf einem Linux-System verwaltet und pflegt, indem er die Confinement-Richtlinien implementiert und die Schnittstellen steuert, über die Snaps auf bestimmte Systemressourcen zugreifen können. Er stellt auch den snap-Befehl bereit und dient vielen anderen Zwecken.

Um das snapd-Paket auf Ihrem System zu installieren, führen Sie den entsprechenden Befehl für Ihre Linux-Distribution aus.

------------ ------------ $ sudo apt update $ sudo apt install snapd------------ ------------# dnf install snapd------------ ------------# yum install epel-release # yum install snapd------------ ------------$ sudo zypper addrepo --refresh https://download.opensuse.org/repositories/system:/snappy/openSUSE_Leap_15.0 snappy$ sudo zypper --gpg-auto-import-keys refresh$ sudo zypper dup --from snappy$ sudo zypper install snapd------------ ------------# pacman -S snapd------------ ------------# git clone https://aur.archlinux.org/snapd.git# cd snapd# makepkg -si

Nach der Installation von snapd auf Ihrem System aktivieren Sie die systemd-Einheit, die den Haupt-Socket für die Snap-Kommunikation verwaltet, mit den systemctl-Befehlen wie folgt.

Bei Ubuntu und seinen Derivaten sollte dies automatisch durch den Paketinstaller ausgelöst werden.

$ sudo systemctl enable --now snapd.socket

Beachten Sie, dass Sie den snap-Befehl nicht ausführen können, wenn snapd.socket nicht läuft. Führen Sie die folgenden Befehle aus, um zu überprüfen, ob er aktiv ist und beim Systemstart automatisch gestartet wird.

$ sudo systemctl is-active snapd.socket$ sudo systemctl status snapd.socket$ sudo systemctl is-enabled snapd.socket
Check Snapd Service Status

Als Nächstes aktivieren Sie die klassische Snap-Unterstützung, indem Sie einen symbolischen Link zwischen /var/lib/snapd/snap und /snap wie folgt erstellen.

$ sudo ln -s /var/lib/snapd/snap /snap

Um die Version von snapd und dem Snap-Befehlszeilentool zu überprüfen, die auf Ihrem System installiert sind, führen Sie den folgenden Befehl aus.

$ snap version 
Snapd- und Snap-Version prüfen

Snaps unter Linux installieren

Mit dem snap-Befehl können Sie Snaps installieren, konfigurieren, aktualisieren und entfernen und mit dem größeren snap-Ökosystem interagieren.

Bevor Sie einen Snap installieren, können Sie prüfen, ob er im snap-Store vorhanden ist. Wenn die Anwendung beispielsweise in die Kategorie „Chatserver“ oder „Mediaplayer“ gehört, können Sie diese Befehle ausführen, um danach zu suchen, wodurch der Store nach verfügbaren Paketen im Stable-Channel abgefragt wird.

$ snap find "chat servers"$ snap find "media players"
Anwendungen im Snap Store suchen

Um detaillierte Informationen über einen Snap anzuzeigen, z. B. rocketchat-server, können Sie seinen Namen oder Pfad angeben. Beachten Sie, dass Namen sowohl im Snap Store als auch in den installierten Snaps gesucht werden.

$ snap info rocketchat-server
Informationen über Anwendung in Snap abrufen

Um einen Snap auf Ihrem System zu installieren, z. B. rocketchat-server, führen Sie den folgenden Befehl aus. Wenn keine Optionen angegeben werden, wird ein Snap installiert, der den „Stable“-Channel mit strenger Sicherheitseinschränkung verfolgt.

$ sudo snap install rocketchat-server
Anwendung aus dem Snap Store installieren

Sie können sich dafür entscheiden, aus einem anderen Channel zu installieren: Edge, Beta oder Candidate, und zwar aus dem einen oder anderen Grund, indem Sie die Optionen --edge, --beta bzw. --candidate verwenden. Oder verwenden Sie die Option --channel und geben Sie den Channel an, von dem Sie installieren möchten.

$ sudo snap install --edge rocketchat-server $ sudo snap install --beta rocketchat-server$ sudo snap install --candidate rocketchat-server

Snaps in Linux verwalten

In diesem Abschnitt lernen wir, wie man Snaps in einem Linux-System verwaltet.

Installierte Snaps anzeigen

Um eine Zusammenfassung der auf Ihrem System installierten Snaps anzuzeigen, verwenden Sie den folgenden Befehl.

$ snap list
Installierte Snaps auflisten

Um die aktuelle Revision eines verwendeten Snaps aufzulisten, geben Sie seinen Namen an. Sie können auch alle verfügbaren Revisionen auflisten, indem Sie die Option --all hinzufügen.

$ snap list mailspringOR$ snap list --all mailspring
Alle Installationsversionen von Snap auflisten

Snaps aktualisieren und rückgängig machen

Sie können einen bestimmten Snap oder alle Snaps im System aktualisieren, wenn keine angegeben sind, wie folgt. Der Befehl refresh prüft den vom Snap verfolgten Channel und lädt eine neuere Version des Snap herunter und installiert sie, wenn sie verfügbar ist.

$ sudo snap refresh mailspringOR$ sudo snap refresh#update all snaps on the local system
Refresh a Snap

Nach dem Aktualisieren einer App auf eine neue Version können Sie mit dem Befehl revert zu einer zuvor verwendeten Version zurückkehren. Beachten Sie, dass die mit der Software verknüpften Daten ebenfalls zurückgesetzt werden.

$ sudo snap revert mailspring
Revert a Snap to Older Version

Wenn Sie nun alle Revisionen von mailspring überprüfen, ist die neueste Revision deaktiviert, eine zuvor verwendete Revision ist nun aktiv.

$ snap list --all mailspring
Revision eines Snap prüfen

Snaps deaktivieren/aktivieren und entfernen

Sie können einen Snap deaktivieren, wenn Sie ihn nicht verwenden möchten. Wenn Sie einen Snap deaktivieren, sind die Binärdateien und Dienste nicht mehr verfügbar, aber alle Daten sind noch vorhanden.

$ sudo snap disable mailspring

Wenn Sie den Snap wieder verwenden möchten, können Sie ihn wieder aktivieren.

$ sudo snap enable mailspring

Um einen Snap vollständig aus Ihrem System zu entfernen, verwenden Sie den Befehl remove. Standardmäßig werden alle Revisionen eines Snap entfernt.

$ sudo snap remove mailspring

Um eine bestimmte Revision zu entfernen, verwenden Sie die Option --revision wie folgt.

$ sudo snap remove --revision=482 mailspring

Wenn Sie einen Snap entfernen, ist es wichtig zu wissen, dass seine Daten (z. B. interne Benutzer-, System- und Konfigurationsdaten) von snapd (Version 2.39 und höher) als Snapshot gespeichert werden und 31 Tage lang auf dem System verbleiben. Falls Sie den Snap innerhalb dieser 31 Tage neu installieren, können Sie die Daten wiederherstellen.

Fazit

Snaps werden in der Linux-Gemeinschaft immer beliebter, da sie eine einfache Möglichkeit bieten, Software auf jeder Linux-Distribution zu installieren. In dieser Anleitung haben wir gezeigt, wie man Snaps unter Linux installiert und damit arbeitet. Wir haben uns mit der Installation von snapd, der Installation von Snaps, der Anzeige von installierten Snaps, der Aktualisierung und Rückgängigmachung von Snaps sowie der Deaktivierung/Aktivierung und Entfernung von Snaps befasst.

Sie können uns Fragen stellen oder uns über das Feedback-Formular unten erreichen. Im nächsten Teil dieser Anleitung werden wir die Verwaltung von Snaps (Befehle, Aliase, Dienste und Snapshots) unter Linux behandeln.

admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

lg