
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 snapcraft
Kommando 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>.snap
Befehl 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.yaml
Datei, 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.yaml
Datei 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 snapcraft
Befehl 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:
- Ziehen: es zieht den Code aus dem erforderlichen Gopaste-Teil aus einem Remote-Github-Repo
- Bauen: es erstellt Gopaste lokal
- Bühne: Nach dem Build werden die Teile in einem einzigen Verzeichnisbaum abgelegt, dem „Staging-Bereich“
- 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_armhf
Architektursuffix). - Sie können jeden Befehl auch einzeln ausführen:
snapcraft pull
,snapcraft build
,snapcraft stage
odersnapcraft snap
- Verwenden Sie es
snapcraft -h
fü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 >