Передмова
Один із способів зробити це - використовувати 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
або оснащення в даний час прийде в непридатний стан і скаже про неможливість пошуку встановлених знімків. Виправлення для цього триває, але ще не випущено.