Script para verificar se há aplicativos instalados

1

Estou tentando escrever um script para o Ubuntu 10.0.4 para verificar se há um aplicativo no meu sistema. Eu quero o script para ver se o aplicativo nomeado específico está instalado e, se for, se precisa de atualização. Também quero que o script instale automaticamente o aplicativo, caso não esteja instalado, ou atualize o aplicativo, se ele estiver instalado. Como se eu precisasse instalar o WINE ou o GIMP. Não tenho certeza de como estruturar os comandos, mas sei que usarei apt-get ou yum para encontrar o aplicativo.

    
por J.R. 04.05.2012 / 21:37

1 resposta

2

Você pode combinar essas duas partes:

dpkg-query -W -f '${status} ${package} ${version}\n' |
sed -n 's/^install ok installed //p'

Isto mostrará os nomes de todos os pacotes instalados, incluindo suas versões. Se você não precisa de números de versão, omita a parte do $ {version}.

Em seguida, execute o apt-get update para obter listas de pacotes atualizadas e:

/usr/lib/update-notifier/apt-check  -p

Isso informará os nomes dos pacotes cujas atualizações estão disponíveis.

Uma ideia seria (não tome isso literalmente, estou apenas fornecendo uma ideia):

#!/bin/bash

$first_command > installed_packages
$second_command > packages_with_updates

if (grep $YOUR_PACKAGE installed_packages); then
   echo "Package is installed"
   if (grep $YOUR_PACKAGE packages_with_updates); then
      sudo apt-get -q -q update #apt-get runs in quiet mode to avoid lots of output
      echo "Update available for package"
      #Whatever you need to update the package here
   fi
else
   echo "Package not installed, installing..."
   #whatever you need to do to install here
fi
    
por roadmr 04.05.2012 / 22:23