it-swarm.com.de

Wie ermittle ich die Größe eines Pakets, während ich apt verwende, bevor ich es herunterlade?

Wenn apt-get install <package_name> verwendet wird und Abhängigkeiten heruntergeladen werden müssen, gibt das Terminal die Namen zusätzlicher Pakete und die Gesamtgröße aus und fordert vor dem Herunterladen eine Bestätigung an.

Wenn jedoch die Abhängigkeiten erfüllt sind und nur das angegebene Paket heruntergeladen werden muss, erfolgt keine Größenausgabe und keine Bestätigung.

Wenn Sie Synaptic verwenden, wird die Gesamtgröße der neuen Pakete angezeigt, die nach der Installation verwendet werden. Es ist jedoch nicht möglich, die Größe zu ermitteln, die heruntergeladen werden muss. Sie müssen lediglich von Paket zu Paket wechseln und Eigenschaften verwenden, um die komprimierte Größe anzuzeigen.

Ich möchte wissen, ob es eine Möglichkeit gibt, die Größe eines Pakets in Terminal und Synaptic zu ermitteln, bevor es heruntergeladen und installiert wird.

28
user14590

Im Terminal für ein einzelnes Paket:

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

für mehr als ein paket:

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

Ich habe keine Ahnung von Synaptic.

26
enzotib

apt-cache show <package> oder aptitude show <package> zeigt weitere Informationen zu einem Paket an, einschließlich seiner Größe.

Nur für die Paketgröße können Sie Folgendes verwenden:

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

oder

aptitude show <package> | grep 'Uncompressed Size'

Für .deb -Pakete können Sie Folgendes verwenden:

dpkg-deb -I <package>.deb | grep Installed-Size
11
Radu Rădeanu

This ist auch richtig, aber die Größe wird in Bytes angezeigt. Und this zeigt die Größe in einem besseren Format an, aber wenn das Paket sehr klein ist (sagen wir <1 MB), wird das Paket trotz _echo 'n'_ installiert (weil in diesem Fall apt dies nicht tut) Prompt).

Sie verwenden also --no-download mit _--assume-no_ wie folgt:

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

Hier _--no-download_ argumentiert, dass das Paket nicht heruntergeladen werden soll, und _--assume-no_ geht davon aus, dass für den Fall einer Eingabeaufforderung kein (n) vorhanden ist.

Beispiel:

_$ 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.
_
5
Pandya

Sie könnten den "Probelauf" -Modus verwenden, der nur vorgibt, Pakete herunterzuladen und zu installieren

$ 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.
5
Adam Byrtek

Mit dem folgenden Befehl können Sie die Größe der Archive ermitteln, die für ein bestimmtes Paket heruntergeladen werden müssen.

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

@enzotib Antwort ist gut, aber es zeigt die Größe der Archive, die in einem anderen Format heruntergeladen werden müssen, nicht in MB. Dieser Befehl zeigt jedoch die Größe in MB an.

Beispiel:

$ 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
0
Avinash Raj