GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Eine Einführung für Anfänger in das universelle Linux-Paketformat

Einführung

Was sind Snaps und warum sollten Sie sie verwenden? Das Linux-Ökosystem leidet seit den Anfängen des Konzepts der „Verteilung“ unter einem alten Problem, und dieses Problem
ist die Fragmentierung. Eines der größten Probleme, die diese Fragmentierung verursachen, sind unterschiedliche Paketformate; Ich kann meine .debs nicht auf meinem Fedora-System oder meine .rpms auf meinem
Ubuntu-Rechner ausführen. Ja, wir haben Alien, das den Übergang zwischen den beiden Formaten ermöglichen sollte, aber es gibt zwei Probleme mit diesem Ansatz:Es gibt andere Paketformate
neben rpm und deb und außerdem funktioniert Alien nicht immer wie erwartet . Das Problem ist also immer noch da, oder ich sollte sagen, es war da. Geben Sie Snap ein, das universelle Linux
Paketformat, das darauf abzielt, Benutzern und Entwicklern ein einziges Paketformat und Einfachheit bei der Erstellung neuer Pakete mit den erforderlichen Anwendungen und Bibliotheken
zu bieten, um sicherzustellen, dass diese Pakete sind leicht zwischen Distributionen teilbar. Dell, Samsung und die Linux Foundation werden als Mitwirkende zitiert, während unter
unterstützten Distributionen Fedora, Ubuntu, Arch oder OpenSUSE sind.

Dieser Artikel beschreibt die Verwendung von Snaps als einfacher Benutzer sowie Anweisungen für Entwickler/Packager
zum Erstellen von Snaps für andere zur Verwendung. Das Betriebssystem, das wir verwenden werden, ist Ubuntu 16.04, aber die folgenden Anweisungen sollten nicht schwer an andere Distributionen anzupassen sein.

Schnappt als einfacher Benutzer

Dieser Teil gibt Ihnen einen Rundgang durch snap aus der Benutzerperspektive:wie man die notwendigen Tools installiert und wie man sie für die grundlegende, tägliche
Nutzung verwendet. Zuerst müssen Sie snapcraft installieren, ein Paket, das snap bereitstellt, das Go-to-Tool für die oben genannten täglichen Vorgänge :

 $ sudo apt install snapcraft

Das ist alles. Lassen Sie uns nun, bevor wir weitermachen, über einige Details sprechen:Erstens sind Anwendungen, die als Snaps angeboten werden, isolierte Container, was in Bezug auf den Ressourcenverbrauch
sowie auf Sicherheitsaspekte sehr hilfreich ist. Alles, was Snap installiert hat, finden Sie unter /snap/ , die wiederum ihre eigene Hierarchie hat:/snap/bin , /snap/lib und so weiter. Zweitens erhalten Sie
Updates automatisch. Drittens, stellen Sie sich Snaps als Ergänzung zu bestehenden Linux-Paketen vor, nicht als Ersatz (jedenfalls nicht jetzt).

Und schließlich lassen sich snaps leicht
in installierte Software integrieren, wobei vorhandene Bibliotheken über Schnittstellen genutzt werden.
Wie wir bereits in der Vergangenheit gesagt haben, gibt es keinen Ersatz für das Handbuch. Während wir Ihnen also eine Tour geben, müssen Sie selbst etwas lesen, wenn Sie tiefer eintauchen möchten.
Fangen wir also mit einfachen Snap-Operationen an:Wenn Sie nach einem Paket suchen möchten, tun Sie dies

 $ snap find hello

Hier ist „hello“ die Beispielzeichenfolge, nach der wir suchen. Gehen wir weiter mit der gleichen Zeichenfolge, lassen Sie uns etwas installieren:

 $ sudo snap install hello

Sie können die installierten Snaps mit „Liste“ anzeigen:

 $ snap list

Aktualisieren Sie mit Refresh, entweder alles, was Sie installiert haben, oder nur bestimmte Snapshots :

 $ sudo snap refresh
OR
 $ sudo snap refresh hello

Was etwas neu ist (ja, Sie können zum Beispiel mit yum zurückkehren, und nicht nur, aber das funktioniert nicht immer wie gewünscht) ist der Befehl „revert“ :

$ sudo snap revert hello

Snap als Entwickler verwenden

Einrichtung

Lassen Sie uns zunächst sehen, was Sie brauchen, um loszulegen, um Snaps zu erstellen. Das Tool der Branche heißt
snapd und ist unter Ubuntu und Debian so einfach wie

$ sudo apt install snapd snapcraft

während auf Fedora können Sie tun

 $ sudo dnf copr enable zyga/snapcore
 $ sudo dnf install snapd
 $ sudo systemctl enable --now snapd.service
 $ sudo setenforce 0
 $ sudo $editor /etc/selinux/config #set SELINUX=permissive and reboot to make SELINUX settings permanent

und das ist es. Es gibt jedoch einen Haken. Während diese Tools mit den meisten großen Linux-Distributionen funktionieren, ist Snapcraft, das Tool, das wir
installieren und verwenden werden, damit wir lernen, wie man Snaps erstellt, unseres Wissens in den Ubuntu-Repositories und AUR verfügbar. Der Rest der
Linux-Benutzer muss nur das Git-Repository (https://github.com/snapcore/snapcraft) klonen und erstellen.

Die Tour machen und einen Schnappschuss erstellen

Bevor wir fortfahren, beachten Sie bitte, dass Ihre Snaps (oder vorhandene) viel
größer sein werden und sind als die entsprechenden Repository-Pakete. Wieso den? Da sie auch alle Abhängigkeiten enthalten, die für das Funktionieren der Programme erforderlich sind,
sind sie in gewisser Weise selbsterhaltend. Sobald Sie snapcraft installiert haben, sollten Sie an der Tour teilnehmen :

 $ snapcraft tour

Dieser Befehl initialisiert einige Verzeichnisse und Unterverzeichnisse (standardmäßig unter ./snapcraft-tour ) und Sie erhalten Quellcode
Beispiele, Anleitungen und nummerierte Schritte, die Sie durch die Grundlagen führen. Der erste Schritt ist zum Beispiel, wie sonst?,
hello world. Geben Sie

ein
 $ cd snapcraft-tour/00-SNAPCRAFT/01-easy-start

und Sie werden dort nur die .yaml-Datei sehen, die im Grunde die Datei ist, die den Snap beschreibt. Schauen Sie es sich an, Sie werden sehen,
dass es den Namen definiert, was abgerufen werden soll, woher, welche Anwendung resultieren wird und so weiter. Danach einfach ausführen

 $ snapcraft

innerhalb des obigen Verzeichnisses und es wird alles Notwendige tun und Ihnen einen Schnappschuss geben. Besagter Snap lässt sich, sofern Sie sich
noch im oben genannten Verzeichnis befinden, mit

installieren
 $ sudo snap install ./hello*.snap

Nehmen Sie sich etwas Zeit, um mit der .yaml-Datei zu spielen – das Erstellen einer Kopie dafür ist immer eine gute Idee – sehen Sie, was passiert, wenn Sie dort einige
Variablen ändern, und entdecken Sie, wie Ihre Änderungen die Erstellung des Snaps beeinflussen. Denken Sie daran, dass Sie Ihren Snap jederzeit an
Ihre Freunde verteilen oder ein Repository dafür erstellen können. Eine letzte Anmerkung:Der Abschnitt „Quelle“ in der .yaml-Datei hat eine URL als Wert, aber Sie können auch
einen lokalen Wert haben, z. ./src/my_dep/ .

Letzte Worte

Wir haben mit den Druckknöpfen gerade erst an der Oberfläche gekratzt, wohlgemerkt, aber es gibt eine Menge zu lernen und coole Dinge mit
Druckknöpfen zu tun! Das nie endende Problem, Software nur als, sagen wir, RPMs verpackt zu haben und den Benutzern Kopfschmerzen zu bereiten, wenn sie
zum Beispiel unter Debian benötigt werden, scheint vorbei zu sein. Wie immer ermutigen wir Sie, mit Snaps zu spielen, erstellen Sie einige und vergessen Sie nicht, sie zu teilen! Viel Spaß!


Ubuntu
  1. Eine Einführung in die Verwendung von tcpdump auf der Linux-Befehlszeile

  2. Einführung in die Linux-Befehle chgrp und newgrp

  3. Einführung in den Linux-Befehl chmod

  4. Einführung in den Linux-Befehl chown

  5. So listen Sie die Abhängigkeiten eines Pakets in Linux auf

Cylon-deb :Das Debian-Linux-Wartungsprogramm

So listen Sie den Inhalt eines Pakets in Linux auf

So verwalten Sie Snaps unter Linux – Teil 2

Snap vs. Flatpak vs. AppImage:Kennen Sie die Unterschiede | Welches ist besser

So installieren Sie Snap Package Manager unter Rocky Linux 8

So installieren Sie Snap Package Manager in Linux-Distributionen