Come installo un rpm che si lamenta di rpmlib (FileDigests) <= 4.6.0-1?


27

Sto cercando di installare un file rpm su CentOS 5 e non sono sicuro di come risolvere questo problema:

$ 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

Cosa significano le righe rpmlib (FileDigests) <= 4.6.0-1? rpmlib non è aggiornato o FileDigests non è aggiornato? Qual è la sintassi di qualcosa seguita da parentesi?

Ho provato a usare yum in modo che possa risolvere automaticamente le dipendenze ma non è in grado di:

$ 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'])

In questa pagina https://bugzilla.redhat.com/show_bug.cgi?id=665073 , dicono che il mio rpm non è aggiornato ma poi dicono che dovrei richiedere un file rpm che funzioni con la mia versione di rpm (che è 4.4. 2.3) ma non voglio farlo. Come posso rendere il mio sistema compatibile con questo file rpm?

Punti bonus se mi dici come posso correggere l'errore della chiave pubblica.


Mentre questo non sta esattamente installando un pacchetto, si potrebbe almeno estrarre un pacchetto e quindi utilizzarne il contenuto senza installarlo: rpm2cpio some-package.rpm | cpio -tvper elencare il suo contenuto e con cpio -ivdper estrarlo.
ckujau,

Risposte:


30

Qual è la sintassi di qualcosa seguita da parentesi?

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

Linguaggi di scripting come Perl e Tcl consentono moduli aggiuntivi. Il pacchetto potrebbe richiedere alcuni di questi moduli aggiuntivi. RPM utilizza una sintassi speciale con parentesi per indicare le dipendenze del modulo di script. Ad esempio: Richiede: perl (Carp)> = 3.2 Indica un requisito per il modulo aggiuntivo Carp per Perl, maggiore o uguale alla versione 3.2.

In questo caso, si riferisce a caratteristiche particolari della libreria rpm.

errore: dipendenze non riuscite: rpmlib (FileDigests) <= 4.6.0-1 è necessario per epel-release-6-5.noarch rpmlib (PayloadIsXz) <= 5.2-1 è necessario per epel-release-6-5.noarch

Questo suggerisce che stai cercando di installare l' epel-releaserpm su un sistema per il quale non è stato progettato. In effetti, nella tua domanda, dichiari di installarlo su CentOS 5, mentre il pacchetto che stai tentando di installare è progettato per CentOS 6 (o RHEL 6). Per CentOS 5, vuoi epel-release-5-4.noarch.rpm . Potresti voler leggere la documentazione EPEL prima di procedere, che avrebbe risposto a questa domanda e ad altre che potresti avere.

Ho provato a usare yum in modo che possa risolvere automaticamente le dipendenze ma non è in grado di:

Bene, perché quelle funzioni non sono disponibili su CentOS 5. Dal punto di vista di yumaverlo richiesto unicorni magici. Non ne trova.

Punti bonus se mi dici come posso correggere l'errore della chiave pubblica.

Installa la chiave di firma EPEL. Se leggi la documentazione EPEL - è incredibile quello che troverai lì - otterrai un link a https://fedoraproject.org/keys , che include istruzioni sull'installazione delle chiavi pubbliche utilizzate dal progetto Fedora.


15
Questa è una buona risposta, molte risposte che chiariscono le cose. Peccato per il tono leggermente snarky. Forse la superficie del terreno ti è chiara, ma per me è ancora tutto coperto dalla nebbia della guerra ...
Razza Pieter


4

L'attuale collegamento rmp che ha funzionato per me su CentOS 5.5 è:

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

Gestisce le dipendenze in modo automatico.

Si noti inoltre che può essere utile esaminare il repost ad esempio: http://dl.fedoraproject.org/pub/epel/5/i386/ (/ 6 / i386 / etc) per trovare l'indirizzo più appropriato / corretto.


0

Il comando migliore sarà $ yum install epel-releasee yum otterrà il numero di giri corretto

È inoltre possibile eseguire i comandi seguenti per correggere l'errore della chiave pubblica.

$ yum clean all
$ yum makecache
$ yum update

-1

Il mio problema è stato descritto in questo thread: http://comments.gmane.org/gmane.linux.redhat.fedora.general/410408

I collegamenti pubblicati sulla documentazione sono reindirizzamenti che (in qualche modo?) Causano problemi con il download. Ha fatto ciò che diceva il thread e poi il resto dei documenti EPEL ha funzionato.


1
Sebbene questo collegamento possa rispondere alla domanda, è meglio includere qui le parti essenziali della risposta e fornire il collegamento come riferimento. Le risposte di solo collegamento possono diventare non valide se la pagina collegata cambia.
Michael Hampton
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.