是否有一个python模块可以自动化跨平台系统配置?

时间:2013-11-06 18:55:48

标签: python linux bash configuration automation

我在许多不同的系统上工作 - 许多Linux发行版,windows(使用cygwin),osx,bsd等。

我讨厌手动设置每个环境,并且已经考虑了一段时间,正在研究一个python模块,它将自动化诸如设置bash环境,配置git,配置虚拟环境,跨不同平台配置应用程序等等。 / p>

我的想法是创建一个python模块将git url作为参数,因为git repo将是一个配置文件,它指定一些将由解析器执行的'meta'命令,例如:

  1. 确定操作系统类型
  2. 执行'apt-get install'等行动
  3. 根据操作系统类型
  4. ,将存储库中的符号链接文件转换为基于配置文件的位置
  5. 使用某种正则表达式解析器修改现有系统配置文件
  6. 这样的事情是否已存在?好主意?馊主意?改进的想法?

3 个答案:

答案 0 :(得分:1)

我不确定我是否将其视为模块,但ansible是一个用Python编写的工具,可以完成所有这些工作。 'meta'命令位于yaml文件中。

它通常从命令行运行,而不是作为导入的模块运行。

答案 1 :(得分:1)

答案 2 :(得分:1)

Saltstack与ansible一样,是一组配置远程机器的工具。它是用python编写的,如果你愿意,可以通过python API使用。盐的优点是盐可以配置Windows机器以及* nix型机器。

以下是他们文档中的一个非常简短的例子:

import salt.client

local = salt.client.LocalClient()
local.cmd('*', 'test.fib', [10])

有关详细信息,请参阅: