Comment déterminer la taille d'un package lors de l'utilisation d'apt avant le téléchargement?


29

Lors de l'utilisation apt-get install <package_name>, et des dépendances doivent être téléchargées, le terminal affiche les noms des packages supplémentaires et la taille totale, et demande une confirmation avant le téléchargement.

Mais, lorsque les dépendances sont satisfaites et que seul le package nommé doit être téléchargé, il n'y a pas de sortie de taille et aucune confirmation.

Lorsque j'utilise Synaptic, je peux voir la taille totale que les nouveaux packages utiliseront après l'installation, mais aucun moyen de voir la taille qui doit être téléchargée, sauf pour passer d'un package à un autre et utiliser les propriétés pour voir la taille compressée.

Je voudrais savoir s'il existe un moyen de voir la taille d'un ou de plusieurs packages dans le terminal et Synaptic avant de les télécharger et de les installer?

Réponses:


27

Dans le terminal, pour un seul package:

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

pour plus qu'un package:

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

Je n'ai aucune idée de Synaptic.


de quelle UNITÉ s'agit-il?
tatsu

Je suppose que ce Sizesont des octets et Installed-Sizeest KiB mais je ne sais pas si cela est défini quelque part. Par exemple, les versions de Firefox:apt-cache show firefox | grep -E "Package:|Version:|Size:"
Mikko Rantalainen

La CLI humaine prévue est de nos jours apt. Par exemple,apt show firefox | grep Size
Mikko Rantalainen

Trouvé la documentation: le apt-cache showémettra la valeur réelle spécifiée dans le fichier dont debian/controlla documentation Installed-Sizepeut être trouvée ici: debian.org/doc/debian-policy/…
Mikko Rantalainen

11

apt-cache show <package>ou aptitude show <package>affichera plus d'informations sur un package, y compris sa taille.

Pour la taille de l'emballage uniquement, vous pouvez utiliser:

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

ou

aptitude show <package> | grep 'Uncompressed Size'

Pour les .debpackages, vous pouvez utiliser:

dpkg-deb -I <package>.deb | grep Installed-Size

1
Montrera-t-il également la taille des dépendances?
Tachyons

@Tachyons La question est: " Existe-t-il un moyen d'obtenir la taille du paquet? ". Si vous êtes interesed sur la taille des dépendances, vous pouvez utiliser Poser une question bouton pour poser une autre question.
Radu Rădeanu

1
Mais y compris la taille des dépôts peut rendre votre réponse efficace. juste une suggestion mon ami, :)
rɑːdʒɑ

1
@Jaidpkg-deb -I <package>.deb | grep Installed-Size
Radu Rădeanu

3
Pour moi ça renvoie 68 ... Mo? GB? Des cuillères?
puk

5

Vous pouvez utiliser le mode "dry run", qui prétend simplement télécharger et installer des packages

$ 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.

J'ai essayé mais je ne vois pas la taille. La ligne: Besoin d'obtenir x d'archives. Après le déballage, x sera utilisé. ne s'affiche pas.

1
Désolé, cela devrait être aptitude not apt-get (j'ai un alias shell pour cela). Mis à jour. Cette solution a l'avantage de montrer ce que vous devez vraiment télécharger (ne compte pas les dépendances déjà installées).
Adam Byrtek

5

C'est également vrai, mais la taille est affichée en octets. Et cela montre la taille dans un meilleur format, mais si le paquet est de très petite taille (disons <1 Mo), malgré echo 'n'cela, il installera le paquet (car dans ce cas, apt ne demande pas).

Donc, vous utilisez --no-downloadavec --assume-nocomme suit:

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

Ici --no-download, il ne faut pas télécharger le package et --assume-noc'est pour supposer no ( n) en cas d'invite.

Exemple:

$ 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.

Cette réponse est excellente car elle inclut également des dépendances. Pour afficher le «vrai» stockage qui sera utilisé, grep pour «l'espace disque supplémentaire»
Panki

0

Vous pouvez essayer la commande ci-dessous pour voir la taille des archieves qui doivent être téléchargés pour un package particulier.

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

La réponse de @enzotib est bonne mais elle montre la taille des archives qui doivent être téléchargées dans un autre format qui n'est pas en mb. Mais cette commande affichera la taille en Mb.

Exemple:

$ 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

echo 'n' | sudo apt-get install <package>étoiles toujours en train d'installer le paquet s'il est de très petite taille
Pandya
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.