você está aqui: Home → Arquivo de Mensagens
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.