Fix Duplicate Package Centos
Ketika mengelola server Centos, adakalanya waktu update membutuhkan waktu yang cukup lama. Hal ini dikarenakan server yang sudah lama tidak di update. Ketika tiba-tiba update berhenti di tengah jalan, bisa dipastikan yum akan mengalami eror dan tidak dapat melanjutkan ataupun mengulangi update.
Error yang terjadi seperti berikut:
glibc-2.12-1.107.el6_4.5.x86_64 is a duplicate with glibc-2.12-1.107.el6_4.4.x86_64 glibc-common-2.12-1.107.el6_4.5.x86_64 is a duplicate with glibc-common-2.12-1.107.el6_4.4.x86_64 glibc-devel-2.12-1.107.el6_4.5.x86_64 is a duplicate with glibc-devel-2.12-1.107.el6_4.4.x86_64 glibc-devel-2.12-1.107.el6_4.5.x86_64 has missing requires of glibc-headers = ('0', '2.12', '1.107.el6_4.5') iputils-20071127-17.el6_4.2.x86_64 is a duplicate with iputils-20071127-17.el6_4.x86_64 nspr-4.9.5-2.el6_4.x86_64 is a duplicate with nspr-4.9.2-1.el6.x86_64 nss-3.14.3-4.el6_4.x86_64 is a duplicate with nss-3.14.0.0-12.el6.x86_64 nss-softokn-3.14.3-3.el6_4.x86_64 is a duplicate with nss-softokn-3.12.9-11.el6.x86_64 nss-util-3.14.3-3.el6_4.x86_64 is a duplicate with nss-util-3.14.0.0-2.el6.x86_64 tzdata-2013g-1.el6.noarch is a duplicate with tzdata-2013c-2.el6.noarch 2:xinetd-2.3.14-39.el6_4.x86_64 is a duplicate with 2:xinetd-2.3.14-38.el6.x86_64
Hal pertama yang pantas untuk dicoba adalah meneruskan proses update yang terhenti dengan cara berikut:
yum install yum-utils --skip-broken yum-complete-transaction
Jika beruntung, proses update dapat dilanjutkan kembali.
Jika tidak berhasil, coba perintah berikut:
package-cleanup –dupes # list out duplicates package-cleanup –cleandupes # clean up duplicates package-cleanup –problems # list out packages with broken dependencies
Jika duplicate package masih belum hilang juga, maka langkah terakhir adalah menghapus satu persatu package yang duplicate. Duplicate package ini terjadi karena ada ketidaksinkronan antara basis data yum dengan package yang terinstall. Untuk menghapus package satu per satu, lakukan hal berikut
rpm -e --justdb <package-version>
–justdb di sini sangat penting. Dengan adanya –justdb, package yang di remove hanyalah package yang ada di basis data yum. Package sebenarnya yang sudah ada di sistem tidak ikut terhapus. Contoh eksekusi perintah tersebut adalah sebagai berikut.
rpm -e --justdb glibc-2.12-1.107.el6_4.5.x86_64
Apabila pada nama package seperti 2:xinetd-2.3.14-39.el6_4.x86_64 , maka eksekusi yang harus dilakukan menjadi seperti berikut:
rpm -e --justdb xinetd-2.3.14-39.el6_4.x86_64
Apabila ada eksekusi yang berujung pada eror, biarkan saja terlebih dahulu. Jalankan perintah seperti di atas pada sebanyak mungkin package yang terduplicate. Setelah semua package yang terduplicate sudah di remove, langkah terakhir adalah menjalankan yum update .
Bacaan lebih lanjut mengenai eror dapat dilihat di berbagai link berikut
- https://www.centos.org/forums/viewtopic.php?f=13&t=44279
- http://idroot.net/tutorials/fix-yum-duplicate-packages-broken-dependencies/
- http://stackoverflow.com/questions/19418301/yum-error-package-is-a-duplicate-with