Como faço para listar o software instalado com o tamanho instalado?


38

Eu gostaria de ter uma lista do software instalado na minha máquina, com o espaço em disco consumido por eles ao lado. Eu preferiria poder encomendar por maior / menor, mas isso não é uma necessidade.

Eu sou o tipo de pessoa que instalará o software para testá-lo e nunca limpará depois de mim.

Como resultado, minha partição Ubuntu 11.04 de 7 GB (Windows e meus dados estão em partições separadas, bem como em uma área de troca) está sofrendo e começou a mostrar regularmente mensagens de aviso.


Respostas:


23

Você pode fazer isso graficamente no Synaptic Instalar sináptico .

Primeiro, verifique se você ativou as colunas Tamanho instalado e Tamanho do download (ou apenas uma, se desejar).

  • Para fazer isso, vá para Configurações> Preferências e escolha Colunas e fontes e marque as colunas que deseja ver.
  • Depois clique em OK .

Janela Preferências

  • Uma vez ativados, é possível listar os pacotes que você instalou por tamanho de download / instalado, clicando na coluna.

Colunas

  • Observe: Eu não tenho meus pacotes listados dessa maneira nesta captura de tela, mas funciona.

Isto é precisamente o que eu estava procurando! Muito obrigado.
Lewis Goddard

@LewisGoddard: de nada.
RolandiXor

24
dpkg-query -W -f='${Installed-Size;8}  ${Package}\n' | sort -n

mostra uma lista de pacotes classificada por tamanho


3
Seria melhor se você pudesse mencionar a unidade do tamanho também.
jobin

Provavelmente kilobytes
Andreas Hartmann

1
o que há ;8dentro ${Installed-Size;8}?
N611x007

1
@naxa: Imprimir alinhado à direita com campos de largura de 8
Florian Diesch

18

Solução preferida

Encontrei uma resposta mais curta, não exigindo aptitude:

dpkg-query -Wf '${Installed-size}\t${Package}\n' | column -t

Solução proposta antiga

O showcomando de aptitudeé capaz de mostrar o tamanho instalado de um pacote.

Eu tenho esse pequeno script, que utiliza aptitude(para instalar separadamente) para ter uma lista de todos os pacotes instalados com tamanhos:

#!/bin/bash

export LC_ALL=C

aptitude show $(dpkg-query -Wf '${Package}\n') |
  awk '$1 == "Package:"     { name = $2 }
       $1 == "Uncompressed" { printf("%10s %s\n", $3, name) }' |
  awk '$1 ~ /k/ { $1 *= 1 }; $1 ~ /M/ { $1 *= 1024 }
       { printf("%9d %s\n", $1, $2)}'

O tamanho é expresso em kilobytes e é aproximado, conforme retornado por aptitude show pkg.

O script pode ser aprimorado usando uma única awkinvocação (mas eu sou preguiçoso :-)


1
Você pode querer jogar um cano sort -nk1no final desse primeiro comando.
Marco Ceppi

@MarcoCeppi: sim, não era a principal preocupação do OP, e geralmente deixo de lado os pedidos dos meus scripts, uma vez que podem ser aplicados de diferentes maneiras, conforme necessário.
enzotib 20/09/11

1
Isso também lista o software que não está mais instalado. Existe uma maneira de removê-los da saída?
Rumpel

Você deseja que uma soma desses pacotes direcione o primeiro comando para cut -f 1 | paste -sd+ | bc. Também é possível fazer o grep antes, cutpara que você possa obter o tamanho instalado de apenas pacotes específicos.
usar o seguinte código

5

Outra opção é usar o dpigsaplicativo do debian-goodiespacote:

NAME
   dpigs - Show which installed packages occupy the most space

SYNOPSIS
   dpigs [options]

DESCRIPTION
   dpigs sorts the installed packages by size and outputs the largest ones. Per
   default dpigs displays the largest 10 packages. You can change this value by
   using the -n option (see "OPTIONS"). The information is taken from the dpkg
   status file with grep-status(1).

OPTIONS
   -h, --help
       Display some usage information and exit.

   -n, --lines=N
       Display the N largest packages on the system (default 10).

   -s, --status=FILE
       Use FILE instead of the default dpkg status file (which is /var/lib/dpkg/status
       currently).

   -S, --source
       Display the largest source packages of binary packages installed on the system.

3

Você pode visualizar essa lista no gerenciador de pacotes baseado em terminal Aptitude:

  1. Abra o Aptitude com sudo aptitude.
  2. Pressione S(capital S) e digite ~installsizeno prompt. (A classificação ~é para decrescente; você pode omitir se quiser os menores pacotes no topo.)
  3. Até agora, os pacotes são classificados por tamanho dentro de cada nível hierárquico. Para obter uma visão geral, você desejará o mínimo de níveis possível. Pressione Ge entre statusno prompt. Agora todos os pacotes instalados estão em uma única seção, classificados por tamanho.

1

As outras respostas aqui listam pacotes instalados e desinstalados.

A seguir, lista apenas aqueles que estão atualmente instalados:

dpkg-query -W -f='${Installed-Size;8}\t${Status;1}\t${Package}\n' | grep -v "\sd\s" | sort -n | cut -f1,3-

O que faz:

  1. Consultar o tamanho instalado, status e nome de todos os pacotes
  2. Filtrar pacotes desinstalados
  3. Cortar a coluna de status da saída

A saída é semelhante a:

...
22376   vim-runtime
26818   linux-image-3.8.0-32-generic
28673   libc6-dbg
35303   libpython3.3-dev
40303   valgrind
40731   linux-firmware
41516   smbclient
58704   linux-headers-3.8.0-26
58733   linux-headers-3.8.0-32
93566   linux-image-extra-3.8.0-32-generic
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.