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

标签 python automation installation fabric

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

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

  1. mysql-server(提示用户输入 root 密码)
  2. 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)

关于python - 自动远程安装 mysql-server 和 postfix,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8170691/

相关文章:

不允许 Python 类型提示 Dict 语法错误可变默认值。使用 'default factory'

automation - 使用专家系统自动分类和/或解决 Jira 票证?

macos - 使用 Visual Studio 进行夜间自动化

automation - 如何使用 Autohotkey 创建三键组合热键?

macos - 在 OS X 上安装 readline 6.0

javascript - 您可以使用 ExternalInterface.available 来检查是否启用了 JavaScript 吗?

python - 在 Python 中从 A 到 B 算法切割路径所需的最小移除节点

python - 什么是批量收集的聪明方法?

python - 在 google colab 中为所有笔记本安装库

r - 在 Ubuntu AMI 上为 R 安装 XGBoost GPU