GNU/Linux >> LINUX-Kenntnisse >  >> Fedora

So installieren und verwenden Sie Snaps auf Fedora

Der Snappy-Paketmanager wurde von Canonical, dem Unternehmen hinter Ubuntu, entwickelt und sollte ursprünglich auf letzterem verwendet werden. Er ist eine kostenlose Open-Source-Software zum Installieren und Verwalten von Snap-Paketen. Der Zweck von Snap-Paketen ist, genau wie Flatpaks, die Verteilung von Sandbox- und eigenständigen Anwendungen (Anwendungen werden zusammen mit ihren Abhängigkeiten gepackt).

Der Snappy-Paketmanager und seine Infrastruktur landeten auf anderen Distributionen als Ubuntu. In diesem Tutorial sehen wir, wie man es installiert und auf der neuesten Version von Fedora verwendet.

In diesem Tutorial lernen Sie:

  • So installieren Sie den Snap-Paketmanager
  • So suchen Sie im Snap Store nach Paketen
  • So installieren und aktualisieren Sie Snap-Pakete
  • So listen Sie installierte Snap-Pakete auf
  • So erstellen und verwalten Sie Snapshots eines Pakets
  • So entfernen Sie Snap-Pakete

Softwareanforderungen und verwendete Konventionen

Softwareanforderungen und Linux-Befehlszeilenkonventionen
Kategorie Anforderungen, Konventionen oder verwendete Softwareversion
System Vertriebsunabhängig
Software snapd
Andere Root-Rechte zum Verwalten von Software
Konventionen # – erfordert, dass bestimmte Linux-Befehle mit Root-Rechten ausgeführt werden, entweder direkt als Root-Benutzer oder durch Verwendung von sudo Befehl
$ – erfordert, dass gegebene Linux-Befehle als normaler nicht-privilegierter Benutzer ausgeführt werden

Installation

Um den Snappy-Paketmanager auf Fedora zu verwenden, müssen wir zunächst das Paket mit der Software installieren. Zum Glück für uns ist es sehr einfach, da es in den offiziellen Repositories von Fedora verfügbar ist. Wir können die Installation grafisch oder mit dem dnf durchführen Paketmanager von unserem geliebten Terminal-Emulator. Hier ist der Befehl, den wir ausführen möchten:

$ sudo dnf install snapd

Das snap-confine und snapd-selinux -Paket werden als Abhängigkeiten von snapd installiert:Ersteres enthält die Software, die zum Anwenden von Beschränkungen auf Snap-Anwendungen verwendet wird, während Letzteres die Richtlinie bereitstellt, die es Snapd ermöglicht, ordnungsgemäß unter SELinux ausgeführt zu werden. Im Rahmen der Installation wird die snapd.socket wird durch die Verwendung von systemd aktiviert.

Nach Paketen suchen

Die Art und Weise, wie wir mit Snap-Paketen interagieren, ist die Verwendung von snap Anwendung. Eine der grundlegendsten Aktionen, die wir ausführen müssen, besteht darin, herauszufinden, ob eine bestimmte Software im Snap Store verfügbar ist. Um diese Aktion auszuführen, können wir den Snap-Befehl „find“ oder „search“ verwenden (letzteres ist ein Alias ​​für ersteres). Angenommen, wir möchten das Snap-Paket „gimp“ installieren. Um zu sehen, ob die Anwendung verfügbar ist, können wir Folgendes ausführen:

$ snap find gimp

Wie Sie sehen können, erfordert der Befehl keine Administratorrechte. Es gibt die folgende Ausgabe zurück:

Name                    Version  Publisher        Notes  Summary                                    
gimp                    2.10.28  snapcrafters     -      GNU Image Manipulation Program             
gutenprint-printer-app  1.0      openprinting✓    -      Gutenprint Printer Application             
photogimp               2.10.20  pedro.ermarinho  -      Patch para o GIMP                          
djpdf                   0.1.6    unrud            -      Create small, searchable PDFs from scanned documents                                                                                           
lazpaint                7.1.6    chronoscz        -      Image editor with raster and vector layers.

Informationen zu den verfügbaren Paketen, die unseren Suchkriterien entsprechen, werden zurückgegeben:

  • Der Name des Pakets
  • Die Version des Snap-Pakets
  • Der Snap-Publisher
  • Eventuelle Anmerkungen zum Paket
  • Eine kurze Paketbeschreibung

Snap-Pakete installieren

Um ein Snap-Paket zu installieren, müssen wir lediglich den Snap-Befehl „install“ verwenden. Nehmen wir als Beispiel an, wir möchten gimp installieren Anwendung, nach der wir im vorherigen Schritt gesucht haben. Hier ist der Befehl, den wir ausführen würden:

$ sudo snap install gimp

Standardmäßig, sofern nicht anders angegeben, werden Pakete aus dem „stable“-Kanal installiert. Sobald wir den obigen Befehl ausgeführt haben, können wir den Installationsfortschritt verfolgen, indem wir die Terminalausgabe lesen:

2022-03-29T14:25:15+02:00 INFO Waiting for automatic snapd restart...
gimp 2.10.28 from Snapcrafters installed

Neuere Versionen von Snaps unterstützen den „Classic Confinement“-Modus. Wenn ein Snap-Paket in diesem Modus installiert wird, ist es tatsächlich nicht beschränkt, sodass es auf Ressourcen auf dem Hostsystem zugreifen kann. Wenn wir ein Paket in diesem Modus installieren möchten, müssen wir den Befehl „install“ mit dem --classic ausführen Option.

Dateien in Bezug auf Snap-Pakete und ihre Abhängigkeiten werden auf dem System mithilfe des schreibgeschützten SquashFS in Form von Loop-Geräten bereitgestellt, die in den entsprechenden Verzeichnissen unter /var/lib/snapd gemountet werden . Wir können dies deutlich sehen, wenn wir uns die Ausgabe von lsblk ansehen Befehl:

$ lsblk
NAME                   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
loop0                    7:0    0  43.6M  1 loop /var/lib/snapd/snap/snapd/15177
loop1                    7:1    0  55.5M  1 loop /var/lib/snapd/snap/core18/2344
loop2                    7:2    0     4K  1 loop /var/lib/snapd/snap/bare/5
loop3                    7:3    0  65.2M  1 loop /var/lib/snapd/snap/gtk-common-themes/1519
loop4                    7:4    0 164.8M  1 loop /var/lib/snapd/snap/gnome-3-28-1804/161
loop5                    7:5    0 391.3M  1 loop /var/lib/snapd/snap/gimp/383

Für jedes installierte Snap-Paket ist ein Loop-Block-Gerät vorhanden. Im Falle des Snaps „gimp“, wenn wir den Inhalt von /var/lib/snapd/snap/gimp/383 überprüfen mountpoint (383 ist die Revision des Snap-Pakets – mehrere Revisionen können gleichzeitig installiert werden), können wir einen ganzen Dateisystembaum sehen, der die Anwendungsdateien hostet:

$ ls /var/lib/snapd/snap/gimp/383
bin data-dir etc lib meta sbin snap usr var

Um die Anwendung so starten zu können, wie wir es nach einer systemeigenen Paketinstallation tun würden, muss die Datei /var/lib/snapd/snap/bin Verzeichnis muss an unseren PATH angehängt werden . Dies sollte automatisch als Teil der snapd-Installation erfolgen. Wir können es überprüfen, indem wir den Wert der Variablen überprüfen:

$ echo $PATH
/home/egdoc/.local/bin:/home/egdoc/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/var/lib/snapd/snap/bin

Paket aktualisieren

Mehrere Revisionen eines Snap-Pakets können gleichzeitig vorhanden sein. Wir haben kurz gesehen, dass die derzeit installierte Revision des Gimp-Snap-Pakets 383 ist. Die derzeit aktive Version ist symbolisch mit /var/lib/snapd/snap/<package>/current verknüpft . Im Falle von Gimp:

$ ls -l /var/lib/snapd/snap/gimp
drwxr-xr-x. 11 root root 146 Nov 8 17:14 383
lrwxrwxrwx. 1 root root 3 Mar 29 14:27 current -> 383

Um zu prüfen, ob eine neue Revision eines Snap-Pakets verfügbar ist, und es zu aktualisieren, können wir refresh verwenden Befehl. Wenn wir in diesem Fall versuchen, das gimp-Paket zu aktualisieren, werden wir benachrichtigt, dass keine Updates verfügbar sind:

$ sudo snap refresh gimp
snap "gimp" has no updates available

Wenn wir den refresh verwenden Befehl, ohne einen Paketnamen als Argument anzugeben, sucht die Anwendung nach Updates für alle auf dem System installierten Snap-Pakete.

Installierte Snap-Pakete auflisten

Um einen Bericht über die aktuell installierten Snap-Pakete zu erhalten, müssen wir lediglich den Befehl „list“ des Snap-Dienstprogramms verwenden. Sehen wir uns ein Beispiel für den Befehl in Aktion an:

$ snap list
Name               Version                     Rev    Tracking       Publisher     Notes
bare               1.0                         5      latest/stable  canonical✓    base
core18             20220309                    2344   latest/stable  canonical✓    base
gimp               2.10.28                     383    latest/stable  snapcrafters  -
gnome-3-28-1804    3.28.0-19-g98f9e67.98f9e67  161    latest/stable  canonical✓    -
gtk-common-themes  0.1-59-g7bca6ae             1519   latest/stable  canonical✓    -
snapd              2.54.4                      15177  latest/stable  canonical✓    snapd

Wir haben „gimp“ explizit installiert, also wurden alle anderen Pakete als Abhängigkeiten oder als „Kern“ der Snap-Infrastruktur installiert. Ein Häkchen hinter dem Namen des Paketherausgebers bedeutet, dass es bestätigt wurde.

Paket-Snapshots erstellen und verwalten

Ein nettes Feature des Snap-Paket-Ökosystems ist die Möglichkeit, Snapshots von System-, Benutzer- und Konfigurationsdaten zu erstellen, die einem Paket zugeordnet sind. Snapshots werden automatisch erstellt, wenn ein Snap-Paket entfernt wird, können aber auch manuell mit save erstellt werden Befehl. Um beispielsweise einen Snapshot des „gimp“-Pakets zu erstellen, würden wir Folgendes ausführen:

$ sudo snap save gimp

Wenn wir keinen Paketnamen als Argument für den Speicherbefehl angeben, werden Snapshots für alle vorhandenen Pakete erstellt. Um eine Liste der vorhandenen Snapshots auf dem System zu erhalten, können wir den saved verwenden Befehl:

$ sudo snap saved
Set  Snap             Age    Version                     Rev  Size    Notes
1    gimp             20.0m  2.10.28                     383   134kB  auto
3    gnome-3-28-1804  10.4m  3.28.0-19-g98f9e67.98f9e67  161    124B  -

In der Ausgabe des Befehls sehen wir sehr nützliche Informationen wie die Snapshot id , und sein Alter . Um einen Snapshot wiederherzustellen, verwenden wir den restore Befehl, und wir verweisen auf den Snapshot, den wir wiederherstellen möchten, anhand seiner ID. Um den Gimp-Snapshot wiederherzustellen, den wir in der Ausgabe des vorherigen Beispiels sehen, würden wir Folgendes ausführen:

$ sudo snap restore 1
Restored snapshot #1.

Um schließlich einen vorhandenen Snapshot manuell zu entfernen, verwenden wir den forget Befehl. Folgendes würden wir ausführen, um den Gimp-Snapshot zu entfernen:

$ sudo snap forget 1
Snapshot #1 forgotten.

Snap-Pakete entfernen

Um ein zuvor installiertes Snap-Paket zu entfernen, müssen wir intuitiv den remove verwenden Befehl. Standardmäßig wird ein Paket mit allen installierten Revisionen entfernt. Wenn wir eine bestimmte Revision eines Pakets entfernen wollen, müssen wir sie als Argument an --revision übergeben Möglichkeit. Wenn Sie eine Revision angeben, die entfernt werden soll, darf sie nicht die „aktive“ sein. Wenn Sie also versuchen, die Option zu verwenden, wenn es sich nur um eine Version eines Snap-Pakets handelt, schlägt der Befehl fehl. Angenommen, wir möchten beispielsweise das in diesem Tutorial installierte „gimp“-Paket entfernen, würden wir Folgendes ausführen:

$ sudo snap remove gimp

Oder, falls mehr als eine Revision vorhanden ist:

$ sudo snap remove gimp --revision 383

Snapshots des Snap-Pakets werden nicht entfernt, wenn wir das Paket entfernen (ein Snapshot wird tatsächlich erstellt, wenn das Paket entfernt wird). Um ihre Entfernung zu erzwingen, können wir --purge übergeben Option zum remove Befehl. Um beispielsweise „gimp“ mit allen zugehörigen Snapshots zu entfernen, würden wir Folgendes ausführen:

$ sudo snap remove --purge gimp

Schlussfolgerung

In diesem Tutorial haben wir gelernt, wie man Snap-Pakete auf Fedora verwendet. Das Ökosystem der Snap-Pakete wurde ursprünglich von Canonical für Ubuntu entwickelt, wurde dann aber auch für andere Distributionen verfügbar. Wir haben gelernt, wie man Snap-Pakete auf Fedora sucht, installiert, aktualisiert und deinstalliert und wie man Snap-Paket-Snapshots verwaltet. Obwohl Snap-Pakete auf Fedora funktionieren, ist die Standardtechnologie für eigenständige Anwendungen, die in der Distribution verwendet wird, Flatpak:Wenn Sie mehr darüber wissen und lernen möchten, wie man es benutzt, können Sie sich unser Tutorial zu diesem Thema ansehen.


Fedora
  1. So installieren und verwenden Sie den Snap-Paket-Manager unter Alma Linux 8

  2. So installieren und verwenden Sie Imapsync unter CentOS und Fedora

  3. So installieren und konfigurieren Sie Redis 6 auf Fedora 34

  4. So installieren und konfigurieren Sie Mariadb in Fedora 35

  5. So installieren und verwenden Sie Podman in Fedora 34/35

So installieren Sie Snap &Snap-Store (Snapcraft) auf Fedora 35

So installieren und verwenden Sie Telnet auf Fedora 35

So installieren Sie Snap auf Fedora 35

So installieren Sie Go auf Fedora 35

So installieren und verwenden Sie Snapcraft unter Linux

So installieren und verwenden Sie Snapd unter Debian 11