Что такое послеустановочный эквивалент в пакетах Snap?

Мне нужно запустить команду для инициализации среды для приложения. Это должно произойти только один раз при установке пакета Snap.

Пакеты DEB предоставляют пост-установочный скрипт, который служит этой и многим другим целям, таким как настройка пользовательских учетных записей приложений и т. Д.

Итак, что же такое пост-установочный скрипт DEB в пакетах моментальных снимков?

0
задан 3 October 2017 в 21:24

2 ответа

Нет никакого сообщения* сценарий нарочно (чтобы гарантировать, чтобы у Вас были транзакционные обновления).

Некоторая система рычагов, хотя был бы выпущен очень скоро в самом snapd, чтобы включить Вам достигающий этого. Это еще не доступно в эту дату, хотя, но можно использовать флаг файла $SNAP_DATA, чтобы заставить демона ожидать до пользовательского файла конфигурация (через другую команду из того же снимка, например).

0
ответ дан 3 October 2017 в 21:24
  • 1
    Этот doesn' t работают на меня. После редактирования sources.list, я все еще получаю 404 ошибки при выполнении sudo-обновление-версии. – Jon Watte 28 January 2018 в 14:43

Можно настроить среду для приложения в сценарии средства запуска, который делает это прежде, чем запустить приложение. То, что говорит @didrocks, - то, что можно создать скрытый файл флага в $SNAP_DATA папка, чтобы знать, было ли приложение запущено ранее или нет.

, Например, у Вас может быть сценарий удара в $SNAP/bin/myapp-launcher.sh, который работает:

#!/bin/sh
...
if [ ! -e "$SNAP_DATA/.flag_file ]; then
  <configure the app>
  touch $SNAP_DATA/.flag_file
fi
...
exec "<command of your app>" "$@"

и в snapcraft.yaml настраивают то приложение, которое будет запущено путем вызова его средства запуска, как

...
apps:
  myapp:
    command: bin/myapp-launcher.sh
...
0
ответ дан 3 October 2017 в 21:24
  • 1
    Не забудьте делать перезапуск между первым и вторым шагом – Skywalker 28 March 2018 в 03:29

Другие вопросы по тегам:

Похожие вопросы: