Задание умолчаний, для установки deb-пакета
Contents
Задание умолчаний, для установки deb-пакета:
debconf-get-selections- Команда выводит содержимое базы данных debconfdebconf-set-selections- Команда может быть использована для автоматической настройки ответов из базы данныхdebconfили для изменения имеющихся ответов.debconf-communicate- Команда позволяет обращаться к debconf из командной строки.debconf-show- Команда позволяет выполнить запрос к базе данных debconf различными способами.
Подготовка:
|
|
Установим целевой пакет и ответим на вопросы. При установке видно, что выбираем для пакета tzdata:
|
|
Отсортируем наши ответы, при установке libgtk-3-0 было выбрано Moscow и Europe:
|
|
Из вывода команды тоже видно, что интерактивно выбирать значения пришлось для пакета tzdata
Посмотрим что на данный момент выбрано Moscow и Europe:
|
|
Теперь получим строки, для установки:
Эта конструкция
grep -vE select$'\t'$позволяет отфильтровать словоselectс табом в конце строки (select<tab>$, гдеэто $’\t')
Здесь между значениями установлена табуляция, в дальнейшем, её нужно заменить на пробелы
|
|
Для примера сменим один параметр или можно использовать для установки параметра при написании Dockerfile:
|
|
Так же
debconf-set-selectionsпринимает файл со значениями.
Проверим, что изменения произошли:
|
|
При установке нужно указать DEBIAN_FRONTEND="noninteractive", а для Dockerfile можно установить ARG DEBIAN_FRONTEND=noninteractive:
|
|
Базовый пример Dockerfile:
|
|
Скрипт билда с запуском:
|
|