Website-Suche

Ein Anfängerleitfaden für Snaps unter Linux – Teil 1


In den letzten Jahren wurde die Linux-Community mit einigen bemerkenswerten Fortschritten im Bereich der Paketverwaltung auf Linux-Systemen gesegnet, insbesondere wenn es um die universelle oder verteilungsübergreifende Softwarepaketierung und -verteilung geht. Eine dieser Weiterentwicklungen ist das Snap-Paketformat, das von Canonical, den Herstellern 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 verpackt sind und auf allen wichtigen Linux-Distributionen ausgeführt werden können. Von einem einzigen Build aus läuft ein Snap (eine Anwendung) auf allen unterstützten Linux-Distributionen auf dem Desktop, in der Cloud und im IoT. Zu den unterstützten Distributionen gehören Ubuntu, Debian, Fedora, Arch Linux, Manjaro und CentOS/RHEL.

Snaps sind sicher – sie sind begrenzt und in einer Sandbox gespeichert, sodass sie nicht das gesamte System gefährden. Sie laufen unter unterschiedlichen Eingrenzungsstufen (d. h. dem Grad der Isolation vom Basissystem und untereinander). Noch wichtiger ist, dass jeder Snap über eine Schnittstelle verfügt, die vom Ersteller des Snaps sorgfältig auf der Grundlage der Snap-Anforderungen ausgewählt wurde, um Zugriff auf bestimmte Systemressourcen außerhalb ihrer Grenzen zu ermöglichen, z. B. Netzwerkzugriff, Desktop-Zugriff und mehr.

Ein weiteres wichtiges Konzept im snap-Ökosystem sind Kanäle. Ein Kanal bestimmt, welche Version eines Snaps installiert und auf Updates überwacht wird. Er besteht aus Tracks, Risikostufen und Zweigen und ist durch diese unterteilt.

Die Hauptkomponenten des Snap-Paketverwaltungssystems sind:

  • snapd – der Hintergrunddienst, der Ihre Snaps auf einem Linux-System verwaltet und pflegt.
  • Snap – sowohl das Anwendungspaketformat als auch das Befehlszeilenschnittstellentool, das zum Installieren und Entfernen von Snaps und für viele andere Dinge im Snap-Ökosystem verwendet wird.
  • snapcraft – das Framework und leistungsstarke Befehlszeilentool zum Erstellen von Snaps.
  • Snap Store – ein Ort, an dem Entwickler ihre Snaps teilen 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 täglich nach Updates: Jede Update-Prüfung wird als Refresh bezeichnet. Sie können eine Aktualisierung auch manuell starten.

So installieren Sie Snapd unter Linux

Wie oben beschrieben, ist der snapd-Daemon der Hintergrunddienst, der Ihre snap-Umgebung auf einem Linux-System verwaltet und pflegt, indem er die Beschränkungsrichtlinien implementiert und die Schnittstellen steuert, die Snaps zulassen Zugriff auf bestimmte Systemressourcen. Es stellt auch den Befehl snap 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.

------------ [On Debian and Ubuntu] ------------ 
sudo apt update 
sudo apt install snapd

------------ [On Fedora Linux] ------------
dnf install snapd			

------------ [On CentOS and RHEL] ------------
yum install epel-release 
yum install snapd		

------------ [On openSUSE - replace openSUSE_Leap_15.0 with the version] ------------
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

------------ [On Manjaro Linux] ------------
pacman -S snapd

------------ [On Arch Linux] ------------
git clone https://aur.archlinux.org/snapd.git
cd snapd
makepkg -si

Aktivieren Sie nach der Installation von snapd auf Ihrem System die systemd-Einheit, die den Haupt-snap-Kommunikationssocket verwaltet, indem Sie die systemctl-Befehle wie folgt verwenden.

Auf Ubuntu und seinen Derivaten sollte dies automatisch vom Paketinstallationsprogramm ausgelöst werden.

sudo systemctl enable --now snapd.socket

Beachten Sie, dass Sie den Befehl snap nicht ausführen können, wenn snapd.socket nicht ausgeführt wird. Führen Sie die folgenden Befehle aus, um zu überprüfen, ob es aktiv ist und für den automatischen Start beim Systemstart aktiviert ist.

sudo systemctl is-active snapd.socket
sudo systemctl status snapd.socket
sudo systemctl is-enabled snapd.socket

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

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

Führen Sie den folgenden Befehl aus, um die Version von snapd und dem auf Ihrem System installierten Snap-Befehlszeilentool zu überprüfen.

snap version 

So installieren Sie Snaps unter Linux

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

Bevor Sie einen Snap installieren, können Sie prüfen, ob dieser im Snap Store vorhanden ist. Wenn die Anwendung beispielsweise in die Kategorie „Chat-Server“ oder „Medienplayer“ gehört, können Sie diese Befehle ausführen, um danach zu suchen, wodurch der Store abgefragt wird für verfügbare Pakete im stabilen Kanal.

snap find "chat servers"
snap find "media players"

Um detaillierte Informationen zu einem Snap anzuzeigen, z. B. Rocketchat-Server, können Sie dessen Namen oder Pfad angeben. Beachten Sie, dass nach Namen sowohl im Snap Store als auch in den installierten Snaps gesucht wird.

snap info rocketchat-server

Um einen Snap auf Ihrem System zu installieren, zum Beispiel rocketchat-server, führen Sie den folgenden Befehl aus. Wenn keine Optionen bereitgestellt werden, wird ein Snap installiert, der den „stable-Kanal verfolgt, mit strengen Sicherheitsbeschränkungen.

sudo snap install rocketchat-server

Sie können sich aus dem einen oder anderen Grund für die Installation von einem anderen Kanal entscheiden: edge, beta oder candidate, indem Sie den verwenden --edge-, --beta- bzw. --candidate-Optionen. Oder verwenden Sie die Option --channel und geben Sie den Kanal an, von dem aus Sie installieren möchten.

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

Verwalten Sie Snaps unter Linux

In diesem Abschnitt erfahren Sie, wie Sie Snaps im Linux-System verwalten.

Installierte Snaps anzeigen

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

snap list

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

snap list mailspring
OR
snap list --all mailspring

Snaps aktualisieren und zurücksetzen

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

sudo snap refresh mailspring
OR
sudo snap refresh		#update all snaps on the local system

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

sudo snap revert mailspring

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

snap list --all mailspring

Deaktivieren/Aktivieren und Entfernen von Snaps

Sie können einen Snap deaktivieren, wenn Sie ihn nicht verwenden möchten. Bei Deaktivierung sind die Binärdateien und Dienste eines Snaps nicht mehr verfügbar, alle Daten sind jedoch weiterhin vorhanden.

sudo snap disable mailspring

Wenn Sie den Snap erneut verwenden müssen, können Sie ihn wieder aktivieren.

sudo snap enable mailspring

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

sudo snap remove mailspring

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

sudo snap remove  --revision=482 mailspring

Es ist wichtig zu beachten, dass beim Entfernen eines Snaps dessen Daten (z. B. interne Benutzer-, System- und Konfigurationsdaten) von snapd (Version 2.39 und höher) gespeichert werden. als Snapshot gespeichert und 31 Tage lang im System gespeichert. Wenn Sie den Snap innerhalb der 31 Tage erneut installieren, können Sie die Daten wiederherstellen.

Abschluss

Snaps werden in der Linux-Community 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 behandelt, wie man snapd installiert, snaps installiert, installierte Snaps anzeigt, Snaps aktualisiert und zurücksetzt sowie Snaps deaktiviert/aktiviert und entfernt.

Sie können Fragen stellen oder uns über das unten stehende Feedback-Formular kontaktieren. Im nächsten Teil dieses Handbuchs befassen wir uns mit der Verwaltung von Snapshots (Befehlen, Aliasen, Diensten und Snapshots) unter Linux.