在默认情况下将Puppet模块安装到全局模块目录中?

我第一次设置了一个Puppet主服务器。 它被configuration为使用环境:

/etc/puppet/puppet.conf

[main] environmentpath = /var/opt/puppet/environments basemodulepath = /var/opt/puppet/modules 

每当我安装一个模块, puppet module install foo ,它会被安装到我的“生产”环境的模块目录中。 我想要发生的是将模块安装到/var/opt/puppet/modules除非使用--environment开关指定环境。

我怎么做?

 puppet module --modulepath=/var/opt/puppet/modules install foo 

您正在使用环境configuration部分。 因此,您可以在puppet.conf的每个环境部分中设置modulepath。 喜欢…

[主要]

environmentpath = / var / opt / puppet / environments

basemodulepath = / var / opt / puppet / modules

[生产]

[dev的]

如果在给定的环境中没有这个设置,Puppet会回落到模块path设置的全局值(/ var / opt / puppet / modules)。 或者,您可以为每个目录部分指定单独的模块path。 希望你有答案…

如果在环境目录中创buildenvironment.conf文件,则每个环境都可以有自己的模块path。 有关环境的更多信息可以在Puppet实验室网站上find,url为https://docs.puppetlabs.com/puppet/latest/reference/environments.html