J'ai essayé le noyau Ubuntu accrocheur sur un appareil Raspberry Pi 2 et j'ai entendu dire que je pouvais utiliser Snapcraft pour faire du développement dessus. Maintenant, j'entends dire que des instantanés sont disponibles sur le bureau et le serveur pour Ubuntu 16.04 et autres distributions.
Qu'est-ce que Snapcraft et comment puis-je l'utiliser?
Snapcraft est un ensemble d'outils regroupés sous la commande snapcraft
pour créer facilement des packages (techniques) pour plusieurs distributions Linux . Ces packages .snap contiennent généralement des applications autonomes, fournissent une isolation sécurisée et peuvent être installés à partir du magasin de logiciels Ubuntu ou manuellement via la commande snap install <snap-name>.snap
.
En un mot, en tant que développeur, vous écrivez du code avec vos outils habituels et laissez Snapcraft se charger de l'assemblage pour la distribution. Snapcraft excelle également en permettant aux développeurs de transférer leurs applications existantes sur toute plate-forme Linux compatible avec la capture instantanée.
Snapcraft:
snapcraft.yaml
qui spécifie les parties et plugins requis pour créer le paquetVous aurez besoin d’Ubuntu 16.04 LTS pour utiliser Snapcraft. Ouvrir un terminal avec Ctrl+Alt+t et installez simplement Snapcraft avec cette commande:
Sudo apt install snapcraft
Sudo apt install build-essential # Optional, but useful for different builds
Si vous utilisez une autre distribution, consultez les instructions d'installation alternatives>
L'exemple suivant crée un package contenant un service qui vous permet de coller et de partager. Une fois terminé, vous pouvez l'installer manuellement sur votre appareil Snappy à des fins de test ou le télécharger sur la boutique pour d'autres utilisateurs.
Tout d'abord, nous ouvrons un terminal et téléchargeons l'exemple depuis le référentiel d'exemples:
Sudo apt install git
git clone https://github.com/ubuntu-core/snapcraft.git
cd snapcraft/demos/gopaste
Notez le fichier snapcraft.yaml
dans ce répertoire, qui spécifie un service et les composants requis pour assembler le fichier .snap final. Vous pouvez éventuellement l'examiner avec un éditeur de texte.
Exécutez maintenant la commande snapcraft
sur le terminal. Cela entraînera l'exécution séquentielle de toutes les sous-commandes snapcraft afin de créer les pièces et de placer les résultats dans le package final .snap. Pendant le développement, vous exécuterez normalement les étapes séparément jusqu'à ce que vous soyez certain que toute la construction et l'ensemble fonctionnent.
$ 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
Sur le résultat de la commande, vous pouvez voir les étapes que snapcraft exécute pour vous:
Remarques:
gopaste_1.0_AMD64.snap
(dans mon cas, je l’ai construit sur mon ordinateur de bureau AMD64, par exemple, les paquets Raspberry Pi 2 auraient le suffixe _armhf
pour l’architecture).snapcraft pull
, snapcraft build
, snapcraft stage
ou snapcraft snap
snapcraft -h
pour un aperçu rapide de toutes les commandes disponibles.Et voilà pour un aperçu de ce que Snapcraft peut faire! En savoir plus sur Snapcraft>