Não, um snap é autocontido. É claro que pode conter um bin /, usr / bin /, etc. dentro de si mesmo, mas não pode colocar coisas no / bin /, / usr / bin / etc. do sistema.
A prática recomendada para utilizar esses recursos fornecidos pelo snap é exportá-los do snap usando a palavra-chave "apps" no YAML. Por exemplo, digamos que eu tenha um script de shell executável chamado hello.sh
, que contém o seguinte:
#!/bin/sh
echo "hello snap guru"
E eu tenho um snapcraft.yaml
que se parece com isso:
name: hello
version: 1
summary: my summary
description: my description
apps:
run:
command: hello.sh
parts:
hello:
plugin: copy
files:
hello.sh: bin/
Depois de executar snapcraft
e instalar o snap resultante, você notará que hello.sh está contido no diretório bin / do snap, que obviamente não está em seu PATH, portanto você não pode chamá-lo diretamente . No entanto, quando o snap é instalado, o snappy cria um novo script dentro de / snap / bin / para cada item da palavra-chave "apps" ( run
neste caso) e / snap / bin / está no seu PATH. Você deve conseguir executar o script hello.sh usando apenas <snap name>.<app name>
:
$ hello.run
hello snap guru