Como determinar o tamanho de um pacote ao usar o apt antes de fazer o download?

26

Ao usar apt-get install <package_name> , e há dependências que precisam ser baixadas, o terminal gera nomes de pacotes adicionais e tamanho total e solicita confirmação antes de fazer o download.

Mas, quando as dependências são satisfeitas e nada além do pacote chamado precisa ser baixado, não há saída de tamanho e nenhuma confirmação.

Ao usar o Synaptic, posso ver o tamanho total dos novos pacotes que serão usados após a instalação, mas não é possível ver o tamanho que precisa ser baixado, exceto para ir de pacote para pacote e usar propriedades para ver o tamanho compactado.

Gostaria de saber se existe uma maneira de ver o tamanho de um pacote (s) no terminal e no Synaptic antes de fazer o download e instalá-lo (s)?

    
por Seth 19.04.2011 / 16:46

5 respostas

26

No terminal, para um único pacote:

apt-cache --no-all-versions show $package | grep '^Size: '

por mais de um pacote:

apt-cache --no-all-versions show $packages | 
    awk ' == "Package:" { p =  }
          == "Size:"    { printf("%10d %s\n", , p) }'

Eu não tenho ideia sobre o Synaptic.

    
por enzotib 19.04.2011 / 16:56
11

apt-cache show <package> ou aptitude show <package> mostrará mais informações sobre um pacote, incluindo seu tamanho.

Apenas para o tamanho do pacote, você pode usar:

apt-cache show <package> | grep Installed-Size

ou

aptitude show <package> | grep 'Uncompressed Size'

Para pacotes .deb , você pode usar:

dpkg-deb -I <package>.deb | grep Installed-Size
    
por Radu Rădeanu 29.07.2013 / 18:05
5

Você pode usar o modo "dry run", que apenas pretende baixar e instalar pacotes

$ aptitude install -sy xlockmore
The following NEW packages will be installed:
  xlockmore 
0 packages upgraded, 1 newly installed, 0 to remove and 27 not upgraded.
Need to get 194 kB of archives. After unpacking 373 kB will be used.
Would download/install/remove packages.
    
por Adam Byrtek 19.04.2011 / 20:25
4

Este também está certo, mas o tamanho é exibido em bytes. E isso mostra o tamanho em um formato melhor, mas se o pacote for de tamanho muito pequeno (digamos & lt; 1MB), então, apesar de echo 'n' instalará o pacote (porque nesse caso, o apt não solicita).

Então, você usa --no-download com --assume-no da seguinte forma:

sudo apt-get --no-download --assume-no install <package_name> | grep 'Need to get'

Aqui --no-download argumenta que não faz o download do pacote e --assume-no é para assumir que não ( n ) no caso de qualquer prompt.

Exemplo:

$ sudo apt-get --no-download --assume-no install ttf-devanagari-fonts 2>/dev/null | grep 'Need to get'
Need to get 938 kB of archives.
    
por Pandya 13.03.2016 / 05:46
0

Você pode tentar o comando abaixo para ver o tamanho dos arquivos que precisam ser baixados para um pacote específico.

echo 'n' | sudo apt-get install package | awk '/^Need to get/ {print ,}'

A resposta do @enzotib é boa, mas mostra o tamanho dos arquivos que precisam ser baixados em algum outro formato que não esteja no mb. Mas este comando mostrará o tamanho em Mb's.

Exemplo:

$ apt-cache --no-all-versions show chromium-browser | grep '^Size: '
Size: 41493718

$ echo 'n' | sudo apt-get install chromium-browser | awk '/^Need to get/ {print ,}'
44.4 MB
    
por Avinash Raj 01.06.2014 / 11:13