我在同一个网络上大约有 15 台计算机,它们安装的大多数软件都是相同的。当我想安装新程序或更新已安装的程序时,我必须逐个安装/更新它,这有时是一项艰巨的任务。
是否有任何工具可以简化此过程?如果它们是开源的,那就太好了,无论它们是否需要安装 Python、Ruby 或 Java。
这些计算机运行的是 Windows 7(64 位和 32 位)。我想安装各种软件,包括防病毒更新和游戏。
我在同一个网络上大约有 15 台计算机,它们安装的大多数软件都是相同的。当我想安装新程序或更新已安装的程序时,我必须逐个安装/更新它,这有时是一项艰巨的任务。
是否有任何工具可以简化此过程?如果它们是开源的,那就太好了,无论它们是否需要安装 Python、Ruby 或 Java。
这些计算机运行的是 Windows 7(64 位和 32 位)。我想安装各种软件,包括防病毒更新和游戏。
环境配置软件是否适合您的需求?
在我用过的那些中,Ansible是最容易设置的,并且显然有一些花哨的 UI 可以让你付费购买。如果您发现自己需要的比它提供的更多,它似乎很容易扩展。我在玩 Vagrant(委托虚拟机)时发现了它,它对它有很好的支持;将它们一起使用可以很容易地测试您的 Ansible 剧本,而无需接触任何真实的机器,这就是我在有选择时使用这种组合的原因。
Puppet可能拥有最广泛的用户群,并且很容易在论坛和 SO 上获得答案。您更有可能必须对其进行自定义,这也很容易。我在最初的几个项目中使用了这个,它让我进入了环境配置管理;希望这能让您了解它的易用性。
我听说过关于Chef的好消息,但我从未见过它的实际应用。除了这三个之外,还有更多选择。
有AutoItScript. 它用于安装软件。我不确定您是否可以与他们一起管理它。但是您可以安装和更新软件。它是基于脚本的,您必须在脚本中编写程序应该做什么。您必须对整个安装过程进行编程。这是在脚本文件中完成的。在那里你设置选项,什么时候应该点击下一步等等。此外,您可以阻止键盘和鼠标输入。此外,还可以自动重启。创建了一个 GUI,显示当前正在安装的程序以及进度。您可以使用一个脚本安装/更新多个程序。我不确定,但如果我没记错的话,可以记录输入,然后系统可以自动生成脚本。几年前,我用它在 Windows 环境中自动安装软件和更新。
编辑:有一个 AutoItRecorder我没有测试它,但我正在检查它是否存在。
我在使用命令行参数执行自动安装方面取得了巨大成功。
大多数安装程序系统通过传递正确的参数来支持一定程度的配置或自动化,因为这些参数可以在批处理文件(或其他一些脚本)中编写一次,然后在多台机器上执行,它们可以提供安静的“物有所值” .
在工作中,我们使用类似的系统,部署的软件通常会每年更改一次(新版本或服务包),我们运行脚本大约 每周三台新电脑。这意味着脚本很少需要维护,而执行它们是一项手动但微不足道的任务。
msiexec是随 Windows 一起提供的实用程序,用于自动(卸载)安装 Microsoft 的基于 Windows Installer 的产品 (.msi/.msp)。
典型的静默安装命令:
msiexec /qb /i product.msi REBOOT=ReallySuppress
注意:这里REBOOT
是一个参数,产品供应商可以实现自定义参数,如果文档不完整,可能需要一些研究才能找到它们。
NSIS(Nullsoft Scriptable Install System)是一个流行的开源安装系统。在这种情况下,安装程序可执行文件可以直接执行。
典型的静默安装命令:
install.exe /S /D=C:\Program Files\product
InstallShield是一种流行的商业安装程序系统。当您第一次在记录模式下运行安装程序时,这个有点棘手,它会记录您的选择并输入到响应文件 (.iss)。然后稍后您可以在另一台机器上播放该响应文件以进行静默安装。
典型的记录安装(记录到 setup.iss):
setup.exe -r -f1setup.iss
典型的阻塞静默安装(播放 setup.iss):
setup.exe -sms -f1setup.iss
可以在此处找到有关这些系统和其他系统的更多信息。
Windows 特定的解决方案是巧克力味的。它是一种类似于 Ubuntu 上的 apt-get 的包管理器。软件需要为巧克力包装,但有一个包含现有软件的库。为了更容易在多台计算机上使用它,您可以将它与 puppet 集成。