¿Cómo instalo un rpm que se queja de rpmlib (FileDigests) <= 4.6.0-1?

27

Estoy tratando de instalar un archivo rpm en CentOS 5 y no estoy seguro de cómo resolver este problema que aparece:

$ 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

¿Qué significan las líneas rpmlib (FileDigests) <= 4.6.0-1? ¿rpmlib está desactualizado o FileDigests desactualizado? ¿Qué pasa con la sintaxis de algo seguido de paréntesis?

Intenté usar yum para que pueda resolver dependencias automáticamente, pero no puede:

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

En esta página https://bugzilla.redhat.com/show_bug.cgi?id=665073 , dicen que mi rpm está desactualizado pero luego dicen que debería solicitar un archivo rpm que funcione con mi versión de rpm (que es 4.4. 2.3) pero no quiero hacer eso. ¿Cómo hago que mi sistema sea compatible con este archivo rpm?

Puntos de bonificación si me dice cómo puedo solucionar el error de clave pública.

Jake
fuente
Si bien esto no es exactamente la instalación de un paquete, al menos se podría extraer un paquete y luego usar su contenido sin instalarlo: rpm2cpio some-package.rpm | cpio -tvpara enumerar su contenido y con cpio -ivdpara extraerlo.
ckujau

Respuestas:

30

¿Qué pasa con la sintaxis de algo seguido de paréntesis?

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

Los lenguajes de script como Perl y Tcl permiten módulos adicionales. Su paquete puede requerir algunos de estos módulos adicionales. RPM usa una sintaxis especial con paréntesis para indicar las dependencias del módulo de script. Por ejemplo: Requiere: perl (Carp)> = 3.2 Esto indica un requisito para el módulo adicional Carp para Perl, mayor o igual que la versión 3.2.

En este caso, se refiere a características particulares de la biblioteca rpm.

error: dependencias fallidas: rpmlib (FileDigests) <= 4.6.0-1 es necesario para epel-release-6-5.noarch rpmlib (PayloadIsXz) <= 5.2-1 es necesario para epel-release-6-5.noarch

Esto sugiere que está intentando instalar las epel-releaserpm en un sistema para el que no fue diseñado. De hecho, en su pregunta, declara que está instalando esto en CentOS 5, mientras que el paquete que está intentando instalar está diseñado para CentOS 6 (o RHEL 6). Para CentOS 5, desea epel-release-5-4.noarch.rpm . Es posible que desee leer la documentación de EPEL antes de continuar, lo que habría respondido a esta pregunta, así como a otras que pueda tener.

Intenté usar yum para que pueda resolver dependencias automáticamente, pero no puede:

Correcto, porque esas características no están disponibles en CentOS 5. Desde la perspectiva de yumque le haya pedido unicornios mágicos. No puede encontrar ninguno.

Puntos de bonificación si me dice cómo puedo solucionar el error de clave pública.

Instale la clave de firma EPEL. Si lee la documentación de EPEL, es sorprendente lo que encontrará allí, obtendrá un enlace a https://fedoraproject.org/keys , que incluye instrucciones sobre cómo instalar las claves públicas utilizadas por el proyecto Fedora.

larsks
fuente
15
Esta es una buena respuesta, muchas respuestas que aclaran las cosas. Lástima el tono que es ligeramente sarcástico. Tal vez la disposición de la tierra es clara para ti, pero para mí todavía está cubierto por la niebla de la guerra ...
Pieter Breed
4

El enlace rmp actual que funcionó para mí en CentOS 5.5 es:

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

Maneja las dependencias de forma automática.

También tenga en cuenta que puede ser útil leer detenidamente el reenvío en, por ejemplo: http://dl.fedoraproject.org/pub/epel/5/i386/ (/ 6 / i386 / etc) para encontrar la dirección más adecuada / correcta.

CNSKnight
fuente
0

El mejor comando será $ yum install epel-releasey yum obtendrá las rpm correctas

Puede ejecutar los siguientes comandos para corregir el error de clave pública.

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

Mi problema se describió en este hilo: http://comments.gmane.org/gmane.linux.redhat.fedora.general/410408

Los enlaces publicados en la documentación son redireccionamientos que (¿de alguna manera?) Causan problemas con la descarga. Hicimos lo que decía el hilo y luego el resto de los documentos de EPEL funcionaron.

Jesse P
fuente
1
Si bien este enlace puede responder la pregunta, es mejor incluir aquí las partes esenciales de la respuesta y proporcionar el enlace como referencia. Las respuestas de solo enlace pueden volverse inválidas si la página vinculada cambia.
Michael Hampton