GNU/Linux >> Belajar Linux >  >> Linux

Masalah “File Metadata Tidak Cocok dengan Checksum” Saat Yum Menginstal atau Memperbarui Paket

Masalahnya

Skenario 1:

Pengguna tidak dapat melakukan “yum install oracle-rdbms-server-11gR2-preinstall”.

yum mencoba mengunduh metadata terbaru (“http://public-yum.Oracle.com/repo/OracleLinux/OL6/latest/x86_64/repodata/primary.xml.gz” ) dan menolaknya dengan pesan kesalahan “[ Errno -1] File metadata tidak cocok dengan checksum”. Setelah ini, yum mencoba cermin berikutnya di mana ia menemukan kesalahan yang sama dan pergi ke cermin berikutnya dan seterusnya sampai ia telah mencoba semua cermin dan berakhir dengan kesalahan "Tidak ada lagi cermin untuk dicoba."

# yum install oracle-rdbms-server-11gR2-preinstall
Loaded plugins: refresh-packagekit, security
ol6_UEK_base | 951 B 00:00
ol6_UEK_base/primary | 686 kB 00:09
ol6_UEK_base 29/29
ol6_UEK_latest | 1.2 kB 00:00
ol6_ga_base | 1.1 kB 00:00
ol6_ga_base/primary | 2.9 MB 00:34
ol6_ga_base 8029/8029
ol6_latest | 1.4 kB 00:00
ol6_latest/primary | 22 MB 04:48
http://public-yum.oracle.com/repo/OracleLinux/OL6/latest/x86_64/repodata/primary.xml.gz: [Errno -1] Metadata file does not match checksum
Trying other mirror.
ol6_latest/primary | 22 MB 04:42
http://public-yum.oracle.com/repo/OracleLinux/OL6/latest/x86_64/repodata/primary.xml.gz: [Errno -1] Metadata file does not match checksum
Trying other mirror.
Error: failure: repodata/primary.xml.gz from ol6_latest: [Errno 256] No more mirrors to try.

Skenario 2:

Jalankan skrip uln_mirror juga gagal dengan kesalahan 'File metadata tidak cocok dengan checksum'

#/usr/bin/uln-yum-mirror
--snip--
rhnplugin.py:410:_getFile:RepoError: failed to retrieve repodata/update=einfo.xml.gz from ol6_x86_64_latest
error was [Errno -1] Metadata file does not match checksum :
Traceback (most recent call last):
File "/usr/bin/reposync", line 352, in 
main()
File "/usr/bin/reposync", line 256, in main
resultfile =3D repo.retrieveMD(ftype)
File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 1571, i=n retrieveMD : return self._retrieveMD(mdtype)
File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 1654, i=n _retrieveMD : size=3Dthisdata.size)
File "/usr/share/yum-plugins/rhnplugin.py", line 410, in _getFile : self.id, e)
RepoError: failed to retrieve repodata/updateinfo.xml.gz from ol6_x86_= 64_latest :error was [Errno -1] Metadata file does not match checksum

Solusinya

Server yum berisi metadata dan checksum untuk metadata. Setelah mengunduh metadata dan checksum, klien yum membandingkan keduanya untuk memastikan keduanya konsisten. Seharusnya ada masalah dengan cache metadata, yang menyebabkan kesalahan saat yum mencoba mengunduh metadata terbaru.

Opsi 1

Pertama coba bersihkan semua cache yum:

# yum clean all
# rm -rf /var/cache/yum/*
# yum repolist

Opsi 2

Bersihkan metadata:

# yum clean metadata

Opsi 3

Edit file /etc/yum.conf dan tambahkan baris “http_caching=packages ” seperti di bawah ini:

# vi /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=3
http_caching=packages

# This is the default, if you make this bigger yum won't see if the metadata
# is newer on the remote and so you'll "gain" the bandwidth of not having to
# download the new metadata and "pay" for it by yum not having correct
# information.
# It is esp. important, to have correct metadata, for distributions like
# Fedora which don't keep old packages around. If you don't like this checking
# interupting your command line usage, it's much better to have something
# manually check the metadata once an hour (yum-updatesd will do this).
# metadata_expire=90m

# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d

1. Tunggu saja sampai cache http habis.

2. Untuk setiap file, keluarkan 'wget' dengan opsi tanpa cache:

# wget --no-cache http://public-yum.oracle.com/repo/OracleLinux/OL6/latest/x86_64/repodata/primary.xml.gz 

3. Konfigurasikan yum untuk sementara agar tidak menggunakan versi file yang di-cache. Edit /etc/yum.conf, dan tambahkan baris berikut:

http_caching=none


Linux
  1. File metadata tidak cocok dengan checksum – kesalahan YUM!

  2. Masalah Crontab:Cron Job Tidak Berfungsi Saat Menggunakan Persentase

  3. Bisakah read(2) mengembalikan nol saat tidak di EOF?

  1. Nonaktifkan pemeriksaan transaksi yum untuk konflik file

  2. Pencocokan pola tidak berfungsi dalam skrip bash

  3. Mengapa membuat gambar memberi saya file, bukan gambar?

  1. 4 Cara Menonaktifkan/Mengunci Pembaruan Paket Tertentu Menggunakan Perintah Yum

  2. ketika kesalahan 'Kesalahan:Tidak ada hubungannya' terjadi saat menginstal melalui yum?

  3. logrotate tidak mengompres /var/log/messages