Erro: Nada a fazer para tentar instalar o RPM local

2

Estou tentando instalar este RPM localmente via yum e é recebido com apenas uma mensagem" Error: Nothing to do ".

stdout completo

Loaded plugins: fastestmirror, priorities
Setting up Install Process
Examining Percona-Server-server-56-5.6.22-rel71.0.el6.x86_64.rpm: Percona-Server-server-56-5.6.22-rel71.0.el6.x86_64
Error: Nothing to do

Eu estou em uma perda para a pergunta certa a perguntar neste momento. Como posso identificar o problema e instalá-lo?

    
por atxdba 14.01.2015 / 18:36

5 respostas

3

Você pode instalar / ativar o repositório percona com

yum install http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm

Agora você pode usar yum install Percona-Server-server-56-5.6.22-rel71.0.el6.x86_64.rpm para instalar o pacote desejado (e mantê-lo up2date com o yum)

    
por 14.01.2015 / 19:17
3

Eu não percebi até adicionar -v à minha invocação yum , mas às vezes os pacotes são ignorados porque você ou outra pessoa escreveu um caractere curinga correspondente em uma diretiva exclude em /etc/yum.conf .

por exemplo,

exclude=Percona-Server*

Provavelmente não é sensato apenas remover isso sem descobrir por que está lá, mas, no meu caso, foi um remanescente do passado e removê-lo resolveu o problema.

    
por 22.06.2015 / 23:40
1

Solução alternativa:

Faça o download do rpm de link

Instale manualmente o rpm

sudo rpm -i Percona-Server-server-56-5.6.22-rel71.0.el6.x86_64.rpm
    
por 14.01.2015 / 19:38
1

Se o YUM estiver se recusando a instalar um pacote, provavelmente é porque:

  • a) O pacote tem dependências que não estão disponíveis
  • b) O pacote tem um conflito com um pacote já instalado
  • c) O YUM tem dados antigos e precisa do cache limpo ( yum clean headers )

Yum normalmente dará uma boa orientação sobre qual é o problema, se houver, mas às vezes ele retornará "Nothing to do"!

Primeiro, verifique se o pacote ainda não está instalado. Neste caso, você precisará se conectar ao MySQL ( mysql -u root -p ) e, em seguida, verificar a versão ( SHOW VARIABLES LIKE "version"; ). Para muitos pacotes, você pode simplesmente executar httpd -v ou nginx -v etc etc.

Se o pacote ainda não estiver instalado ou se uma versão inferior estiver instalada, normalmente você poderá instalar ou atualizar.

Ao criar um RPM, um arquivo spec lista quais pacotes e versões são necessários para o pacote ser instalado. Ler este arquivo 'spec' é a melhor maneira de entender completamente o que é necessário e, para isso, você normalmente terá que encontrar o RPM de origem, também conhecido como SRPM.

O CentOS fornece uma ótima orientação sobre a reconstrução de um SRPM para inspecioná-lo ou personalizá-lo: Reconstruir um RPM de origem

Dentro do arquivo de especificações, você provavelmente encontrará Requires e BuildRequires , preste muita atenção a eles, pois são as dependências que o pacote requer. Outra configuração que é frequentemente negligenciada é a "Época". O número da Epoch permite que pacotes antigos sejam substituídos por nomes diferentes, onde os números de versão são menores que a versão instalada. Isso é importante para os pacotes que mudam de nome, mas geralmente são adicionados.

Suponho que quando o YUM devolve Error: Nothing to do , o número da Época é o problema.

    
por 22.06.2015 / 22:27
0

O motivo da mensagem Nothing to do no caso de pacotes de lançamento é simples: ela é já instalada ou você está usando uma URL desatualizada que instalou a versão anterior do pacote de lançamento.

Os pacotes de lançamento contêm informações do repositório YUM. Em geral, você instala um pacote de release primeiro (usando URL) e instala os pacotes de interesse desse repositório (usando o nome do pacote).

Portanto, se um pacote * -release já estiver instalado, não há realmente nada a fazer e nada que você deva fazer a respeito. Você precisa continuar a instalar os pacotes desse repositório.

Conclua as etapas:

yum install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm 
yum install Percona-Server-server-56 

O primeiro comando adiciona informações do repositório, pode dar "nada para fazer" caso já esteja presente (tudo bem).

O segundo comando instala o pacote real do repositório.

    
por 10.10.2017 / 00:23

Tags