Ubuntu dpkg, неинтерактивная установка

10

Я пытаюсь установить кучу файлов .deb без необходимости взаимодействия с ними. MySQL Server, например, запросит интерактивное меню для ввода административного пароля при настройке dpkg.

Я пытался.

export DEBIAN_FRONTEND=noninteractive && export DEBIAN_PRIORITY=critical && sudo /usr/bin/dpkg -i ./files/*

Я знаю, что я могу просто извлечь файлы без конфигурации. Я пытаюсь создать сценарий bash для развертывания сервера, предварительно настроенного на установку по умолчанию Apache, php, mySQL и т. Д. Однако эта «интерактивная установка» вызывает проблемы.

Есть идеи как это отключить? или работа вокруг?

Спасибо

Джеймс Мур
источник
Что вы будете делать с корневым паролем сервера MySQL, не отвечая на вопрос?
DerfK
Используйте mysqladmin для настройки сервера.
Джеймс Мур
Возможные дубликаты
запросов

Ответы:

6

Ты на правильном пути. Вы определенно хотите использовать DEBIAN_FRONTEND=noninteractive. Для критических вопросов, которые нельзя игнорировать, вы должны заранее заполнить debconfбазу данных необходимыми ответами. Страница debconfman содержит все подробности о том, как этого добиться.

Стивен Понедельник
источник
1
необходимо "su -" и использовать "экспорт" в качестве пользователя root.
Джеймс Мур
sudo DEBIAN_FRONTEND = неинтерактивная apt install -y
package_you_want
4

Для общего неинтерактивного интерфейса вы можете попробовать:

sudo dpkg-reconfigure debconf -f noninteractive -p critical

Чтобы настроить учетные данные MySQL, вы можете использовать файл конфигурации сервера (например ~/.my.cnf), например:

[client]
user=root
password=root

Чтобы выбрать некоторые конкретные варианты, используйте debconf-set-selections, например:

echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | sudo debconf-set-selections
kenorb
источник
0

Это должно работать:

$ pkgadd SOMEpkg << MYINPUT

y

some text

/usr/local

n

password

MYINPUT

Мне пришлось поместить blnk строк между строками выше или отформатировать как одну длинную строку. В любом случае вы можете использовать команду «script», чтобы сохранить входные данные во время сложных установок, а затем преобразовать выходные данные в сценарий, чтобы автоматизировать его для последующих установок ( man script).

dixie_flatline
источник