Prefácio
Uma maneira de fazer isso é usar snap try
. Da sua --help
mensagem:
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.
Ele também vem com uma opção:
--devmode Install in development mode and disable confinement
Isso é particularmente útil se você deseja testar os bits de confinamento e obter o uso correto das interfaces.
Uso
A maneira de usar isso é simples, basta executar:
snapcraft prime
snap try prime/
Na primeira etapa, você diz snapcraft
para fazer o
Final copy and preparation for the snap.
E na segunda etapa snapd
faz uso do conteúdo do diretório para "instalar" o snap. Agora você pode brincar com o pacote enquanto ainda pode fazer alterações nele.
Exemplo
Vamos usar um exemplo do Snappy Playpen para mostrar como usar isso.
Estamos usando o consul, pois é relativamente rápido criar e usar:
$ 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$
Agora, verifique se não temos outra versão instalada e, em seguida, prossiga com a instalação.
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$
Por enquanto, tudo bem. Parece funcionar muito bem. Agora vamos substituí-lo por /bin/echo
apenas para ver como as coisas funcionam:
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$
Como você pode ver, podemos fazer alterações no sistema prime
ativo enquanto ainda executamos as coisas sob confinamento. Geralmente, é uma boa maneira de colocar o snap em funcionamento e totalmente testado rapidamente.
Nota: Com snapd
antes de 2.0.10 (2016/07/09), você tinha que temove o snap antes de executar snapcraft clean
ou snapd
iria entrar em um estado ruim e lamentar sobre ser incapaz de encontrar snaps montados. Mais algumas correções estão alinhadas para a versão 2.0.11, que também deve chegar em alguns dias.
snapcraft clean
ou que o snapd atualmente entre em um estado ruim e lamenta a impossibilidade de encontrar snaps montados. A correção está em andamento para isso, mas ainda não foi lançada.