LoginSignup
3
7

More than 5 years have passed since last update.

CentOS6.5 複数バージョンが原因でyum updateが失敗する

Last updated at Posted at 2016-05-15

1.概要

CentOS6.5でyum updateをすると、エラーが「複製です」(日本語表示の場合)旨のエラーが発生。
その対策方法を記載します。

いくつかのまとめ記事はありますが、今回はAWKコマンドを使ってまとめて行えることがポイントです。

2.エラーの発生

# yum update
読み込んだプラグイン:fastestmirror, langpacks, presto, refresh-packagekit
Loading mirror speeds from cached hostfile

(略)

問題を回避するために --skip-broken を用いることができません
** Found 3 pre-existing rpmdb problem(s), 'yum check' output follows:
glibc-2.14.90-24.fc16.4.x86_64 は glibc-2.14.90-21.x86_64 の複製です
glibc-2.14.90-24.fc16.4.x86_64 は次の要求が不足ています:  glibc-common = ('0', '2.14.90', '24.fc16.4')
liberation-fonts-common-1.07.1-3.fc16.noarch は liberation-fonts-common-1.07.1-2.fc16.noarch の複製です
#

RPMデータベースに複数のバージョンのパッケージが存在し、それがアップデート障害の原因になっています。実害はないので、ダブったデータを削除します。

3.削除する

LANG=Cで実行しないと"is a duplicate"の文字列がAWKで拾えません

# LANG=C yum check duplicates | awk '/is a duplicate/ {print $6}' > /tmp/DUPES

# cat /tmp/DUPES
glibc-2.14.90-21.x86_64
liberation-fonts-common-1.07.1-2.fc16.noarch
# yum remove `cat /tmp/DUPES`
読み込んだプラグイン:fastestmirror, langpacks, presto, refresh-packagekit
削除処理の設定をしています
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> Package glibc.x86_64 0:2.14.90-21 will be 削除
---> Package liberation-fonts-common.noarch 0:1.07.1-2.fc16 will be 削除
--> 依存性解決を終了しました。

依存性を解決しました

==========================================================================================
 パッケージ                     アーキテクチャ
                                              バージョン            リポジトリー     容量
==========================================================================================
削除:
 glibc                          x86_64        2.14.90-21            @updates         13 M
 liberation-fonts-common        noarch        1.07.1-2.fc16         @fedora          54 k

トランザクションの要約
==========================================================================================
Remove        2 Packages

インストール済み容量: 13 M
これでいいですか? [y/N]y
パッケージをダウンロードしています:
トランザクションのチェックを実行してします。
トランザクションのテストを実行しています
トランザクションのテストを成功しました
トランザクションを実行しています
  削除中                  : liberation-fonts-common-1.07.1-2.fc16.noarch              1/2
  削除中                  : glibc-2.14.90-21.x86_64                                   2/2

削除しました:
  glibc.x86_64 0:2.14.90-21         liberation-fonts-common.noarch 0:1.07.1-2.fc16

完了しました!
#

3.参照

CentOSでyum updateが何度やっても失敗する場合の対処方法

3
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
7