CentOSにchef-soloをインストール
開発環境
OS:CentOS6.6(64bit) ruby:2.2.2p95 rubygems:2.4.5
rubyのソースをコンパイルしてインストールするためgccをインストール
$ yum -y install gcc
※バージョンはgemが動作する1.9以上であれば問題なしDownload Ruby
$ wget http://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.2.tar.gz
展開してインストール※ドキュメントは不要のため除外
$ tar xf ./ruby-2.2.2.tar.gz $ cd ruby-2.2.2 $ ./configure --disable-doc $ make $ make install
シンボリックリンクを作成
$ ln -s /usr/local/bin/ruby /usr/bin/ruby $ ln -s /usr/local/bin/gem /usr/bin/gem
chefパッケージのインストール
$ gem install chef ERROR: Loading command: install (LoadError) cannot load such file -- zlib ERROR: While executing gem ... (NoMethodError) undefined method `invoke_with_build_args' for nil:NilClass
zlibについて無いとのエラーが出たので個別に対応
$ yum -y install zlib-devel $ find / -type f -name invoke_with_build_args /root/ruby-2.2.2/ext/zlib $ cd /root/ruby-2.1.6/ext/zlib $ ruby extconf.rb $ make $ make install
再度rubyをインストール
$ cd ruby-2.2.2 $ ./configure --disable-doc $ make $ make install
再度chefパッケージをインストール
$ gem install chef ERROR: While executing gem ... (Gem::Exception) Unable to require openssl, install OpenSSL and rebuild ruby (preferred) or use non-HTTPS sources
今度はopensslが必要とされているようなので個別に対応
$ yum -y install openssl-devel $ cd /root/ruby-2.2.2/ext/openssl $ ruby extconf.rb $ make make: *** `ossl.o' に必要なターゲット `/thread_native.h' を make するルールがあ りません. 中止.
Makefileにtopdirの次くらいにtop_scrdirのパスを追加
$ find / -type f -name thread_native.h /root/ruby-2.2.2/thread_native.h $ vi Makefile top_srcdir = /root/ruby-2.2.2
再度makeとinstall
$ make $ make install
再々度chefパッケージをインストール
$ gem install chef
chefのインストール確認
$ chef-solo -version Chef: 12.4.0