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.