📜  Chef-文件和软件包

📅  最后修改于: 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。