📅  最后修改于: 2020-11-02 03:29:18             🧑  作者: Mango
在Chef中,创建配置文件和移动程序包是关键组件。 Chef如何管理同一内容有多种方式。 Chef支持多种方式处理文件和软件包。
步骤1-编辑食谱的默认食谱。
vipin@laptop:~/chef-repo $ subl cookbooks/test_cookbook/recipes/default.rb
include_recipe "apt"
apt_repository "s3tools" do
uri "http://s3tools.org/repo/deb-all"
components ["stable/"]
key "http://s3tools.org/repo/deb-all/stable/s3tools.key"
action :add
end
package "s3cmd"
步骤2-编辑元数据以添加对apt食谱的依赖。
vipin@laptop:~/chef-repo $ subl cookbooks/my_cookbook/metadata.rb
...
depends "apt"
步骤3-将修改后的食谱上传到Chef服务器。
步骤4-验证您要安装的软件包尚未安装。
步骤5-验证默认存储库。
步骤6-在节点上运行Chef-Client。
步骤7-验证是否已安装必需的软件包。
如果需要安装对于给定平台不可用的软件包,则需要自己进行编译。在Chef中,我们可以使用脚本资源来做到这一点。
步骤1-编辑默认配方。
vipin@laptop:~/chef-repo $ subl cookbooks/my_cookbook/recipes/
default.rb
version = "1.3.9"
bash "install_nginx_from_source" do
cwd Chef::Config['file_cache_path']
code ≪-EOH
wget http://nginx.org/download/nginx-#{version}.tar.gz
tar zxf nginx-#{version}.tar.gz &&
cd nginx-#{version} &&
./configure && make && make install
EOH
步骤2-将修改后的食谱上传到Chef服务器。
步骤3-在节点上运行Chef-Client。
步骤4-验证是否已安装nginx。