Chefでyumのリポジトリを追加してみる
とりあえずインストールしたCentOSにChefでインストールしてみる
の続き
Chefでyumのリポジトリを追加してみる。
今回は、サードパーティのクックブックを使わずに追加してみる。
リポジトリを追加してみる
リポジトリを追加するクックブックを作成し、
$ cd chef-repoのディレクトリ $ knife cookbook create yum_repo -o site-cookbooks
レシピを書く。
どのリポジトリもenabled=0にしている。
$ vi site-cookbooks/yum_repo/recipes/default.rb
bash 'add_epel' do user 'root' code <<-EOC rpm -ivh http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm sed -i -e "s/enabled *= *1/enabled=0/g" /etc/yum.repos.d/epel.repo EOC creates "/etc/yum.repos.d/epel.repo" end bash 'add_rpmforge' do user 'root' code <<-EOC rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm sed -i -e "s/enabled *= *1/enabled=0/g" /etc/yum.repos.d/rpmforge.repo EOC creates "/etc/yum.repos.d/rpmforge.repo" end bash 'add_remi' do user 'root' code <<-EOC rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm sed -i -e "s/enabled *= *1/enabled=0/g" /etc/yum.repos.d/remi.repo EOC creates "/etc/yum.repos.d/remi.repo" end
CentOSに適用する。
$ vi nodes/192.168.56.101.json { "run_list": [ "recipe[yum_repo]" ] }
$ knife solo cook ユーザー名@192.168.56.101
$ ssh ユーザー名@192.168.56.101
centos$ yum repolist --enablerepo=epel,rpmforge,remi ・・・ epel Extra Packages for Enterprise Linux 6 - x86_64 10,694 remi Les RPM de remi pour Enterprise Linux 6 - x86_64 1,484 rpmforge RHEL 6 - RPMforge.net - dag 4,678 ・・・
リポジトリを使ってみる
epelを使ってSLコマンドをインストールしてみる。
SLコマンドをインストールするクックブックを作成し、
$ knife cookbook create sl -o site-cookbooks
レシピを書く。
$ vi site-cookbooks/sl/recipes/default.rb
package "sl" do action :install options "--enablerepo=epel" end
CentOSに適用する。
$ vi nodes/192.168.56.101.json { "run_list": [ "recipe[yum_repo]", "recipe[sl]" ] }
$ knife solo cook ユーザー名@192.168.56.101
実行すると、SLが走っていく。
$ ssh ユーザー名@192.168.56.101 centos$ sl