python – 自动远程安装mysql-server和postfix

我正在运行一个带有Fabric的Python脚本,它远程发送一个bash脚本并执行.
该脚本必须自动运行在多个远程服务器上(无需用户干预).

但是当我安装这两个软件包时,命令行中的GUI界面提示有一个小的复杂性.这会导致bash脚本“挂起”,等待用户输入继续.

> mysql-server(提示用户输入root密码)
> postfix(提示某些配置设置)

是否有其他方法可以在命令行中没有GUI界面提示的情况下配置进程?

解决方法:

http://www.muhuk.com/2010/05/how-to-install-mysql-with-fabric/中,它描述了安装mysql-server的解决方案,基本上你要做的是:

# 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)
上一篇:无法在CakePHP中使用MySQL


下一篇:php错误 mysql_query():supplied argument is not a valid MySQL result resource