我想使用Vagrants Chef solo provisioner安装几个任意的APT套件。在Vagrant solo-provisioner上使用chef.json安装apt套件
chef.json似乎允许您执行chef命令,但我不清楚如何做到这一点。例如:
chef.json = {
apt: {
package: {'libssl-dev': {action: 'install'}}
}
?
我想使用Vagrants Chef solo provisioner安装几个任意的APT套件。在Vagrant solo-provisioner上使用chef.json安装apt套件
chef.json似乎允许您执行chef命令,但我不清楚如何做到这一点。例如:
chef.json = {
apt: {
package: {'libssl-dev': {action: 'install'}}
}
?
厨师使用recipes来定义resources,通过主厨客户端在nodes上执行。
的json
您的chef-solo
设置定义attributes这就像你的厨师可以用它来决定做什么变数。
所以你的哈希属性的厨师使用,但你需要一个配方用于配置基于散列资源将您节点
上执行你的情况,你需要配置package
resource
package "name" do
some_attribute "value"
action :action
end
包资源支持很多不同的封装后端,包括apt
因此您不必担心差异(包名称除外)。
要从哈希安装软件包,你可以创建这样一个秘方:然后
node[:apt][:package].each do |pkg,pkg_data|
package pkg do
action pkg_data[:action].to_sym
end
end
个人食谱打包成cookbooks这就好比是食谱的逻辑分组。一般来说,一本食谱可以用于一个软件,比如httpd
或mysql
。
正如Tensibia提到的那样,请阅读Vagrant Chef-Solo docco,了解将食谱/食谱放在哪里并从那里运行。