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

 

Leave A Comment