Como posso listar todos os pacotes instalados por mim?

3

Eu estou tentando limpar um pouco minha instalação, então decidi limpar um pouco meus pacotes. No entanto, estou tendo problemas com isso: Meu desejo é fazer com que apt-get listem todos os pacotes instalados por mim. Se eu listar todos os pacotes, também vejo as dependências dos meus pacotes, embora não esteja interessado neles. Por exemplo, quero ver que instalei lightyears , mas não quero ver os pacotes instalados ao lado, como python-numpy or python-pygame . Existe uma maneira de fazer isso?

    
por Max Beikirch 09.04.2013 / 21:37

3 respostas

3

É um hack rápido, mas isso me deixa muito perto:

manifest='http://releases.ubuntu.com/raring/ubuntu-13.04-beta2-desktop-amd64.manifest'

comm -2 -3 \
  <(apt-mark showmanual | sort) \
  <(curl --silent "$manifest" | grep --perl-regexp --only-matching '^[\w-.+]+' | sort)

Você terá que procurar o manifesto do pacote para sua versão do Ubuntu a partir do servidor de versões .

Este método ainda retorna alguns pacotes que foram selecionados através do prompt de instalação do Suporte a Idiomas e instalar caixa de seleção de software de terceiros , mas dependendo das suas necessidades, pode ser bom o suficiente.

    
por ændrük 09.04.2013 / 23:16
3

Eu acho que não há nenhum comando que permita que você obtenha essa informação diretamente, mas você pode obter essa informação inspecionando os logs do APT. O APT armazena um histórico de comandos em /var/log/apt/history.log , com entradas com o seguinte formato:

Start-Date: ** time when command was issued **
Commandline: ** command used **
Install | Upgrade | Remove: ** packages installed/upgraded/removed to satisfy the command **
End-Date: ** time when command have finished **

Os comandos digitados por você devem aparecer conforme você digitou (assim, sudo apt-get install numpy aparecerá como Commandline: apt-get install numpy ). No meu sistema, os outros únicos comandos que aparecem neste log são de aptdaemon , que devem ser emitidos pelo Update Manager.

Por favor note que este registro é rotacionado de tempos em tempos, então você pode não ter todos os comandos emitidos por você desde o começo, ou você pode precisar extrair uma parte compactada dele. Além disso, se você tiver vários usuários, acho que não será capaz de saber qual deles instalou o que.

    
por Salem 09.04.2013 / 22:19
0

Estou tentando isso:

  1. vá buscar o arquivo "manifest" da sua versão como mencionado por ændrük acima
  2. %código% para obter uma lista de todos os pacotes apt-mark considera instalado manualmente
  3. elimine os dups entre essas listas, mantendo o restante da saída do apt-mark showmanual

Eu não sei se isso realmente funciona, mas parece muito provável para mim. Qualquer pensamento ???

    
por sam 09.06.2014 / 17:24