如何安装chef-solo

时间:2012-03-13 17:50:38

标签: rubygems chef

在Redhat / Fedora上安装chef-solo的正确方法是什么?

我尝试按照opscode wiki上的说明操作,但在运行gem install chef --no-ri --no-rdoc后,which chef-solols /usr/bin/chef*显示没有安装任何内容。

[root@localhost ~]# gem install chef --no-ri --no-rdoc
Successfully installed chef-0.10.8
1 gem installed
[root@localhost ~]# ruby -v
ruby 1.8.7 (2010-08-16 patchlevel 302) [x86_64-linux]

3 个答案:

答案 0 :(得分:7)

您可以使用gem env查找将安装gem二进制文件的目录。例如,在我的主目录中安装了RVM的Mac OS X系统上:

% gem env | grep EXECUTABLE
  - RUBY EXECUTABLE: /Users/jtimberman/.rvm/rubies/ruby-1.9.3-p0/bin/ruby
  - EXECUTABLE DIRECTORY: /Users/jtimberman/.rvm/gems/ruby-1.9.3-p0/bin

一般来说,使用RVM或类似的源代码编译策略部署需要很长时间,而这些工具使用的“shell魔法”会导致混淆。

尝试Omnibus-built Chef Full堆栈包。这里有说明:

基本上,你在Linux / Unix平台上这样做。

wget -O- https://opscode.com/chef/install.sh | sudo bash

install.sh只检查本地系统的平台和体系结构,并使用该信息在S3 bucket中为支持的平台的完整堆栈包组成目录的URL。

此安装包括平台的libc以上的所有内容,包括Ruby(1.9.2 +),RubyGems和其他各种库和工具。这意味着你仍然可以以你喜欢的方式安装Ruby(当然,通过使用菜谱)来安装基于Ruby的应用程序(如果有的话),而无需修改Chef所需的Ruby环境,并且你将拥有一个已知且经过充分测试的Ruby版本与Chef合作。

其他安装路径(RubyGems等)仍然可用,但这是迄今为止最不麻烦的,并且是在Opscode支持的任何平台上安装Chef的最佳支持方法。

此外,截至目前,版本0.10.10 +,chef-full bootstrap template将成为使用knife bootstrap自动设置Chef客户端系统的用户的默认设置。

注意在撰写本文时,完整堆栈安装程序处于“beta”状态。它将保持此状态直到发布,这将与Chef 0.10.10版本的发布一致。它在安装页面上说它不受支持,但很快就会支持。

答案 1 :(得分:3)

安装ChefDK:

sudo rpm -Uvh https://packages.chef.io/files/stable/chefdk/2.5.3/el/7/chefdk-2.5.3-1.el7.x86_64.rpm

ChefDK也包含chef-solo

这里有一份完整的分步指南:http://codeflex.co/creating-and-running-your-first-chef-cookbook/

答案 2 :(得分:-1)

Scott Muc有一个很棒的bootstrap脚本/工具叫Gordon。它还包含一个例子。

可以在这里找到: https://github.com/scottmuc/gordon