Quais pacotes de software instalados usam mais espaço em disco no Debian?

64

O espaço em disco na minha partição raiz está acabando, portanto, quero excluir alguns aplicativos do sistema. Como posso ver quais pacotes de software usam mais espaço em disco? É possível ver isso de aptitude ?

Eu sei sobre analisadores de espaço em disco genéricos como df ou baobab , mas preciso de soluções para aplicativos instalados.

    
por Mirzhan Irkegulov 10.06.2012 / 18:43

9 respostas

45

O mais fácil é executar wajig large . O pacote deve ser um apt-install -away.

Veja dois links para outras formas de fazer isso:

Lembre-se também que o tamanho instalado é apenas parte do espaço ocupado pelos pacotes. A versão compactada provavelmente ainda está no cache e isso ocupa algum espaço também. Você pode remover aqueles com apt-get clean .

    
por 10.06.2012 / 18:54
77

A maneira mais fácil (sem instalar pacotes extras) é:

dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -n

que exibe os pacotes na ordem de tamanho, o maior pacote por último.

Infelizmente, pelo menos em alguns sistemas, esta lista inclui pacotes que foram removidos, mas não eliminados. Todos esses pacotes podem ser removidos executando:

dpkg --list |grep "^rc" | cut -d " " -f 3 | xargs sudo dpkg --purge

Ou, se você não quiser limpar os pacotes desinstalados, use essa variante para filtrar os pacotes que não estão no estado 'instalado' da lista:

dpkg-query -Wf '${db:Status-Status} ${Installed-Size}\t${Package}\n' | sed -ne 's/^installed //p'|sort -n
    
por 29.12.2013 / 19:48
21

Como você deseja see which [installed] software packages use the most disk space[,] from aptitude ... claro, você pode usar aptitude ! através do seu CLI ou {interactiva, TUI, não-CLI} awesomeness. Vamos discutir primeiro o CLI, depois o TUI. De qualquer forma, você só precisa saber o

  • opções de linha de comando a serem usadas. O texto a seguir usa opções longas (para facilitar a pesquisa de documentação), mas é claro que opções curtas também estão disponíveis.
  • argumento de linha de comando para usar
  • string de formato de saída para usar

A linha de comando mais básica para mostrar quais pacotes de software instalados usam mais espaço em disco é provavelmente

aptitude search --sort '~installsize' --display-format '%p %I' '~i' | head

então vamos dividir isso:

  • --sort é a ordem de classificação do pacote e ~installsize especifica uma política de classificação de pacotes .
  • installsize significa 'ordenar (estimado) o tamanho instalado', e o anterior ~ significa ordenar descendente (uma vez que o padrão para todas as políticas de ordenação é ascendente).
  • --display-format altera o <you guessed :-> . A string de formato '%p %I' informa aptitude ao nome do pacote de saída e, em seguida, ao tamanho instalado .
  • '~i' diz ao aptitude para pesquisar apenas os pacotes instalados.
  • ... e, a menos que você tenha muito poucos pacotes instalados (minha estação de trabalho Debian genérica tem mais de 2400), você quer redirecionar para head ou less ou um arquivo, ou talvez apenas wc -l para ver quantas linhas aptitude estarão retornando.

Você também pode querer

  1. especifique a largura da linha (em caracteres) para aptitude a ser usada ao exibir, com --width <your desired integer value/> . aptitude será o padrão para o que acredita ser sua largura de terminal, mas às vezes adivinha errado, e às vezes você quer gravar em um arquivo, etc.
  2. exiba mais informações na sua string de formato ou altere as larguras dos campos. Por exemplo, minha string de formato aprimorado '%30p %I %r %60d' exibe

    • %30p : nome do pacote na largura do campo = 30 char
    • %I : tamanho estimado da instalação
    • %r : 'reverse depends count': número aproximado de outros pacotes instalados que dependem deste pacote
    • %60d : descrição resumida do pacote na largura do campo = 60 char

Observe que, se você não vir alterações em seu campo de saída, provavelmente precisará definir --width .

... e você também pode fazer esse tipo de coisa na {interactive, TUI} aptitude . Por exemplo, para definir a preferência de formato de exibição,

  • clique ou navegue para Opções- > Preferência
  • desloque-se para O formato de apresentação das vistas do pacote
  • adicione %I ao valor atual na posição desejada

Para limitar a pesquisa a pacotes instalados no aptitude interativo,

  • pressione l (minúscula L )
  • insira ~i na caixa de diálogo

Para classificar no tamanho instalado no aptitude interativo,

  • pressione Shift-S (maiúscula S )
  • insira installsize na caixa de diálogo

Referências:

  • para os padrões de pesquisa do pacote aptitude , consulte o link
  • para as políticas de tipo de pacote aptitude , consulte o link
  • para o formato de exibição aptitude output, consulte link
por 22.01.2014 / 18:30
6

Primeiro de tudo, use uma ferramenta como baobab ( sudo apt-get install baobab ) para mostrar onde esse espaço está sendo usado:

Issolhedaráumaboavisãogeralgráficaeajudarávocêadescobriroqueestáocupandoseuespaço.Vocêtambémpodeobteressasinformaçõesnalinhadecomandousandodu:

$sudodu-ch/

Passeporsort(assumindooGNUsort,quedeveserocasonoDebian)paraclassificarportamanhodediretório:

$sudodu-ch/|sort-h

Comopróximopasso,vocêpodeverquantoespaçoumdeterminadopacoteestáusandocomestecomando:

$sudoapt-get--assume-no--purgeremove"PACKAGE_NAME" | grep "be freed" | 
   awk '{print $4, $5}' 

No meu sistema, por exemplo, a remoção de todos os pacotes texlive liberará 1.502 MB:

$ sudo apt-get --assume-no --purge remove "texlive*" | grep "be freed" | 
   awk '{print $4, $5}' 
1,502 MB

Por fim, você pode obter essas informações para todos pacotes instalados com este comando:

$ for i in $(dpkg -l | awk '($1=="ii"){print $2}'); do  
    echo -e "$i\t"$(sudo apt-get --assume-no --purge remove "$i" | 
                    grep "be freed" | awk '{print $4, $5}'); 
  done
    
por 22.01.2014 / 18:11
6

Caso você não queira instalar o wajig. Eu imagino que todos tenham debian-goodies instalados:

dpigs              - Show which installed packages occupy the most space
    
por 22.01.2014 / 21:09
3

Você pode usar o pacote wajig e o comando

wajig large

A ajuda explica o que isso faz.

wajig large -h

usage: wajig large [-h]

List size of all large (>10MB) installed packages

Veja também a página do projeto .

    
por 22.01.2014 / 19:05
3

para adicionar outras respostas, se você gosta de linha de comando você pode usar o bom e velho durep

# durep -td 1 /etc                         # or -td 2
[ /etc   319.4K (60 files, 43 dirs) ]
  90.2K [########                      ]  28.26% apache2/
  27.5K [##                            ]   8.62% apt/
  23.7K [##                            ]   7.43% mime.types
  19.7K [#                             ]   6.18% cron.daily/
  18.7K [#                             ]   5.87% services
  18.0K [#                             ]   5.64% security/
  14.7K [#                             ]   4.61% init.d/
  13.2K [#                             ]   4.13% ssl/
  11.1K [#                             ]   3.48% ld.so.cache
   9.0K [                              ]   2.81% locale.gen
   7.8K [                              ]   2.43% pam.d/
   4.5K [                              ]   1.42% default/
   4.3K [                              ]   1.35% skel/
   2.9K [                              ]   0.92% locale.alias

Provavelmente, você pode liberar espaço usando localepurge

# dpkg-reconfigure localepurge
# localepurge
localepurge: Disk space freed in /usr/share/locale: 26160 KiB
localepurge: Disk space freed in /usr/share/man: 1304 KiB

Total disk space freed by localepurge: 27464 KiB

Finalmente, você provavelmente pode se livrar de ícones e fontes que às vezes podem ocupar muito espaço. Veja detalhes neste site

link

(exemplos extraídos de ownyourbits)

    
por 22.02.2017 / 08:49
1

Adicionando mais algumas ferramentas à lista, sempre usei debfoster e deborphan em meus sistemas. Eles são mais úteis para caçar dependências antigas que ficam por aí depois de atualizações.

apt-get autoremove é ótimo, mas não recebe tudo e, como segue as marcas de instalação, nem sempre sabe o que deseja manter. Usar apt-mark permite direcioná-lo até certo ponto.

Verifique também: link

    
por 11.04.2018 / 20:34
0

Embora seja uma boa coleção de ferramentas, às quais eu adicionaria o KDE / QT Filelight, que é semelhante a outras ferramentas de uso de espaço em disco gui, não é a resposta literal para o título do tópico.

Se você pegar a questão deste encadeamento literalmente, ou seja, quais são os maiores pacotes no seu sistema, como regra, eles são:

O conjunto de pacotes libreoffice, que não é um pacote único, mas é realmente grande.

O kernel linux e os pacotes de cabeçalho associados vem em segundo lugar, e se você tem vários kernels instalados, o que a maioria dos sistemas tendem a ter, cada um é em torno de 135 mB de espaço em disco, mais ou menos a cada ano, mas é sobre isso grande. Se você usar drivers de vídeo não gratuitos, também haverá os pacotes / arquivos de drivers associados. Note que, como com o libreoffice, cada kernel pode realmente ser composto de 2 ou 3 pacotes, os pacotes de imagem, cabeçalho e driver, portanto, um literal por contagem de tamanho de pacote não é realmente exato, exceto para obter um bom senso. / p>

Depois disso, não há um grande número de pacotes massivos no conjunto de pacotes do Debian que conheço.

Acho que quando a partição raiz começa a ficar grande o suficiente para começar a pensar em como se livrar de pacotes para reduzi-la, geralmente é hora de mover / redimensionar para uma partição raiz maior.

apt-get clean, claro, é a primeira coisa a correr, para se livrar de todos os arquivos .deb em cache, mas depois de remover isso, e todos, mas dizem 2 kernels, se você ainda está preso com espaço insuficiente , é mais prático aumentar o tamanho da partição já que os limpezas etc. são apenas bandeiras vermelhas que estão sendo executadas perto do espaço de partição raiz, o que pode ser um problema real se o apt não tiver espaço suficiente em / var para realmente baixar e extrair pacotes para uma atualização. Limpar por ações de remoção de arquivos de configuração remanescentes de pacotes removidos não fará nenhum bem a todos em termos de recuperar espaço em disco, uma vez que eles são pequenos, mas é bom fazer isso de vez em quando apenas para limpar o lixo, mas não deve Não se pode confundir com qualquer espaço em disco significativo.

O

apt-get auto-remove também não é ruim, mas esteja ciente de que às vezes é errado que o pacote seja removido, então você deve verificar essa lista cuidadosamente antes de permitir que o apt remova o material. Tecnicamente, é melhor limpar essa lista, assim você se livra dos arquivos de configuração e, ao mesmo tempo, remove ou remove automaticamente, acredito que os deixe no lugar.

    
por 13.04.2016 / 01:52