Como instalo um rpm que reclama do rpmlib (FileDigests) <= 4.6.0-1?

27

Estou tentando instalar um arquivo rpm no CentOS 5 e não sei como resolver esses problemas:

$ 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

O que significam as linhas rpmlib (FileDigests) <= 4.6.0-1? O rpmlib está desatualizado ou o FileDigests está desatualizado? O que há com a sintaxe de algo seguido por parênteses?

Eu tentei usar o yum para que ele possa resolver dependências automaticamente, mas não pode:

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

Nesta página https://bugzilla.redhat.com/show_bug.cgi?id=665073 , eles dizem que meu rpm está desatualizado, mas dizem que devo solicitar um arquivo rpm que funcione com a minha versão do rpm (que é 4.4). 2.3), mas não quero fazer isso. Como faço para tornar meu sistema compatível com este arquivo rpm?

Pontos de bônus se você me disser como posso corrigir o erro de chave pública.

Jake
fonte
Enquanto isso não é exatamente a instalação de um pacote, pode-se extrair pelo menos um pacote e depois usá-lo sem instalá-lo: rpm2cpio some-package.rpm | cpio -tvpara listar seu conteúdo e com cpio -ivda sua extração.
Ckujau

Respostas:

30

O que há com a sintaxe de algo seguido por parênteses?

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

Linguagens de script como Perl e Tcl permitem módulos complementares. Seu pacote pode exigir alguns desses módulos complementares. O RPM usa uma sintaxe especial entre parênteses para indicar as dependências do módulo de script. Por exemplo: Requer: perl (Carp)> = 3.2 Isso indica um requisito para o módulo complementar Carp para Perl, maior ou igual à versão 3.2.

Nesse caso, está se referindo a recursos específicos da biblioteca rpm.

erro: Dependências com falha: rpmlib (FileDigests) <= 4.6.0-1 é necessário pelo epel-release-6-5.noarch rpmlib (PayloadIsXz) <= 5.2-1 é necessário pelo epel-release-6-5.noarch

Isso sugere que você está tentando instalar o epel-releaserpm em um sistema para o qual não foi projetado. De fato, na sua pergunta, você declara que está instalando isso no CentOS 5, enquanto o pacote que você está tentando instalar foi projetado para o CentOS 6 (ou RHEL 6). Para o CentOS 5, você deseja epel-release-5-4.noarch.rpm . Você pode ler a documentação do EPEL antes de prosseguir, o que teria respondido a essa pergunta e a outras que você possa ter.

Eu tentei usar o yum para que ele possa resolver dependências automaticamente, mas não pode:

Certo, porque esses recursos não estão disponíveis no CentOS 5. Da perspectiva de yumvocê pediu unicórnios mágicos. Não encontra nenhum.

Pontos de bônus se você me disser como posso corrigir o erro de chave pública.

Instale a chave de assinatura EPEL. Se você ler a documentação do EPEL - é incrível o que encontrará lá -, você encontrará um link para https://fedoraproject.org/keys , que inclui instruções sobre a instalação das chaves públicas usadas pelo projeto Fedora.

larsks
fonte
15
Esta é uma boa resposta, muitas respostas que esclarecem as coisas. Muito ruim sobre o tom que é um pouco irritante. Talvez a configuração da terra está claro para você, mas para mim é tudo ainda coberta pela névoa da guerra ...
Pieter Breed
4

O link rmp atual que funcionou para mim no CentOS 5.5 é:

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

Manipula dependências automagicamente.

Observe também que pode ser útil ler o repost em, por exemplo: http://dl.fedoraproject.org/pub/epel/5/i386/ (/ 6 / i386 / etc), para encontrar o endereço mais apropriado / correto.

CNSKnight
fonte
0

O melhor comando será $ yum install epel-releasee o yum obterá a rpm correta

Você pode executar ainda os comandos abaixo para corrigir o erro da chave pública.

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

Meu problema foi descrito neste tópico: http://comments.gmane.org/gmane.linux.redhat.fedora.general/410408

Os links publicados na documentação são redirecionados que (de alguma forma?) Causam problemas com o download. Fiz o que o tópico dizia e o resto dos documentos do EPEL funcionaram.

Jesse P
fonte
11
Embora esse link possa responder à pergunta, é melhor incluir aqui as partes essenciais da resposta e fornecer o link para referência. As respostas somente para links podem se tornar inválidas se a página vinculada for alterada.
Michael Hampton