Préface
Une façon de procéder consiste à utiliser snap try
. De son --help
message:
The try command installs an unpacked snap into the system for testing
purposes. The unpacked snap content continues to be used even after
installation, so non-metadata changes there go live instantly. Metadata
changes such as those performed in snap.yaml will require reinstallation
to go live.
Il est également livré avec une option:
--devmode Install in development mode and disable confinement
Ceci est particulièrement utile si vous souhaitez tester des bits de confinement et obtenir une bonne utilisation des interfaces.
Usage
La façon de l'utiliser est simple, lancez simplement:
snapcraft prime
snap try prime/
Dans la première étape, vous dites snapcraft
de faire
Final copy and preparation for the snap.
Et dans la deuxième étape, snapd
utilise le contenu du répertoire pour "installer" le composant logiciel enfichable. Vous pouvez maintenant jouer avec le package tout en étant en mesure de le modifier.
Exemple
Prenons un exemple du parc Snappy pour montrer comment l'utiliser.
Nous utilisons consul car il est relativement rapide à construire et à utiliser:
$ git clone https://github.com/ubuntu/snappy-playpen
$ cd snappy-playpen/consul/
snappy-playpen/consul$ snapcraft prime
Preparing to pull consul
[...]
Staging consul
Priming consul
snappy-playpen/consul$
Maintenant, assurons-nous que nous n'en avons pas une autre version installée, puis procédons à l'installation.
snappy-playpen/consul$ which consul
snappy-playpen/consul$ snap try prime
Name Version Rev Developer Notes
consul 0.6.4 x1 try
snappy-playpen/consul$ consul --help
usage: consul [--version] [--help] <command> [<args>]
Available commands are:
agent Runs a Consul agent
[...]
snappy-playpen/consul$
Jusqu'ici tout va bien. Cela semble très bien fonctionner. Maintenant, remplaçons-le par /bin/echo
juste pour voir comment les choses fonctionnent:
snappy-playpen/consul$ cp /bin/echo prime/bin/consul
snappy-playpen/consul$ consul --help
Usage: /snap/consul/x1/bin/consul [SHORT-OPTION]... [STRING]...
or: /snap/consul/x1/bin/consul LONG-OPTION
Echo the STRING(s) to standard output.
[...]
daniel@daydream:/tmp/test/snappy-playpen/consul$
Comme vous pouvez le voir, nous pouvons apporter des modifications au système en direct prime
tout en exécutant les choses sous confinement. C'est généralement un bon moyen d'obtenir le composant logiciel enfichable opérationnel et entièrement testé rapidement.
Remarque: avec la version snapd
antérieure à la version 2.0.10 (2016-07-09), vous deviez supprimer le composant logiciel enfichable avant de l'exécuter snapcraft clean
ou vous mettriez snapd
dans un mauvais état et vous vous plaindriez de ne pas pouvoir trouver de snapshots montés. D'autres correctifs sont prévus pour 2.0.11, qui devraient également arriver dans quelques jours.
snapcraft clean
ou que le composant logiciel enfichable ne se trouve actuellement dans un mauvais état et se plaigne de ne pas pouvoir trouver les snapshots montés. Le correctif est en cours pour cela, mais pas encore publié.