Como determinar o tamanho de um pacote usando o apt antes do download?

29

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 do download.

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

Ao usar o Synaptic, posso ver o tamanho total que os novos pacotes usarão após a instalação, mas não há como 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 no terminal e no Synaptic antes de fazer o download e instalá-lo?

Seth
fonte

Respostas:

27

No terminal, para um único pacote:

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

para mais de um pacote:

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

Eu não tenho idéia sobre Synaptic.

enzotib
fonte
que UNIDADE é essa?
tatsu 4/03
Eu acho que Sizeé bytes e Installed-Sizeé KiB, mas não sei se isso está definido em qualquer lugar. Por exemplo, versões do Firefox:apt-cache show firefox | grep -E "Package:|Version:|Size:"
Mikko Rantalainen
Atualmente, a CLI humana pretendida é atualmente apt. Por exemplo,apt show firefox | grep Size
Mikko Rantalainen
Encontrou a documentação: apt-cache showEmitirá o valor real especificado no arquivo em que debian/controla documentação Installed-Sizepode ser encontrada aqui: debian.org/doc/debian-policy/…
Mikko Rantalainen
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 .debpacotes você pode usar:

dpkg-deb -I <package>.deb | grep Installed-Size
Radu Rădeanu
fonte
11
Também mostrará o tamanho das dependências?
Tachyons
@ Tachyons A pergunta é: " Existe alguma maneira de obter o tamanho do pacote? ". Se você estiver interessado no tamanho das dependências, use o botão Fazer pergunta para fazer outra pergunta.
Radu Rădeanu 29/07
11
Mas incluir o tamanho dos dep's pode tornar sua resposta eficiente. apenas sugestão meu amigo, :) #
294
11
@Jaidpkg-deb -I <package>.deb | grep Installed-Size
Radu Rădeanu
3
Para mim, ele retorna 68 ... MB? GB? Colheres?
puk
5

Você pode usar o modo "dry run", que apenas finge 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.
Adam Byrtek
fonte
Tentei, mas não vejo o tamanho. A linha: Precisa obter x de arquivos. Após descompactar, x será usado. não aparece.
11
Desculpe, isso deve ser o aptitude, não o apt-get (eu tenho um apelido de shell para isso). Atualizada. Esta solução tem a vantagem de mostrar o que você realmente precisa baixar (não conta as dependências já instaladas).
21711 Adam Byrtek
5

Isso também é correto, 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 <1 MB), apesar deecho 'n' disso, ele instalará o pacote (porque, nesse caso, o apt não solicita).

Então, você usa --no-downloadcom --assume-noo seguinte:

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

Aqui --no-downloadargumenta para não baixar o pacote e --assume-noé para supor que não (n ) em 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.
Pandya
fonte
Essa resposta é ótima porque também inclui dependências. Para mostrar o armazenamento 'real' que será usado, grep para 'espaço em disco adicional' #
Panki
0

Você pode tentar o comando abaixo para ver o tamanho de arquivos necessários para o download de um pacote específico.

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

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

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 $4,$5}'
44.4 MB
Avinash Raj
fonte
echo 'n' | sudo apt-get install <package>ainda estrelado pacote de instalação, se é de tamanho muito pequeno
Pandya