我有各种 Solaris 和 Linux 服务器,我们的团队希望为安装和定制安装的位置创建一个通用布局。本质上,我们没有root
权限在任何地方盲目安装,但我们确实有足够的权限在本地或我们的/opt/
目录文件夹中安装许多应用程序,但需要在我们的大多数服务器上这样做。
我想要做的是设置一些通用解决方案,用于同步一组通用工具以在我们的服务器上安装,例如,选择服务器不会安装x-1.3.0
在服务器上的可能自定义设置。y-prod
此外,包括在服务器之间设置和/或同步 .ssh 密钥,这样它们就可以在没有密码的情况下相互通信,这将是有用的。这同样适用于各种 .profile、.bashrc 以及通用设置所需的任何其他 .dot 文件。
我们的团队没有被授予对这些服务器的盲目root
访问权限,但我们可以安装到我们的本地/home/
或/opt/
文件夹中,因此理论上我们应该能够编写出大部分服务器设置的脚本。我认为手动执行此操作并不难,甚至用 Ruby 或 Python 编写脚本也不难,但如果有一个工具已经可以做到这一点,那么站在巨人的肩膀上会很棒对于这个特定的任务。
我要对你跳木偶舞,但需要注意的是,如果没有 root 访问权限,你将无法在安装系统包方面做很多事情(但是,你可能没有在谈论这个)。
不管很多人怎么想,你可以从一个用户帐户中运行 Puppet 而不会有太多的痛苦——当然比你尝试手工种植任何东西的痛苦要少得多。您可能最好编写一个自定义包提供程序来处理您分发
/opt
安装包的任何格式,这比试图exec
到处乱扔东西更干净。我认为这些 ruby 应用程序中的任何一个都会为您服务:
选择一个更适合您的。
在我的脑海中,有两种选择:
1) 使用“参考”机器进行初始安装,然后 rsync 整个 /opt 树周围;或者
2) 说服你的 IT 团队在某个地方建立一个 nfs 共享来安装软件,然后 nfs 将它挂载到目标机器上。
我更喜欢第二种选择,如果您假设您可以在某个地方的适当 NFS 服务器上获得空间。