Я пытаюсь установить кучу файлов .deb, не взаимодействуя с ними. Например, сервер MySQL запросит интерактивное меню для ввода пароля администратора после настройки dpkg.
Я пытался.
export DEBIAN_FRONTEND=noninteractive && export DEBIAN_PRIORITY=critical && sudo /usr/bin/dpkg -i ./files/*
Я знаю, что могу просто извлечь файлы без настройки. Я пытаюсь создать сценарий bash для развертывания сервера, предварительно настроенного для установки по умолчанию Apache, php, mySQL и т. Д. Однако эта «интерактивная установка» вызывает проблемы.
Есть идеи, как его отключить? или работа?
Спасибо
Ты на правильном пути. Вы определенно хотите использовать DEBIAN_FRONTEND=noninteractive
. Для критических вопросов, которые нельзя игнорировать, вам нужно будет debconf
база данных с необходимыми ответами. В debconf
страница руководства есть все подробности о том, как этого добиться.
Для общего неинтерактивного интерфейса вы можете попробовать:
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
Это должно работать:
$ pkgadd SOMEpkg << MYINPUT
y
some text
/usr/local
n
password
MYINPUT
Я должен был разместить blnk строк между строками выше, или он был отформатирован как одна длинная строка. В любом случае вы можете использовать команду "script", чтобы сохранить введенные вами данные во время сложных установок, а затем преобразовать вывод в сценарий, чтобы автоматизировать его для последующих установок (man script
).