LINUX.ORG.RU
ФорумAdmin

Ubuntu: автоматическая установка пакетов


0

1

Недавно столкнулся с необходимостью автоматической установки группы пакетов под Ubuntu server. Часть пакетов (mysql-server, phpmyadmin и т.п.) предполагают постустановочную конфигурацию - появляется ncurses меню и требует что-то ввести.
Мне же нужно установку оформить в виде обычного bash-скрипта, который запускается, всё делает и ничего не спрашивает.

В связи с чем возник вопрос: можно ли как-то указать через apt-get (или может есть другие утилиты) те параметры, которые он собирается у меня спрашивать, чтоб не было никаких меню, не задавалось абсолютно никаких вопросов ?

Сейчас пытаюсь решить это через expect, но есть предчувствие, что это несколько тяжёлая артилерия, и есть более простой и правильный способ.

★★★★★

Попробуйте поискать в направлении смены debconf frontend.

AITap ★★★★★ ()
Ответ на: комментарий от AITap

А также debconf priority (чтобы можно было уменьшить кол-во задаваемых вопросов, приняв ответы по-умолчанию на некоторые).

AITap ★★★★★ ()
Ответ на: комментарий от AITap

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

spirit ★★★★★ ()
Ответ на: комментарий от spirit

Те программы, которые при установке задают вопрос в ncurses-меню, уже используют debconf, и его можно настроить (man 7 debconf, пакет debconf-doc):


Вы можете изменить интерфейс по умолчанию debconf выполнив перенастройку debconf. С другой стороны, если вы просто хотите изменить интерфейс ненадолго, вы можете
установить в переменной окружения DEBIAN_FRONTEND название нужного интерфейса. Пример:
DEBIAN_FRONTEND=readline apt-get install slrn

Команды dpkg-reconfigure(8) и dpkg-preconfigure(8) также позволяют задать интерфейс с помощью параметра --frontend=.

Заметим, что не все интерфейсы работают во всех случаях. Если интерфейс не удалось запустить по какой-то причине, debconf покажет сообщение объясняющее почему, и
перейдёт к запуску другого похожего интерфейса.


Внесение своих настроек заранее (preseeding) там тоже упомимается.

Попробуйте для начала просто поставить пакеты с DEBIAN_FRONTEND=nonintreactive. Если результат устроит, preseeding'ом можно не заниматься.

AITap ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.