Assine a Lista Dicas-L
Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.
Gerando lista mínima de pacotes de um sistema automaticamente
Colaboração: Fabrício Ceolin
Data de Publicação: 02 de Maio de 2009
Caso venhamos criar um procedimento de instalação, certamente esbarramos no problema da geração de uma lista de pacotes instalados. Sabemos que essas listas podem ser gigantestas, portanto desenvolvi um pequeno script que resolve este problema.
Neste artigo vamos explorar um sistema baseados em Debian, porém existem comandos equivalentes para sistemas baseados em RedHat para obtenção das listas.
O algoritmo é muito simples.
Gera-se uma lista de pacotes intalados:
dpkg --get-selections | awk '{ print $1 }' > pacotes
Gera-se uma lista de dependências destes pacotes, tirando os pacotes repetidos, linhas vazias e pacotes virtuais.
for name in $(cat pacotes)
do
apt-cache depends $name | awk '{ print $2 }' >> depends
done
cat depends | sort -u | sed -e 's/^<.*//' | grep -v '^$' > depends.sort
Subtrai-se os dois conjuntos, o dos pacotes, com os dependentes:
comm -23 <(sort pacotes) <(sort depends.sort) > pacotes.mestre
Temos a lista mínima de pacotes.
Referências Adicionais
Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.




