Мне нужно написать скрипт, который соберет мой сервер из новой установки Ubuntu. Среди таких вещей, как Apache и PHP, необходимо установить MySQL. Единственная проблема здесь в том, что когда я устанавливаю MySQL с помощью apt-get, в какой-то момент при установке открывается диалоговое окно, которое позволяет мне ввести мой пароль root. Т.е. взаимодействие человека обязательно.
Как я могу обойти этот экран во время установки и избежать взаимодействия с человеком, все еще используя apt-get для установки MySQL?
Ответы:
Вам нужно предварительно заполнить базу данных debconf. Прежде чем вы попробуете, сначала необходимо установить debconf.
Версия mysql и ubuntu может изменить строку:
Например, вы сделали это вместо этого:
источник
mysql -u root -p
Хотя FAI и подобные системы полезны в корпоративной среде (и он должен знать о них), они, к сожалению, не являются панацеей.
Например, что если он работает на удаленных машинах, возможно, на хостингах, на арендованных серверах, совместно расположенных серверах без доверенной или выделенной сети или в облачной среде, такой как EC2? Никакая сетевая загрузка PXE не будет работать там. Puppet и Chef кажутся более универсальными инструментами, которые могут ему помочь.
Вы можете получить правильные значения из базы данных debconf в системе, которая уже была настроена. Эта техника позволяет вам все это вставить в один скрипт. Например, из /var/cache/debconf/passwords.dat (обратите внимание на возможность работы как с 5.0 на Debian, так и с 5.1 и Ubuntu, дополнительные записи ничего не повредят):
Другой способ, возможно, проще: (собрать ответы из debconf-get-selections или debconf-show из пакета debconf-utils):
После того как вы запустите debconf-set-selections, проверьте свои ответы: cat /var/cache/debconf/passwords.dat
И, во время тестирования, обязательно удалите и очистите все базы данных (особенно базу данных mysql, где она хранится) и исправьте конфигурационную базу данных на случай, если они были повреждены:
Несколько советов по этому поводу: 1) У вас ДОЛЖНЫ быть флажок «Виден» и пароль _again. 2) Вы НЕ ДОЛЖНЫ ставить кавычки вокруг пароля. Он перейдет в запрос MySQL без кавычек, поэтому вы должны сами его заключить в кавычки, если это необходимо. Это также означает отсутствие пробелов (я думаю). 3) Если у вас возникли проблемы, выполните предварительный отбор вручную, а затем запустите установку MySQL самостоятельно (в обычном терминале / tty) и посмотрите, что debconf сообщает вам. Там будут рассказываться предупреждения и ошибки.
источник
Если у вас есть несколько серверов, которые нужно перестроить, я настоятельно рекомендую вместо написания сценария оболочки взглянуть на что-то вроде Puppet . Puppet имеет описательный язык, поэтому вы определяете, как должна выглядеть система, а не как ее получить. Тип пакета имеет опцию responsefile, которая позволяет вам определять ответы debconf в ответе Стивена.
источник
Могу ли я также предложить вам автоматизировать процесс подготовки сервера из сырого железа?
В настоящее время в FAI есть профили для установки большинства основных систем на основе Debian, включая Ubuntu, из сети. Это, конечно, просто расширение для ответа марионетки, которое является расширением ответа debconf.
Комбинация перехода из FAI с последующей настройкой с помощью puppet на роли сервера (где puppet будет использовать соответствующие инструменты для вашей системы, такие как debconf для Debian (-likes) довольно автоматически), в наши дни довольно популярна и не должна быть слишком Трудно найти примеры, которые соответствуют тому, что вы хотите сделать довольно близко.
Основным дополнительным преимуществом наличия сервера промежуточной конфигурации / конфигурации является то, что это также логичное место для контроля конфигурации вашей версии, например, с помощью git (который имеет преимущество именования состояний репозитория по контрольной сумме, так что вы защищены от повреждения как пока вы записываете правильные контрольные суммы вниз), для действительно чистого и воспроизводимого процесса.
источник
Смотрите также:
/programming/1202347/simple-bash-script-to-install-mysql-need-some-help
источник