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