Was ist Snapcraft?

Was ist Snapcraft?

Ich habe Snappy Ubuntu Core auf einem Raspberry Pi 2-Gerät ausprobiert und gehört, dass ich Snapcraft zur Entwicklung darauf verwenden kann. Jetzt habe ich gehört, dass Snaps auf dem Desktop und Server für Ubuntu 16.04 und andere Distributionen verfügbar sind.

Was ist Snapcraft und wie kann ich es verwenden?

Antwort1

Snapcraft ist einWerkzeugsetgebündelt unter dem snapcraftKommando zur einfachenPakete für mehrere Linux-Distributionen erstellen. Diese .snap-Pakete enthalten im Allgemeinen in sich geschlossene Apps, bieten sichere Isolierung und können entweder aus dem Ubuntu Software Store oder manuell über den snap install <snap-name>.snapBefehl installiert werden.

Kurz gesagt: Als Entwickler schreiben Sie Code mit Ihren üblichen Tools und Snapcraft kümmert sich um die Zusammenstellung für die Verteilung. Snapcraft zeichnet sich auch dadurch aus, dass es Entwicklern ermöglichtHafenihre vorhandenen Apps auf jede Snap-fähige Linux-Plattform.

Schnappkunst:

  • Ist intelligent: Es holt, erstellt und montiert verschiedene Softwareteile (Teile) aus Remote-Quellen in ein endgültiges .snap-Paket, das alle Abhängigkeiten enthält, die es zum Funktionieren braucht
  • Braucht ein Rezept: Es basiert auf einer snapcraft.yamlDatei, die angibt,TeileUndPluginserforderlich, um das Paket zu erstellen
  • Ist erweiterbarmit Plugins. Obwohl es mit einer Reihe der gängigsten Build-System-Plugins geliefert wird, um eine breite Palette von App-Builds abzudecken, kann esleicht erweiterbar mit neuen.

Die 3-minütige Snapcraft-Tour

Installieren Sie Snapcraft unter Ubuntu

Um Snapcraft zu verwenden, benötigen Sie Ubuntu 16.04 LTS. Öffnen Sie ein Terminal mit Ctrl+ Alt+ tund installieren Sie Snapcraft einfach mit diesem Befehl:

sudo apt install snapcraft
sudo apt install build-essential  # Optional, but useful for different builds

Wenn Sie eine andere Distribution verwenden,Schauen Sie sich die alternativen Installationsanweisungen an >

Testen Sie Snapcraft

Das folgende Beispiel erstellt ein Paket, das einen Dienst enthält, mit dem Sie einfügen und teilen können. Sobald Sie fertig sind, können Sie es zu Testzwecken manuell auf Ihrem Snappy-Gerät installieren oder für andere Benutzer in den Store hochladen.

Als erstes öffnen wir ein Terminal und laden das Beispiel aus dem Beispiel-Repository herunter:

sudo apt install git
git clone https://github.com/ubuntu-core/snapcraft.git
cd snapcraft/demos/gopaste

Beachten Sie die snapcraft.yamlDatei in diesem Verzeichnis, die einen Dienst und die Teile angibt, die zum Zusammenstellen der endgültigen .snap-Datei erforderlich sind. Sie können sie optional mit einem Texteditor untersuchen.

Führen Sie nun den snapcraftBefehl im Terminal aus. Dadurch werden alle Snapcraft-Unterbefehle nacheinander ausgeführt, um die Teile zu erstellen und die Ergebnisse in das endgültige .snap-Paket einzufügen. Während der Entwicklung führen Sie die Schritte normalerweise separat aus, bis Sie sicher sind, dass der gesamte Build und die Assembly funktionieren.

$ snapcraft 
Pulling gopaste 
env GOPATH=/tmp/snapcraft/examples/gopaste/parts/gopaste/build go get -t -d github.com/wisnij/gopaste/gopasted
Building gopaste 
env GOPATH=/tmp/snapcraft/examples/gopaste/parts/gopaste/build go build github.com/wisnij/gopaste/gopasted
env GOPATH=/tmp/snapcraft/examples/gopaste/parts/gopaste/build go install github.com/wisnij/gopaste/gopasted
env GOPATH=/tmp/snapcraft/examples/gopaste/parts/gopaste/build cp -a /tmp/snapcraft/examples/gopaste/parts/gopaste/build/bin /tmp/snapcraft/examples/gopaste/parts/gopaste/install
Staging gopaste 
Snapping gopaste 
Generated 'gopaste_1.0_amd64.snap' snap

In der Ausgabe des Befehls können Sie die Schritte sehen, die Snapcraft für Sie ausführt:

  1. Ziehen: es zieht den Code aus dem erforderlichen Gopaste-Teil aus einem Remote-Github-Repo
  2. Bauen: es erstellt Gopaste lokal
  3. Bühne: Nach dem Build werden die Teile in einem einzigen Verzeichnisbaum abgelegt, dem „Staging-Bereich“
  4. Einrasten: Das endgültige .snap-Paket wird aus den zusammengestellten Teilen im Staging-Bereich erstellt

Anmerkungen:

  • Sie finden die endgültige Snap-Datei wie folgt gopaste_1.0_amd64.snap(beachten Sie, dass ich sie in meinem Fall auf meinem amd64-Desktop erstellt habe, z. B. hätten Raspberry Pi 2-Pakete das _armhfArchitektursuffix).
  • Sie können jeden Befehl auch einzeln ausführen: snapcraft pull, snapcraft build, snapcraft stageodersnapcraft snap
  • Verwenden Sie es snapcraft -hfür einen schnellen Überblick über alle verfügbaren Befehle.

Und das war‘s für einen kurzen Einblick in die Möglichkeiten von Snapcraft!Erfahren Sie mehr über Snapcraft >

verwandte Informationen