【发布时间】:2015-07-22 17:01:22
【问题描述】:
我想创建一个 RPM 包,在不包含 Puppet、Facter 和 Hiera 的服务器上应用 Puppet 清单。 此外,更重要的是,我应该能够应用它,而不必在生产服务器上安装这些工具(Puppet、Facter、Hiera)。
所以基本上,包应该运行以下命令而不安装任何必需的包:
puppet apply install.pp --modulepath=./modules --hiera_config=./conf/hiera.yaml
我怎样才能继续制作这样的包裹?提取 Puppet/Hiera/Facter RPM 的“二进制”文件以将它们包含在另一个文件中是个好主意吗?
谢谢!
【问题讨论】:
-
您为什么要避免安装这些软件包?您当然可以手动提取它们的内容并将它们包含在您自己的 RPM 中,但是您实际上只是安装了这些软件包,而无法可靠地跟踪它。如果您实际上没有将文件安装到正确的位置,它们甚至可能无法正常工作。
-
@EtanReisner 清单将在我的客户生产服务器上一次性应用,他们非常不愿意安装新软件包的想法。
-
之后您可以随时删除它们。但是这些文件需要存在才能使它们工作。它们可能需要存在于正确的位置才能使其正常工作。如果您打算将文件放在系统位置而不使用 rpm 来管理您是在自找麻烦。因此,据我所知,您的选择是按原样使用官方 RPM 或将其内容重新打包到您的 RPM 中。前者意味着您可以独立于清单/等卸载它们。后者意味着您不能。