No seu script, use rpm -q packagename
:
if rpm -q vim-enhanced
then
...
else
...
fi
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.
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.
Tags software-installation yum