Listando pacotes instalados com dpkg

Publicado por Marcos Fiszer em 11/01/2007

[ Hits: 105.890 ]

Blog: http://linuxercolossos.blogspot.com/

 


Listando pacotes instalados com dpkg



Depois de algum tempo com o sistema operacional funcionando, geralmente já teremos tantos programas instalados que alguns podem ficar esquecidos. Então vem o dia de reinstalar o sistema, por diversos motivos, e aquele programinha que tanto gostamos não conseguimos mais lembrar o nome para reinstalá-lo, como fazer então?

Simples, caso você utilize um sistema baseado em Debian, tem um comando que gera uma lista dos pacotes instalados. Vamos lá.

1 - Abra o terminal/konsole.

2 - digite o seguinte comando, como usuário comum mesmo:

$ dpkg --get-selections > Lista-Pacotes.txt

3 - Pronto, o arquivo "Lista-Pacotes.txt" foi salvo no seu diretório padrão com a lista dos programas instalados. Simples assim.

Outras dicas deste autor

GULZO - Grupo de Usuários Linux da Zona Oeste do Rio de Janeiro

Leitura recomendada

Planilha para facilitar definição de máscara no chmod

Redirecionamento de portas IPtables

Matando todos os processos de um usuário

Recuperando GRUB do Mageia Linux

Executando proteção de tela no modo texto

  

Comentários
[1] Comentário enviado por lanux em 14/01/2007 - 01:46h

Caso queira saber se um determinado pacote (exemplo, lame) está instalado, faça:

$ dpkg -l |grep lame


[2] Comentário enviado por tuliouel em 09/03/2007 - 12:04h

O artigo não esclarece, de forma nenhuma, como posso fazer pra utilizar o arquivo gerado (Lista-Pacotes.txt) para reinstalar de forma automatizada os pacotes no caso de eu precisar formatar a máquina, que é exatamente a hipótese levantada no próprio artigo. Se o arquivo gerado tiver MIL pacotes, terei que ficar digitando apt-get install para cada um dos mil pacotes???

[3] Comentário enviado por mdfiszer em 09/03/2007 - 12:38h

Olá tuliouel,

A idéia em disponibilizar esta dica foi bem mais simples do que você interpretou,que é APENAS de ter a lista completa dos programas instalados para depois numa nova instalação do S.O o usuário escolher os programas que vai reinstalar mas não lembra o nome,sacou?Para iso basta utilizar o synaptic,caso use um sistema debian, ou o velho apt-get install <programa1>,<programa2>,<programa3>.
Nunca foi minha intenção automatizar a instalação dos programas com um script,por isso só disponibilizei um comando simples,mas apenas ter uma lista que possa servir de referência para minhas escolhas.
No caso de uma reinstalação do sistema considero bom rever o que se tinha instalado antes e pensar na real necessidade de reinstalar tudo de novo,talvez não seja necessário,por isso a idéia da lista,para APENAS LEMBRAR,o que existia antes.
Aqui mesmo no VOL deve ter scripts que fazem o que você quer,ou então tu mesmo pode desenvolver um em Shell Script e colocar aqui.
Espero ter esclarecido sua dúvida.

Boa sorte!

[4] Comentário enviado por ddallas em 31/05/2008 - 08:35h

Lista pacotes...gostaria de um que listasse softwares.

[5] Comentário enviado por mdfiszer em 31/05/2008 - 13:08h

Olá ddallas

Nos sitemas linux geralmente o termo "pacotes" é sinônimo de programa,talvez seja possivel refinar a saída do comando,mas para isso teríamos de usar outros comandos e parâmetros e talvez até expressões regulares,por fim teríamos um script bem complexo,coisa que esta dica não se propõe.A dificuldade que você vai ter é procurar na lista-Pacotes.txt os nomes dos programas propriamente ditos,como por exemplo "firefox",pois a lista sairá com tudo que estiver instalado,inclusive as famosas libs.
Para saber mais sobre este interessante assunto leia esta parte do FocaLinux: "20.1.11 Mostrando a lista de pacotes do sistema" & "20.1.12 Obtendo uma lista de pacotes para instalar no sistema" . Boa leitura!
http://focalinux.cipsga.org.br/guia/inic_interm/ch-dpkg.htm#s-dpkg-get-selections

[6] Comentário enviado por dgazineu em 23/05/2009 - 11:34h

Pessoal:

Pra usar a lista gerada e instalar os pacotes em outra máquina, basta usar o comando: "dpkg --set-selections < Lista-Pacotes.txt && apt-get dselect-upgrade"

Abc,

[7] Comentário enviado por mdfiszer em 23/05/2009 - 12:32h

Olá dgazineu,

Seu comentário resolve as dúvidas do pessoal,eu até já conhecia,não coloquei porque pode acontecer inconsistẽncias,pacotes quebrados,etc na reinstalação dos pacotes da Lista-Pacotes.txt em um sistema novo,principalmente se é outra versão do sistema operacional,claro se o sistema operacional estiver na mesma versão de antes provavelmente nada de mal acontecerá. Um exemplo:

Na Lista-Pacotes.txt consta linux-image-2.6.28-11-generic ,então ao rodar o comando citado será instalado os pacotes selecionados na Lista-Pacotes.txt, restaurando a instalação,só isso. Entretanto se o sistema operacional for de uma versão mais nova provavelmente estes pacotes da lista estarão obsoletos,sem falar que o comando "dpkg --set-selections < Lista-Pacotes.txt && apt-get dselect-upgrade" restaura toda a lista com todas as libs de direito (geralmente são muitas!),não elimina os pacotes que a pessoa não quer, é preciso ter atenção com o apt-get, afinal é uma ferramenta poderosa. Atentando para este cuidado a dica do dgazineu é perfeita.
Finalmente,por isso que minha intenção foi apenas criar a lista para a pessoa ter oportunidade de avaliar com calma se realmente vai precisar de tudo que está listado,caso não,a solução é simples: Apague da lista o que não quer e use o comando "dpkg --set-selections < Lista-Pacotes.txt && apt-get dselect-upgrade" ,conforma a dica do dgazineu,para restaurar o restante,não se esqueça,use com cuidado,seja criterioso! Vocẽ foi avisado!

[8] Comentário enviado por filipo_tardim em 18/02/2010 - 00:31h

Existe alguma maneira de remover também? Tipo, o apt lê o arquivo, verifica que o sistema tem mais pacotes instalados que na lista e remove os que não estão nela.

[9] Comentário enviado por mdfiszer em 18/02/2010 - 20:00h

Eu nunca fiz isso que vocẽ perguntou, por isto não sei te informar no momento, mas deve ser possível através de uma combinação de comandos ou criando um pequeno script em shell, dá uma lida neste capítulo do focalinux, talvez ajude: http://focalinux.cipsga.org.br/guia/inic_interm/ch-dpkg.htm#s-dpkg-r

Se eu descobrir como fazer posto aqui a resposta.

[10] Comentário enviado por marconm em 23/04/2010 - 22:52h

ola tudo bem eu tenho uma duvida ... eu baixei algunas aquivos por exemplo o pacote de plugin do java6
e copiei para outra pasta por exemplo /home/usuario/tool/java
e se eu quiser criar uma lista tipo "update.txt" somente do que tem nesta pasta tem como ??????

[11] Comentário enviado por tatupheba em 09/12/2010 - 20:52h

Olá pessoal,

Complementando a dica:
O comando:

dpkg --get-selections | egrep -iv ".*lib.*|.*deinstall.*|^linux.*" > programasInstalados.list

Gera um arquivo com todos os programas instalados menos as libs, os pacotes marcados para remoção e o kernel linux.

Saúde e liberdade!

[12] Comentário enviado por rafiwskis em 22/10/2012 - 16:50h

Mais uma dica boa: vá no gedit, use procurar e substituir, e substitua todos os \t (tab) e \n (nova linha) por espaços para gerar uma sequência linear. Após isso, escreva:
apt-get -y install [sua sequência]
para instalar a lista de pacotes na máquina.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts