você está aqui: Home  → Arquivo de Mensagens Programe sua mente para aprender inglês - ebook gratuito

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.



Veja a relação completa dos artigos de Fabrício Ceolin