Могу ли я вызывать другие команды dpkg или apt- * в моих скриптах preinst?

Как часть моего собственного (собственного) файла .deb, который будет развернут на устройствах Ubuntu 12.04, мне нужно добавить несколько репозиториев PPA, запустить обновление apt-get, а затем установить пакеты из этих PPA.

Можно ли это сделать с помощью скриптов .preinst или .postinst в моем файле .deb?

Я предполагаю, что когда мой файл .deb установлен (sudo dpkg -i testing.deb), вероятно, существуют некоторые блокировки или механизмы, которые могут не позволит мне вызывать определенные команды, такие как add-apt-repository, apt-get update и apt-get install.

Это правильное предположение?

8
задан 27 December 2013 в 07:24

1 ответ

Вы правы. Сценарии сопровождающего не должны вносить никаких изменений в состояния apt или dpkg, кроме тех изменений, которые будут внесены при установке пакета в любом случае.

Однако, установка файла в /etc/apt/sources.list.d - это нормально. Большинство пакетов, которые выполняют роль типа «установить этот пакет, чтобы добавить APT-репозиторий X в вашу систему», просто делают это (в отличие от вызова add-apt-repository). Также распространено оставлять открытый ключ GPG, используемый для подписания репо, в /etc/apt/trusted.gpg.d.

Если вы хотите упростить пользователю выполнение дополнительных этапов установки для вашего программного обеспечения, вы можете просто отправить скрипт, который выполняет эту работу, и попросить пользователя запустить скрипт вручную.

Но если вы действительно, действительно хотите вызвать apt-get update или apt-get install и т. Д. Автоматически, и вы не возражаете, что ваш пакет будет совершенно неприемлемым в Debian или Ubuntu, и ваши пользователи согласны с пакетом действуя таким образом, вы, возможно, могли бы поместить что-то в /etc/cron.d, которое проверяет наличие любых существующих блокировок apt или dpkg, и, если они не удерживаются, выполняет дополнительные шаги по установке и организует повторное выполнение этих шагов. Я не рекомендую такой подход.

0
ответ дан 27 December 2013 в 07:24

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

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