我们可以在自定义目录而不是默认目录中安装Chef客户端和服务器

时间:2015-06-19 14:59:23

标签: ruby chef

chef-client的默认安装发生在/ opt目录中。 我需要在/ opt / installed_apps目录下安装chef客户端。

如果我在/ opt / installed_apps下安装它,它会在/ opt / installed_apps中创建一个/ opt / chef文件夹,并且在运行chef-client命令时,它会抛出一个错误“/ opt / chef / embedded / bin / ruby​​文件或目录不存在“。

我尝试在环境PATH变量中设置ruby gem的路径,即/ opt / chef / embedded / bin / ruby​​,但它不起作用。

请建议我必须为chef-client设置任何特定的环境变量,或者不允许/推荐自定义安装Chef client / server。

感谢 Amandeep Singh

1 个答案:

答案 0 :(得分:0)

简短:您不能,嵌入式Ruby中的某些库静态链接到此目录。

我能想到的唯一解决方法是在目标目录中安装(对于挂载或我不是什么原因),然后对/ opt / chef进行符号链接:

 ln -s /opt/chef /opt/installed_apps/opt/chef

沿着安装ruby的路径并使用gem install听起来有些过分且容易出错。