Проверьте наличие неинтерактивного режима в скриптах поддержки пакетов Debian

Проверьте наличие неинтерактивного режима в скриптах поддержки пакетов Debian

Если я пишу сценарий обслуживания пакета Debian (например, сценарий предустановки) для создаваемого мной пакета, как мне заставить сценарий определять, должен ли он работать в неинтерактивном режиме (например, apt-get installбыл ли вызван с помощью -yи т. п.)?

решение1

Если вашим скриптам поддержки необходимо взаимодействовать с пользователем, запускающим установку, рекомендуемым способом является использование debconf; см.Условная установка файлов и каталогов в пакетах Debianдля указателей. Это может показаться сложным, но это дает ряд преимуществ — не только обрабатывает debconfнеинтерактивные настройки (с явным DEBIAN_FRONTEND=noninteractiveвызовом или из-за отсутствия возможности взаимодействия с пользователем), но и поддерживает различные интерфейсы, а управляемые параметры debconfмогут быть заданы до установки (с помощью «предварительного заполнения»). Это может быть неактуально в вашем случае, но debconfтакже поддерживает подсказки на разных языках.

Обратите внимание, что apt-getфлаги отделены от интерактивности скрипта сопровождающего; см.Является ли DEBIAN_FRONTEND=noninteractive избыточным при использовании apt-get -yqq?

Связанный контент