Bagaimana saya menginstal rpm yang mengeluh tentang rpmlib (FileDigests) <= 4.6.0-1?

27

Saya mencoba menginstal file rpm pada CentOS 5 dan saya tidak yakin bagaimana menyelesaikan masalah ini muncul:

$ rpm --install epel-release-6-5.noarch.rpm
warning: epel-release-6-5.noarch.rpm: Header V3 RSA/SHA256 signature: NOKEY, key ID 0608b895
error: Failed dependencies:
    rpmlib(FileDigests) <= 4.6.0-1 is needed by epel-release-6-5.noarch
    rpmlib(PayloadIsXz) <= 5.2-1 is needed by epel-release-6-5.noarch

Apa arti garis rpmlib (FileDigests) <= 4.6.0-1? Apakah rpmlib kedaluwarsa atau FileDigests kedaluwarsa? Apa dengan sintaks sesuatu yang diikuti oleh tanda kurung?

Saya sudah mencoba menggunakan yum sehingga dapat menyelesaikan dependensi secara otomatis tetapi tidak dapat:

$ sudo yum --nogpgcheck install epel-release-6-5.noarch.rpm
...
Running rpm_check_debug
ERROR with rpm_check_debug vs depsolve:
rpmlib(FileDigests) is needed by epel-release-6-5.noarch
rpmlib(PayloadIsXz) is needed by epel-release-6-5.noarch
Complete!
(1, [u'Please report this error in https://bugzilla.redhat.com/enter_bug.cgi?product=Red%20Hat%20Enterprise%20Linux%205&component=yum'])

Pada halaman ini https://bugzilla.redhat.com/show_bug.cgi?id=665073 , mereka mengatakan rpm saya kedaluwarsa tetapi kemudian mengatakan saya harus meminta file rpm yang berfungsi dengan versi rpm saya (yaitu 4.4. 2.3) tetapi saya tidak ingin melakukan itu. Bagaimana saya membuat sistem saya kompatibel dengan file rpm ini?

Poin bonus jika Anda memberi tahu saya cara memperbaiki kesalahan kunci publik.

Jake
sumber
Meskipun ini bukan menginstal paket, seseorang setidaknya bisa mengekstrak paket dan kemudian menggunakan isinya tanpa menginstalnya: rpm2cpio some-package.rpm | cpio -tvuntuk membuat daftar isinya dan cpio -ivdmengekstraknya.
ckujau

Jawaban:

30

Apa dengan sintaks sesuatu yang diikuti oleh tanda kurung?

Dari http://jfearn.fedorapeople.org/en-US/RPM/0.1/html/RPM_Guide/ch-advanced-packaging.html :

Bahasa scripting seperti Perl dan Tcl memungkinkan untuk modul tambahan. Paket Anda mungkin memerlukan beberapa modul tambahan ini. RPM menggunakan sintaks khusus dengan tanda kurung untuk menunjukkan dependensi modul skrip. Misalnya: Memerlukan: perl (Carp)> = 3.2 Ini menunjukkan persyaratan untuk modul add-on Carp untuk Perl, lebih besar dari atau sama dengan versi 3.2.

Dalam hal ini, ini mengacu pada fitur-fitur tertentu dari perpustakaan rpm.

galat: Gagal dependensi: rpmlib (FileDigests) <= 4.6.0-1 diperlukan oleh epel-release-6-5.noarch rpmlib (PayloadIsXz) <= 5.2-1 diperlukan oleh epel-release-6-5.noarch

Ini menyarankan Anda mencoba menginstal epel-releaserpm pada sistem yang tidak dirancang. Bahkan, dalam pertanyaan Anda, Anda menyatakan Anda menginstal ini pada CentOS 5, sedangkan paket yang Anda coba instal dirancang untuk CentOS 6 (atau RHEL 6). Untuk CentOS 5, Anda ingin epel-release-5-4.noarch.rpm . Anda mungkin ingin membaca dokumentasi EPEL sebelum melanjutkan, yang akan menjawab pertanyaan ini serta orang lain yang mungkin Anda miliki.

Saya sudah mencoba menggunakan yum sehingga dapat menyelesaikan dependensi secara otomatis tetapi tidak dapat:

Benar, karena fitur-fitur itu tidak tersedia di CentOS 5. Dari sudut pandang yumAnda telah memintanya untuk unicorn sihir. Tidak dapat menemukan.

Poin bonus jika Anda memberi tahu saya cara memperbaiki kesalahan kunci publik.

Instal kunci penandatanganan EPEL. Jika Anda membaca dokumentasi EPEL - sungguh menakjubkan apa yang akan Anda temukan di sana - Anda akan mendapatkan tautan ke https://fedoraproject.org/keys , yang mencakup petunjuk tentang cara memasang kunci publik yang digunakan oleh proyek Fedora.

larsks
sumber
15
Ini adalah jawaban yang bagus, banyak jawaban yang menjelaskan semuanya. Sayang sekali dengan nada yang agak snarky. Mungkin lapisan tanahnya jelas bagi Anda, tetapi bagi saya itu semua masih tertutup kabut perang ...
Pieter Breed
4

Tautan rmp saat ini yang berfungsi untuk saya di CentOS 5.5 adalah:

# rpm -ivh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm

Menangani ketergantungan secara otomatis.

Juga perhatikan bahwa akan sangat membantu untuk membaca ulang repost di mis: http://dl.fedoraproject.org/pub/epel/5/i386/ (/ 6 / i386 / etc) untuk menemukan alamat yang paling tepat / benar.

CNSKnight
sumber
0

Perintah terbaik adalah $ yum install epel-releasedan yum akan mendapatkan rpm yang benar

Anda selanjutnya dapat menjalankan perintah di bawah ini untuk memperbaiki kesalahan kunci publik.

$ yum clean all
$ yum makecache
$ yum update
Kenny Kaane
sumber
-1

Masalah saya dijelaskan di utas ini: http://comments.gmane.org/gmane.linux.redhat.fedora.general/410408

Tautan yang diposting pada dokumentasi adalah pengalihan yang (entah bagaimana?) Menyebabkan masalah dengan unduhan. Melakukan apa yang dikatakan utas dan kemudian sisa dokumen EPEL berhasil.

Jesse P
sumber
1
Meskipun tautan ini dapat menjawab pertanyaan, lebih baik untuk memasukkan bagian-bagian penting dari jawaban di sini dan memberikan tautan untuk referensi. Jawaban hanya tautan dapat menjadi tidak valid jika halaman tertaut berubah.
Michael Hampton