web-dev-qa-db-fra.com

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

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=66507 , 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.

29
Jake

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

De 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-release rpm 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 yum, vous 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é par le projet Fedora.

31
larsks

Vous voulez la version 5.x d'EPEL (pas 6.x).

http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm

Vous utilisez CentOS 5. CentOS 6 n'est pas encore sorti.

7
dmourati

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 le plus adresse appropriée/correcte.

4
CNSKnight

La meilleure commande sera $ yum install epel-release et miam obtiendront 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
0
Kenny Kaane

j'ai une erreur similaire lorsque j'ai essayé d'installer le sélecteur de langue d'entrée des paramètres régionaux du clavier sur CentOS8

CentOS Linux release 8.1.1911 (Core) 
Derived from Red Hat Enterprise Linux 8.1 (Source)
ID_LIKE="rhel Fedora"
PLATFORM_ID="platform:el8"
4.18.0-147.el8.x86_64 #1 SMP Wed Dec 4 21:51:45 UTC 2019 x86_64 GNU/Linux

yum install /home/i/Downloads/xneur-0.20.0-6.fc31.x86_64.rpm

...

Error: transaction check vs depsolve:
rpmlib(PayloadIsZstd) <= 5.4.18-1 is needed by xneur-0.20.0-6.fc31.x86_64

Le problème était dans les charges utiles zstd (compression) https://bugzilla.redhat.com/show_bug.cgi?id=1715799 qui n'est pas encore pris en charge dans RHEL8/CentOS8

https://fedoraproject.org/wiki/Changes/Switch_RPMs_to_zstd_compression

rpm -q rpm-libs rpm
rpm-libs-4.14.2-25.el8.x86_64
rpm-4.14.2-25.el8.x86_64

puis j'ai téléchargé RPM et les libs version 4.14.2 - 36 de l'officiel CentOS Stream Repo

support zstd ajouté :

  • Mer.16 oct.2019 Panu Matilainen - 4.14.2 - 26
  • Réactivez la prise en charge de zstd (# 1715799)

et installez via ( ATTENTION, VOUS POUVEZ BRISER VOTRE SYSTÈME avec l'option allowerasing! faites-le sur vos propres risques )

dnf install --allowerasing python3-rpm-4.14.2-36.el8.x86_64.rpm rpm-4.14.2-36.el8.x86_64.rpm rpm-build-libs-4.14.2-36.el8.x86_64.rpm rpm-libs-4.14.2-36.el8.x86_64.rpm

certains paquets ont été supprimés

Removing dependent packages:
 buildah                           x86_64        1.9.0-5.module_el8.1.0+237+63e26edc             @AppStream           24 M
 container-selinux                 noarch        2:2.107-2.module_el8.1.0+237+63e26edc           @AppStream           40 k
 rpm-build                         x86_64        4.14.2-25.el8                                   @AppStream          314 k
 rpm-plugin-selinux                x86_64        4.14.2-25.el8                                   @anaconda            14 k
 rpm-plugin-systemd-inhibit        x86_64        4.14.2-25.el8                                   @anaconda            14 k
 rpm-sign                          x86_64        4.14.2-25.el8                                   @anaconda            23 k
 selinux-policy                    noarch        3.14.3-20.el8                                   @anaconda            24 k
 selinux-policy-targeted           noarch        3.14.3-20.el8                                   @anaconda            49 M

error: selabel_open: (/etc/selinux/targeted/contexts/files/file_contexts) No such file or directory
error: Plugin selinux: hook psm_pre failed
error: selinux-policy-3.14.3-20.el8.noarch: erase failed

Failed:
  selinux-policy-3.14.3-20.el8.noarch

je ne sais pas comment réparer Selinux et ce qui est affecté, mais maintenant je peux installer de nouveaux RPM depuis Fedora/EPEL

bien sûr, j'ai installé l'archiveur Zstandard de Facebook (* application .zst/zstd) lui-même

yum install zstd libzstd
0
junior ruby developer