Предисловие
Один из способов сделать это - использовать snap try
. Из своего --help
сообщения:
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.
Он также поставляется с опцией:
--devmode Install in development mode and disable confinement
Это особенно полезно, если вы хотите проверить биты ограничения и правильно использовать интерфейсы.
использование
Способ использовать это просто, просто запустите:
snapcraft prime
snap try prime/
На первом этапе вы говорите, snapcraft
чтобы сделать
Final copy and preparation for the snap.
А на втором этапе snapd
используется содержимое каталога для «установки» оснастки. Теперь вы можете поэкспериментировать с пакетом, но при этом вносить в него изменения.
пример
Давайте использовать пример из Snappy Playpen, чтобы показать, как это использовать.
Мы используем консул, так как он сравнительно быстр в создании и использовании:
$ 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$
Теперь давайте удостоверимся, что у нас нет другой установленной версии, а затем приступим к установке.
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$
Все идет нормально. Вроде работает просто отлично. Теперь давайте заменим его /bin/echo
просто чтобы посмотреть, как все работает:
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$
Как вы можете видеть, мы можем вносить изменения в prime
работающую систему , продолжая работать в ограниченном пространстве. Как правило, это хороший способ быстро приступить к настройке и запуску.
Примечание. Начиная с snapd
версии 2.0.10 (2016-07-09), вы должны были сдвинуть моментальную оснастку перед запуском snapcraft clean
или snapd
перейти в плохое состояние и скулить о невозможности найти смонтированные привязки. Еще несколько исправлений для 2.0.11, которые должны появиться через несколько дней.
snapcraft clean
или оснастка в данный момент переходит в плохое состояние, и жалуется, что не может найти смонтированные привязки. Исправление для этого находится в стадии разработки, но еще не выпущено.