Muitas vezes quer-se fazer uma seleção rápida de pacotes para outras máquinas recém-instaladas e assim instalar rapidamente várias máquinas. Para obter uma lista das seleções atuais do seu sistema use o comando a seguir:
$ dpkg --get-selections
Para gravar isso em um arquivo basta usar os recursos de redireção da shell assim:
$ dpkg --get-selections > lista-de-pacotes.txt
Outra maneira de se obter uma lista de pacotes é executando:
$ dpkg -l
As linhas que começam com "ii" mostram os pacotes instalados, as linhas que começam com "rc" mostram pacotes que já estiveram instalados, foram removidos mas continuam com seus arquivos de configuração instalados. Para remover de vez os arquivos de configuração use a opção --purge ao remover (tanto no APT quanto no dpkg).
Depois de conseguir a lista de pacotes com dpkg --get-selections, você quer definir aquela mesma seleção de pacotes para outra instalação, basta usar o comando:
# dpkg --set-selections < lista-de-pacotes.txt
E usar:
# dselect install
para completar a instalação a partir da mídia disponível (normalmente um CD ou um mirror do Debian, depende das fontes que foram configuradas no APT.)
É possível usar a função set-selections com apenas um pacote. Usamos isso para manter um pacote numa mesma versão. Isso é útil em casos em que se quer usar uma versão específica de um programa.
Por exemplo: eu costumo fazer alterações no gdm para que ele tenha dois botões a mais e, portanto, não quero que uma atualização seja feita nesse pacote até que eu tenha preparado minhas modificações no próximo. Para fazer isso, basta usar:
# echo nomedopacote hold | dpkg --set-selections
Isso vai prender o pacote nomedopacote na versão atual. Para voltar ao estado normal:
# echo nomedopacote install | dpkg --set-selections
Para procurar um pacote para instalação você pode usar o Dselect (veja Instalar pacotes com Dselect, Seção 2.4)
ou a ferramenta apt-cache
da seguinte forma:
$ apt-cache search palavra-chave
Palavra chave pode ser qualquer palavra que tenha a ver com o que você quer. Ela será procurada na descrição do pacote e em seu nome.
kov@debian.org