部署和保持Ubuntu电脑最新(和相同)的可能解决scheme

我可以访问大约20台计算机的小型Linux池。 我想提出一个简单 易用的configuration解决scheme,使我能够

  • 将相同的configuration部署到新的计算机
  • 分发软件安装到所有计算机
  • 当涉及到已安装的软件和configuration时,请保持所有计算机同步

我知道Ubuntu的景观,但这个解决scheme对我来说太贵了。

现在我正在手动部署新的安装,我用cssh来pipe理计算机, 但从长远来看 ,这个解决scheme似乎并不实际。

在新机器上部署相同的安装可能可以通过使用PXE来实现,但是如何keeping systems up to date and properly configured部分呢? 那里有没有什么容易的configuration和使用解决scheme? 我知道Puppet似乎太夸张了,但也许我错了。

我很乐意听取您的解答!

只要花点时间学习木偶大师 。 当你习惯了主要的概念之后,这是一个美丽的工作,从长远来看会让你的生活变得更轻松。

你可能想看看Ansible 。 你可以使用它作为一个编排工具,所以你可以运行:

 ansible webservers -m apt -a "name=apache2 state=latest" 

或者类似的,首先定义“networking服务器”

 [webservers] www1.example.com www2.example.com 

另一个select是盐 ,但是我以前用盐,发现它有时是相当不稳定的。

如果您只有20台计算机,那么您可以使用/root/.ssh/authorized_keys设置身份validation,当您需要对所有计算机进行更改时,只需在控制计算机上使用脚本,例如:

 for hostname in hostname1 hostname2 hostname3 hostname4; do ssh "root@$hostname" apt-get install something done 

问题是所有的电脑都必须运行。 您可以使用“networking唤醒”来启动它们。