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.
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.
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.
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.
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
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
où 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