yum - verifica se o pacote já está instalado

6

Quando executo yum install <X> , onde <X> já foi instalado, yum sai com um status de retorno de 1 e imprime "Erro: nada para fazer".

Além de verificar essa string na saída (o que parece ser uma coisa muito instável para basear meu script), existe alguma maneira de testar se o pacote já existe? Claramente, yum sabe se já existe ou não, já que está jogando esse erro, mas como posso acessar esse conhecimento?

Para adicionar a isso, alguns pacotes são baixados por meio de URLs, não de nomes de pacotes, portanto, a verificação de yum list installed não funciona.

    
por AmadeusDrZaius 25.03.2015 / 19:06

2 respostas

6

No seu script, use rpm -q packagename :

if  rpm -q  vim-enhanced
then
  ...
else
  ...
fi
    
por 26.03.2015 / 00:36
4

Você pode tentar:

#yum list installed | grep tmux
tmux.x86_64                      1.9a-5.fc21        @updates                    

ou:

#yum list installed tmux
Loaded plugins: langpacks
Installed Packages
tmux.x86_64                                                               1.9a-5.fc21                                                               @updates

Sem grep , você obtém algumas linhas extras, mas ambas as saídas podem ser canalizadas em algum editor de texto de acordo com suas necessidades.

    
por 25.03.2015 / 19:24