Автоматизировать Установить MySQL-сервер и постфикс удаленно - PullRequest
4 голосов
/ 17 ноября 2011

Я запускаю скрипт Python с Fabric, который отправляет скрипт bash удаленно и выполняет.Сценарий должен будет запускаться на нескольких удаленных серверах автоматически (без вмешательства пользователя).

Но когда я устанавливаю эти 2 пакета, в командной строке возникает небольшая сложность приглашения интерфейса GUI.Это приводит к зависанию скрипта bash в ожидании продолжения ввода данных пользователем.

  1. mysql-server (запрашивает у пользователя пароль root)
  2. postfix (запрашивает некоторые параметры конфигурации)

Есть ли альтернатива для настройки процесса без приглашения интерфейса GUI в командной строке?

1 Ответ

2 голосов
/ 19 ноября 2011

В http://www.muhuk.com/2010/05/how-to-install-mysql-with-fabric/ описано решение для установки mysql-сервера, в основном вам нужно сделать следующее:

# password prompt 
while True:
    mysql_password = getpass('Please enter MySQL root password: ')
    mysql_password_confirmation = getpass('Please confirm your password: ')
    if mysql_password == mysql_password_confirmation:
        break
    else:
        print "Passwords don't match"

# set the value in debconf
with settings(hide('warnings', 'running', 'stdout', 'stderr'),
              warn_only=True):
    if not run('dpkg-query --show mysql-server'):
        sudo('echo "mysql-server-5.1 mysql-server/root_password password '
            '%s" | debconf-set-selections' % mysql_password)
        sudo('echo "mysql-server-5.1 mysql-server/root_password_again '
             'password %s" | debconf-set-selections' % mysql_password)
...