さくら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のインストールも知ることが出来ました。

残るエラーについては後日の課題。ご存知の方がいたら教えてくださると助かります。