yumにやられました。。。
今回使用した予備機はにCentOS7をインストールし
ある程度の設定をしておいたのは2年前なので
何をどこまでやったかも忘れていましたが、
yum(パーッケージ管理)コマンドでupdateしようとしたら、
何故か重複だの衝突だのとエラーで騒がしく、まったく
更新できません。。。
何百ものバージョン違いの同名パッケージが重複しています。
衝突は依存性のあるパッケージのバージョン違いです。
yum clean でパッケージやキャッシュのデータを
クリアしデータベースをリビルドしてみてもダメ。
リポジトリをBASEだけにしてみてもダメ・・・
rpm -q パッケージ名
または
yum list | grep パッケージ名
で調べると
パッケージ名+新しいバージョン
パッケージ名+一つ前のバージョン
の2つが出てきてしまいます。
rpm -e --nodeps --allmatches --justdb
パッケージ名
で古い方を削除できますが、何百は大変なので
rpm -e --nodeps --allmatches --justdb
*
と危険をかえりみずワイルドカードも使ってみましたが
複合的な不具合なのでそこに至るまでの途中でエラー
となり止まってしまいました。
ダメなやつをスキップしてくれるオプション
--skip-broken
もご利益がありませんでした。
こいつは同じBASEのリポジトリのbaseとupdaterの衝突なので、
片方をenabled=0で無効にしてみましたがダメですねぇ。
スキルのある方なら一発で解消する奥の手を持っている
かもしれませんが、拙生には手前に付いている粗末な手しか
ありませんので、なんとか手動で解決させるしかありません。
衝突はこんな感じです。
avahi-gobject conflicts with avahi-0.6.31-17.el7.x86_64
rpm -q などでインストールされているavahi-gobjectとavahiの
バージョンを調べて、古い方を一旦 yum remove か rpm -e
コマンドで削除してインストールし直します。
依存性が重要または多数のパッケージに渡るのでなければ
両方をを削除して再インストールするほうが無難でしょう。
衝突は15個くらいだったので手動で解決させてその後
ワイルドカードで古いのを全部ぶち消してアップデート
してみたら無事出来ちゃいました。(疲;;
他のリポジトリもソォっと戻してみましたが大丈夫なようです。
う〜ん、こんなところに時間を喰うとは思いも
しませんでした。。。
ついでに以前友人がハマったというやつも
書いておきます。
と言うのもmysqlも重複していたので古いバージョンを
ぶち消したら、ブログツールのWordpressが
データベース接続エラーになってしまいました。^^;;
で、新しいバージョンと関連付けする作業を
行いましたが、Wordpressはバックアップしてある
mysqlのデータベースから復旧させるのですが、
ちょっとしたコツというか順番があります。
ここにハマるのも珍しいと思いますが。(笑
不正解のやりかた
pubulic_html等のweb公開スペースにバックアップ
してあるファイルを上げ直した場合、
wp-config.phpには以前のデータベース名や
ユーザー・パスワードが書き込まれているので、
mysqlで同じパスワードで同名のユーザーを作成し、
更にそのユーザーで同名のデータベースを作って
そこにバックアップしてあるファイルを流しこめば
OK・・・とはいかないんですねぇ。
正しいやり方
mysqlで使用するデータベースを新たに作成した後、
wp-config.phpをリネームするなり葬るなどして
http(s)://hosutoname/wp-admin/install.php
にアクセスして新たに登録しなくてはいけません。
登録した後からデータベースにバックアップファイルを
流し込んでmysqldをリロードするのが正しい順番です。
勿論SQL文でバックアップをとっている場合などは
そこからリストアできますが、mysqlのバージョンが
異なると失敗することもあります。
yumのお陰ですでに稼働していたものも上記のように
古いバージョンで稼働していたことも考えられるので
再検証しなくてはいけないようです。(泣
最近のコメント