さくらVPSを使ったときのメモ
dotinstallのさくらVPS入門でサーバサイドの学習を行っていて、いよいよ最後のMongoDBの導入まで来ました。
これまで何の問題もなく進められて、いよいよレッスンも終わりかと思いきや、最後の最後にErrorと遭遇したのでメモ。
場所はMongoDBをリポジトリを使って導入するときのyum updateで以下のErrorが出ました。
Error: Package: coreutils-libs-8.4-31.el6.x86_64 (@anaconda-CentOS-201311272149.x86_64/6.5) Requires: coreutils = 8.4-31.el6 Removing: coreutils-8.4-31.el6.x86_64 (@anaconda-CentOS-201311272149.x86_64/6.5) coreutils = 8.4-31.el6 Updated By: coreutils-8.4-31.el6_5.1.x86_64 (updates) coreutils = 8.4-31.el6_5.1 You could try using --skip-broken to work around the problem ** Found 2 pre-existing rpmdb problem(s), 'yum check' output follows: coreutils-libs-8.4-31.el6_5.1.x86_64 is a duplicate with coreutils-libs-8.4-31.el6.x86_64 coreutils-libs-8.4-31.el6_5.1.x86_64 has missing requires of coreutils = ('0', '8.4', '31.el6_5.1')
重複していたり必要なモジュールみたいで、調べてみた。
CentOSのyum updateでエラー
Standard update fails, duplicated packages
調べてみるといろんなコマンドがあるので、それぞれコマンドの意味をメモ。
yum-complete-transaction
yum-utilsのコマンドの1つ。残っているアップデート処理を整理する。
package-cleanup --problems
「List dependency problems in the local RPM database」とあるように、rmpデータベースの依存問題をリストアップする。
package-cleanup --dupes
「Scan for duplicates in your rpmdb」。重複をスキャンする。
package-cleanup --cleandupes
「Scan for duplicates in your rpmdb and remove older」。rpmdb内の重複をスキャンして古いのを削除する。
rpm -Va --nofiles --nodigest
- -Va:パッケージを検査する(V)。インストールされているすべてのパッケージを選択する(a)
- --nofiles:パッケージ内のファイル属性を検査しない
- --nodigest:パッケージのヘッダーやダイジェスト値を検査しない
yum clean all
「Remove cached data」キャッシュを全て削除する。
rpm --rebuilddb
rpmのデータベースファイルを再構築する。
yum update
インストールされているパッケージ全てをアップデートする。
yum update --skip-broken
メッセージに出てきたコマンド。壊れたものをスキップするオプションで実行する。
あとはエラーメッセージのキーワードからググる。
yum is a duplicate with のエラーで進まなくなったらの巻
yum update が複数バージョン競合で失敗した時のメモ
# yum check duplicates | awk '/is a duplicate/ {print $6}' > /tmp/DUPES Error: check ['duplicates'] # cat /tmp/DUPES coreutils-libs-8.4-31.el6.x86_64
で、削除しても大丈夫か確認してみる。coreutils-libs-8.4-31.el6.x86_64 はCentOS6.5で更新されたパッケージのよう。
んー詳細はわからないまま時間切れ。今日はココまで。
とりあえずmongodbのインストールは出来たし、リポジトリを使ったyumのインストールも知ることが出来ました。
残るエラーについては後日の課題。ご存知の方がいたら教えてくださると助かります。