既に色々install済みのserverのアプリケーションを入れ替える為に
chef-clientした際に下記のようなエラーが出た。
※mysql-hoge, mysql-testのhoge,testの部分は各versionが入ります。
$ sudo chef-client ================================================================================ Error executing action `install` on resource 'package[mysql-client]' ================================================================================ #一部省略 package("mysql-client") do option "--enablerepo=hoge-repo" version "hoge" recipe_name "client" action [:install] cookbook_name :mysql package_name "mysql-client" end
chef-client.logには下記の様に出ているだけ
$ more /var/log/chef-client.log Chef::Exceptions::Exec: package[mysql-client] (mysql::client line 17) had an error: Chef::Exceptions::Exec: returned 1, expected 0
情報が少なすぎるorz
色々ググってみたがわからず
yumで上記のinstallと同じ指定でコマンドを実行してみる
$ sudo yum install --enablerepo=hoge-repo mysql-client-hoge Transaction Check Error: file /etc/my.cnf from install of mysql-hoge conflicts with file from package mysql-test file /usr/share/mysql/charsets/Index.xml from install of mysql-hoge conflicts with file from package mysql-test file /usr/share/mysql/charsets/cp1250.xml from install of mysql-hoge conflicts with file from package mysql-test
こんな感じでダラダラとエラーが出た。
既に入っているmysqlがあるからぶつかってますよってことかー
なんか解決方法がわかってきた。
install済みのパッケージを確認してみる
$ yum list installed | grep mysql mysql-test mysql-devel-test
確かにmysql-testが既にあった。
一回アンインストールする
$ sudo yum remove mysql
これでもう一回chef-clientを実行する
$ sudo chef-client
今度はImageMagicでも同じエラーが出たので
同じ様にinstall済みか確認してuninstallし、chef-clientを実行
$ yum list installed | grep ImageMagic ImageMagic-hoge $ sudo yum remove ImageMagic $ sudo chef-client
30分くらいはまってしまったがこれでレシピの反映がうまくいった。
今回の事象はそこまで頻発することではないのかもしれないが
こんなこともあるよ程度で覚えておけたら役に立つかも
chef-clientでもう少し詳細なログ出せればうれしいのだが
optionとか追加すれば出るのかな?
あとでちょっと調べておくことにする