tabimoba.net

とあるエンジニアの雑記帳

RHEL,CentOSで「is a duplicate」と表示されてyum update出来なくなった際の対処方法と注意点

yumでupdateしている途中にSSHのセッションが切れたり、Kernel Panicになると、以後yum updateしようとした際に以下のように「is a duplicate」と表示されてアップデートできなくなってしまう場合があります。

avahi-glib-0.6.25-12.el6_5.3.x86_64 is a duplicate with avahi-glib-0.6.25-12.el6
avahi-libs-0.6.25-12.el6_5.3.x86_64 is a duplicate with avahi-libs-0.6.25-12.el6
coreutils-8.4-31.el6_5.2.x86_64 is a duplicate with coreutils-8.4-31.el6_5.1.x86
coreutils-libs-8.4-31.el6_5.2.x86_64 is a duplicate with coreutils-libs-8.4-31.e
glibc-2.12-1.132.el6_5.4.x86_64 is a duplicate with glibc-2.12-1.132.el6_5.2.x86
glibc-common-2.12-1.132.el6_5.4.x86_64 is a duplicate with glibc-common-2.12-1.1
kernel-firmware-2.6.32-431.29.2.el6.noarch is a duplicate with kernel-firmware-2
libcom_err-1.41.12-18.el6_5.1.x86_64 is a duplicate with libcom_err-1.41.12-18.e
libss-1.41.12-18.el6_5.1.x86_64 is a duplicate with libss-1.41.12-18.el6.x86_64
libtirpc-0.2.1-6.el6_5.2.x86_64 is a duplicate with libtirpc-0.2.1-6.el6_5.1.x86
libvirt-client-0.10.2-29.el6_5.12.x86_64 is a duplicate with libvirt-client-0.10
libvpx-1.3.0-5.el6_5.x86_64 is a duplicate with libvpx-0.9.0-8.el6_0.x86_64
libxml2-2.7.6-14.el6_5.2.x86_64 is a duplicate with libxml2-2.7.6-14.el6_5.1.x86
libxml2-python-2.7.6-14.el6_5.2.x86_64 is a duplicate with libxml2-python-2.7.6-
nfs-utils-lib-1.1.5-6.el6_5.x86_64 is a duplicate with nfs-utils-lib-1.1.5-6.el6
nspr-4.10.6-1.el6_5.x86_64 is a duplicate with nspr-4.10.2-1.el6_5.x86_64
nss-util-3.16.1-1.el6_5.x86_64 is a duplicate with nss-util-3.15.3-1.el6_5.x86_6
plymouth-core-libs-0.8.3-27.el6_5.1.x86_64 is a duplicate with plymouth-core-lib
plymouth-graphics-libs-0.8.3-27.el6_5.1.x86_64 is a duplicate with plymouth-grap
plymouth-plugin-label-0.8.3-27.el6_5.1.x86_64 is a duplicate with plymouth-plugi
plymouth-plugin-two-step-0.8.3-27.el6_5.1.x86_64 is a duplicate with plymouth-pl
plymouth-scripts-0.8.3-27.el6_5.1.x86_64 is a duplicate with plymouth-scripts-0.
2:qemu-img-0.12.1.2-2.415.el6_5.14.x86_64 is a duplicate with 2:qemu-img-0.12.1.
tzdata-2014g-1.el6.noarch is a duplicate with tzdata-2014d-1.el6.noarch

対処方法としては、

avahi-glib-0.6.25-12.el6_5.3.x86_64 is a duplicate with avahi-glib-0.6.25-12.el6

の場合は、

rpm -e avahi-glib-0.6.25-12.el6_5.3.x86_64

で左側に表示されている方をアンインストールします。複数ある場合は、1つずつ行っていきます。

glibcのようにglibcglibc-commonで互いに依存し合っている場合は、

rpm -e glibc-2.12-1.132.el6_5.4.x86_64 glibc-common-2.12-1.132.el6_5.4.x86_64

とします。

該当するパッケージを全てアンインストールできたら、yum updateしてアップデートが行えるようになります。

なお、以下のサイトを含めていくつかのサイトで紹介されている

yum-complete-transaction
yum check duplicates | awk '/is a duplicate/ {print $6}' > /tmp/DUPES
yum remove `cat /tmp/DUPES`

という手順は、該当するパッケージだけでなくそのパッケージに依存している他のパッケージも削除されてしまう場合がありますので注意が必要です。削除されたパッケージによっては、最悪OSが立ち上がらなくなる、正常に動作しなくなる等の可能性があります。(この手順自体かなりリスキーです)

yum, rpm and duplicate versions | Ogre.com
[yum] is a duplicate with のエラーで進まなくなったらの巻
virtualmin からのパッケージアップデートでこけるのでなんとかした | wp.takashick.tk
いつか、そのとき、あの場所で。 | [メモ][RHEL] yum updateがうまく動かなくなったので復旧を試みてみた。


どれくらい注意が必要かと言いますと、

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

で出力された/tmp/DUPESの内容が以下の通りだったとします。

avahi-glib-0.6.25-12.el6.x86_64
avahi-libs-0.6.25-12.el6.x86_64
coreutils-8.4-31.el6_5.1.x86_64
coreutils-libs-8.4-31.el6_5.1.x86_64
e2fsprogs-libs-1.41.12-18.el6.x86_64
glibc-2.12-1.132.el6_5.2.x86_64
glibc-common-2.12-1.132.el6_5.2.x86_64
kernel-firmware-2.6.32-431.17.1.el6.noarch
libcom_err-1.41.12-18.el6.x86_64
libss-1.41.12-18.el6.x86_64
libtirpc-0.2.1-6.el6_5.1.x86_64
libvirt-client-0.10.2-29.el6_5.8.x86_64
libvpx-0.9.0-8.el6_0.x86_64
libxml2-2.7.6-14.el6_5.1.x86_64
libxml2-python-2.7.6-14.el6_5.1.x86_64
nfs-utils-lib-1.1.5-6.el6.x86_64
nspr-4.10.2-1.el6_5.x86_64
nss-util-3.15.3-1.el6_5.x86_64
plymouth-core-libs-0.8.3-27.el6.x86_64
plymouth-graphics-libs-0.8.3-27.el6.x86_64
plymouth-plugin-label-0.8.3-27.el6.x86_64
plymouth-plugin-two-step-0.8.3-27.el6.x86_64
plymouth-scripts-0.8.3-27.el6.x86_64
2:qemu-img-0.12.1.2-2.415.el6_5.8.x86_64
tzdata-2014d-1.el6.noarch

それらを

yum remove `cat /tmp/DUPES`

すると、以下のような結果になります。
なんということでしょう!「/tmp/DUPES」で指定されたパッケージのみ削除したいのに、「Removing for dependencies」に記載されているパッケージまで削除しようとしています。
分かる人には分かると思いますが、このまま「y」で進んでしまうと、そのあと最悪の状況になるかも知れないということは理解いただけると思います。

Dependencies Resolved

================================================================================
 Package                         Arch   Version            Repository
================================================================================
Removing:
 avahi-glib                      x86_64 0.6.25-12.el6      @rhel-x86_64-server-6
 avahi-libs                      x86_64 0.6.25-12.el6      @rhel-x86_64-server-6
 coreutils                       x86_64 8.4-31.el6_5.1     @rhel-6-server-rpms
 coreutils-libs                  x86_64 8.4-31.el6_5.1     @rhel-6-server-rpms
 e2fsprogs-libs                  x86_64 1.41.12-18.el6     @rhel-6-server-rpms
 glibc                           x86_64 2.12-1.132.el6_5.2 @rhel-6-server-rpms
 glibc-common                    x86_64 2.12-1.132.el6_5.2 @rhel-6-server-rpms
 libcom_err                      x86_64 1.41.12-18.el6     @rhel-6-server-rpms
 libss                           x86_64 1.41.12-18.el6     @rhel-6-server-rpms
 libtirpc                        x86_64 0.2.1-6.el6_5.1    @rhel-6-server-rpms
 libvirt-client                  x86_64 0.10.2-29.el6_5.8  @rhel-6-server-rpms
 libvpx                          x86_64 0.9.0-8.el6_0      @anaconda-RedHatEnter
 libxml2                         x86_64 2.7.6-14.el6_5.1   @rhel-6-server-rpms
 libxml2-python                  x86_64 2.7.6-14.el6_5.1   @rhel-6-server-rpms
 nfs-utils-lib                   x86_64 1.1.5-6.el6        @rhel-6-server-rpms
 nspr                            x86_64 4.10.2-1.el6_5     @rhel-6-server-rpms
 nss-util                        x86_64 3.15.3-1.el6_5     @rhel-6-server-rpms
 plymouth-core-libs              x86_64 0.8.3-27.el6       @rhel-x86_64-server-6
 plymouth-graphics-libs          x86_64 0.8.3-27.el6       @rhel-x86_64-server-6
 plymouth-plugin-label           x86_64 0.8.3-27.el6       @rhel-x86_64-server-6
 plymouth-plugin-two-step        x86_64 0.8.3-27.el6       @rhel-x86_64-server-6
 plymouth-scripts                x86_64 0.8.3-27.el6       @rhel-x86_64-server-6
 qemu-img                        x86_64 2:0.12.1.2-2.415.el6_5.8
                                                           @rhel-6-server-rpms
 tzdata                          noarch 2014d-1.el6        @rhel-6-server-rpms
Removing for dependencies:
 avahi                           x86_64 0.6.25-12.el6      @rhel-x86_64-server-6
 bluez                           x86_64 4.66-1.el6         @anaconda-RedHatEnter
 brasero-nautilus                x86_64 2.28.3-6.el6       @anaconda-RedHatEnter
 compat-libstdc++-296            i686   2.96-144.el6       @rhel-x86_64-server-6
 cpqacuxe                        i386   8.70-9.0           installed
 dracut                          noarch 004-336.el6_5.2    @rhel-6-server-rpms
 dracut-kernel                   noarch 004-336.el6_5.2    @rhel-6-server-rpms
 e2fsprogs                       x86_64 1.41.12-18.el6     @rhel-6-server-rpms
 expat                           i686   2.0.1-11.el6_2     @rhel-x86_64-server-6
 f-secure-automatic-update-agent i386   8.26.6095-1        installed
 f-secure-linux-security         i686   9.12.1818-1        installed
 f-secure-management-agent-unix  i386   4.77.52-1          installed
 f-secure-perl-pgsql-interface   i386   7.00-1             installed
 f-secure-postgresql             i386   8.1.9-13           installed
 febootstrap-supermin-helper     x86_64 3.21-4.el6         @rhel-6-server-rpms
 file-roller                     x86_64 2.28.2-6.el6       @anaconda-RedHatEnter
 fontconfig                      i686   2.8.0-3.el6        @rhel-x86_64-server-6
 freetype                        i686   2.3.11-14.el6_3.1  @rhel-x86_64-server-6
 gcc                             x86_64 4.4.7-4.el6        @rhel-6-server-rpms
 gcc-c++                         x86_64 4.4.7-4.el6        @rhel-6-server-rpms
 gcc-gfortran                    x86_64 4.4.7-4.el6        @rhel-6-server-rpms
 gdm                             x86_64 1:2.30.4-52.el6    @rhel-6-server-rpms
 gdm-plugin-fingerprint          x86_64 1:2.30.4-52.el6    @rhel-6-server-rpms
 gdm-user-switch-applet          x86_64 1:2.30.4-52.el6    @rhel-6-server-rpms
 glibc                           i686   2.12-1.132.el6_5.2 @rhel-6-server-rpms
 glibc-devel                     x86_64 2.12-1.132.el6_5.2 @rhel-6-server-rpms
 glibc-headers                   x86_64 2.12-1.132.el6_5.2 @rhel-6-server-rpms
 gnome-bluetooth                 x86_64 2.28.6-8.el6       @anaconda-RedHatEnter
 gnome-disk-utility              x86_64 2.30.1-2.el6       @anaconda-RedHatEnter
 gnome-disk-utility-libs         x86_64 2.30.1-2.el6       @anaconda-RedHatEnter
 gnome-disk-utility-ui-libs      x86_64 2.30.1-2.el6       @anaconda-RedHatEnter
 gstreamer-plugins-bad-free      x86_64 0.10.19-2.el6      @anaconda-RedHatEnter
 gvfs                            x86_64 1.4.3-16.el6_5     @rhel-6-server-rpms
 gvfs-afc                        x86_64 1.4.3-16.el6_5     @rhel-6-server-rpms
 gvfs-archive                    x86_64 1.4.3-16.el6_5     @rhel-6-server-rpms
 gvfs-fuse                       x86_64 1.4.3-16.el6_5     @rhel-6-server-rpms
 gvfs-gphoto2                    x86_64 1.4.3-16.el6_5     @rhel-6-server-rpms
 gvfs-obexftp                    x86_64 1.4.3-16.el6_5     @rhel-6-server-rpms
 hp-health                       x86_64 8.7.0.22-17        installed
 hp-smh-templates                noarch 8.7.0.10-10        installed
 hp-snmp-agents                  x86_64 8.7.0.23-17        installed
 hpacucli                        i386   8.70-8.0           installed
 hpvca                           i386   6.3.0-8            installed
 kexec-tools                     x86_64 2.0.0-273.el6      @rhel-6-server-rpms
 krb5-devel                      x86_64 1.10.3-15.el6_5.1  @rhel-6-server-rpms
 libICE                          i686   1.0.6-1.el6        @rhel-x86_64-server-6
 libSM                           i686   1.2.1-2.el6        @rhel-x86_64-server-6
 libX11                          i686   1.5.0-4.el6        @rhel-x86_64-server-6
 libXau                          i686   1.0.6-4.el6        @rhel-x86_64-server-6
 libXcursor                      i686   1.1.13-6.20130524git8f677eaea.el6
                                                           @rhel-6-server-rpms
 libXext                         i686   1.3.1-2.el6        @rhel-x86_64-server-6
 libXfixes                       i686   5.0-3.el6          @rhel-x86_64-server-6
 libXi                           i686   1.6.1-3.el6        @rhel-x86_64-server-6
 libXrandr                       i686   1.4.0-1.el6        @rhel-x86_64-server-6
 libXrender                      i686   0.9.7-2.el6        @rhel-x86_64-server-6
 libcom_err-devel                x86_64 1.41.12-18.el6     @rhel-6-server-rpms
 libguestfs                      x86_64 1:1.20.11-2.el6    @rhel-6-server-rpms
 libstdc++                       i686   4.4.7-4.el6        @rhel-6-server-rpms
 libtool                         x86_64 2.2.6-15.5.el6     @rhel-x86_64-server-6
 libuuid                         i686   2.17.2-12.14.el6_5 @rhel-6-server-rpms
 libvirt                         x86_64 0.10.2-29.el6_5.8  @rhel-6-server-rpms
 libvirt-python                  x86_64 0.10.2-29.el6_5.8  @rhel-6-server-rpms
 libxcb                          i686   1.8.1-1.el6        @rhel-x86_64-server-6
 libxml2-devel                   x86_64 2.7.6-14.el6_5.1   @rhel-6-server-rpms
 nautilus                        x86_64 2.28.4-19.el6      @rhel-x86_64-server-6
 nautilus-extensions             x86_64 2.28.4-19.el6      @rhel-x86_64-server-6
 nautilus-open-terminal          x86_64 0.17-4.el6         @anaconda-RedHatEnter
 nautilus-sendto                 x86_64 2.28.2-4.el6       @rhel-6-server-rpms
 nss-softokn-freebl              i686   3.14.3-10.el6_5    @rhel-6-server-rpms
 openssl-devel                   x86_64 1.0.1e-16.el6_5.14 @rhel-6-server-rpms
 pbeagent                        i386   8.0.1-309          installed
 perl-Archive-Extract            x86_64 1:0.38-136.el6     @rhel-6-server-rpms
 perl-CPAN                       x86_64 1.9402-136.el6     @rhel-6-server-rpms
 perl-CPANPLUS                   x86_64 0.88-136.el6       @rhel-6-server-rpms
 perl-ExtUtils-CBuilder          x86_64 1:0.27-136.el6     @rhel-6-server-rpms
 perl-ExtUtils-Embed             x86_64 1.28-136.el6       @rhel-6-server-rpms
 perl-ExtUtils-MakeMaker         x86_64 6.55-136.el6       @rhel-6-server-rpms
 perl-ExtUtils-ParseXS           x86_64 1:2.2003.0-136.el6 @rhel-6-server-rpms
 perl-File-Fetch                 x86_64 0.26-136.el6       @rhel-6-server-rpms
 perl-IPC-Cmd                    x86_64 1:0.56-136.el6     @rhel-6-server-rpms
 perl-Module-Build               x86_64 1:0.3500-136.el6   @rhel-6-server-rpms
 perl-Test-Harness               x86_64 3.17-136.el6       @rhel-6-server-rpms
 perl-Test-Simple                x86_64 0.92-136.el6       @rhel-6-server-rpms
 perl-core                       x86_64 5.10.1-136.el6     @rhel-6-server-rpms
 perl-devel                      x86_64 4:5.10.1-136.el6   @rhel-6-server-rpms
 plymouth                        x86_64 0.8.3-27.el6       @rhel-x86_64-server-6
 plymouth-gdm-hooks              x86_64 0.8.3-27.el6       @rhel-x86_64-server-6
 plymouth-system-theme           noarch 0.8.3-27.el6       @rhel-x86_64-server-6
 plymouth-theme-rings            noarch 0.8.3-27.el6       @rhel-x86_64-server-6
 plymouth-utils                  x86_64 0.8.3-27.el6       @rhel-x86_64-server-6
 pulseaudio-gdm-hooks            x86_64 0.9.21-14.el6_3    @rhel-x86_64-server-6
 pulseaudio-module-bluetooth     x86_64 0.9.21-14.el6_3    @rhel-x86_64-server-6
 python-virtinst                 noarch 0.600.0-18.el6     @rhel-6-server-rpms
 qemu-kvm                        x86_64 2:0.12.1.2-2.415.el6_5.8
                                                           @rhel-6-server-rpms
 quota                           x86_64 1:3.17-21.el6_5    @rhel-6-server-rpms
 redhat-lsb-core                 x86_64 4.0-7.el6          @rhel-x86_64-server-6
 redhat-lsb-graphics             x86_64 4.0-7.el6          @rhel-x86_64-server-6
 system-config-kdump             noarch 2.0.5-15.el6       @rhel-x86_64-server-6
 systemtap                       x86_64 2.3-4.el6_5        @rhel-6-server-rpms
 systemtap-devel                 x86_64 2.3-4.el6_5        @rhel-6-server-rpms
 totem                           x86_64 2.28.6-4.el6       @rhel-6-server-rpms
 totem-nautilus                  x86_64 2.28.6-4.el6       @rhel-6-server-rpms
 udisks                          x86_64 1.0.1-7.el6_5      @rhel-6-server-rpms
 virt-manager                    x86_64 0.9.0-19.el6       @rhel-6-server-rpms
 virt-who                        noarch 0.8-9.el6          @rhel-6-server-rpms
 zlib                            i686   1.2.3-29.el6       @rhel-x86_64-server-6

Transaction Summary
================================================================================
Remove      130 Package(s)