Comment installer un rpm qui se plaint de rpmlib (FileDigests) <= 4.6.0-1?

27

Im essayant d'installer un fichier rpm sur CentOS 5 et je ne sais pas comment résoudre ce problème qu'il soulève:

$ 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

Que signifient les lignes rpmlib (FileDigests) <= 4.6.0-1? rpmlib est-il obsolète ou FileDigests est-il obsolète? Quelle est la syntaxe de quelque chose suivi de parenthèses?

J'ai essayé d'utiliser yum pour qu'il puisse résoudre automatiquement les dépendances mais il ne peut pas:

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

Sur cette page https://bugzilla.redhat.com/show_bug.cgi?id=665073 , ils disent que mon RPM est obsolète mais disent ensuite que je devrais demander un fichier RPM qui fonctionne avec ma version de RPM (qui est 4.4. 2.3) mais je ne veux pas faire ça. Comment rendre mon système compatible avec ce fichier rpm?

Points bonus si vous me dites comment je peux corriger l'erreur de clé publique.

Jake
la source
Bien qu'il ne s'agisse pas exactement d' installer un paquet, on pourrait au moins extraire un paquet et ensuite utiliser son contenu sans l'installer: rpm2cpio some-package.rpm | cpio -tvpour lister son contenu et avec cpio -ivdpour l'extraire.
ckujau

Réponses:

30

Quelle est la syntaxe de quelque chose suivi de parenthèses?

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

Les langages de script tels que Perl et Tcl permettent des modules complémentaires. Votre package peut nécessiter certains de ces modules complémentaires. RPM utilise une syntaxe spéciale avec des parenthèses pour indiquer les dépendances du module de script. Par exemple: Requiert: perl (Carp)> = 3.2 Cela indique une exigence pour le module complémentaire Carp pour Perl, supérieure ou égale à la version 3.2.

Dans ce cas, il fait référence à des fonctionnalités particulières de la bibliothèque rpm.

erreur: dépendances ayant échoué: rpmlib (FileDigests) <= 4.6.0-1 est requis par epel-release-6-5.noarch rpmlib (PayloadIsXz) <= 5.2-1 est requis par epel-release-6-5.noarch

Cela suggère que vous essayez d'installer le epel-releaserpm sur un système pour lequel il n'a pas été conçu. En fait, dans votre question, vous déclarez que vous installez cela sur CentOS 5, tandis que le package que vous essayez d'installer est conçu pour CentOS 6 (ou RHEL 6). Pour CentOS 5, vous voulez epel-release-5-4.noarch.rpm . Vous voudrez peut-être lire la documentation EPEL avant de continuer, ce qui aurait répondu à cette question ainsi qu'à d'autres que vous pourriez avoir.

J'ai essayé d'utiliser yum pour qu'il puisse résoudre automatiquement les dépendances mais il ne peut pas:

D'accord, car ces fonctionnalités ne sont pas disponibles sur CentOS 5. Du point de vue de yumvous lui avez demandé des licornes magiques. Il n'en trouve aucun.

Points bonus si vous me dites comment je peux corriger l'erreur de clé publique.

Installez la clé de signature EPEL. Si vous lisez la documentation EPEL - c'est incroyable ce que vous y trouverez - vous obtiendrez un lien vers https://fedoraproject.org/keys , qui comprend des instructions sur l'installation des clés publiques utilisées par le projet Fedora.

larsks
la source
15
C'est une bonne réponse, beaucoup de réponses qui clarifient les choses. Dommage pour le ton un peu sarcastique. Peut-être que la configuration du terrain est claire pour vous, mais pour moi, tout est encore couvert par le brouillard de la guerre ...
Pieter Breed
4

Le lien rmp actuel qui a fonctionné pour moi sur CentOS 5.5 est:

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

Gère automatiquement les dépendances.

Notez également qu'il peut être utile de parcourir le republication par exemple: http://dl.fedoraproject.org/pub/epel/5/i386/ (/ 6 / i386 / etc) pour trouver l'adresse la plus appropriée / correcte.

CNSKnight
la source
0

La meilleure commande sera $ yum install epel-releaseet miam obtiendra le bon régime

Vous pouvez en outre exécuter les commandes ci-dessous pour corriger l'erreur de clé publique.

$ yum clean all
$ yum makecache
$ yum update
Kenny Kaane
la source
-1

Mon problème a été décrit dans ce fil: http://comments.gmane.org/gmane.linux.redhat.fedora.general/410408

Les liens affichés sur la documentation sont des redirections qui (en quelque sorte?) Causent des problèmes avec le téléchargement. A fait ce que le fil a dit, puis le reste des documents EPEL a fonctionné.

Jesse P
la source
1
Bien que ce lien puisse répondre à la question, il est préférable d'inclure les parties essentielles de la réponse ici et de fournir le lien de référence. Les réponses de lien uniquement peuvent devenir invalides si la page liée change.
Michael Hampton