Jak określić rozmiar pakietu podczas korzystania z apt przed pobraniem?


29

Podczas używania apt-get install <package_name>, a istnieją zależności, które należy pobrać, terminal wysyła nazwy dodatkowych pakietów i całkowity rozmiar i prosi o potwierdzenie przed pobraniem.

Ale kiedy zależności są spełnione i nie trzeba pobierać nic oprócz nazwanego pakietu, nie ma wyjściowego rozmiaru ani potwierdzenia.

Korzystając z Synaptic, widzę całkowity rozmiar, który będą używane nowe pakiety po instalacji, ale nie ma sposobu, aby zobaczyć rozmiar, który należy pobrać, z wyjątkiem przechodzenia między pakietami i używania właściwości, aby zobaczyć skompresowany rozmiar.

Chciałbym wiedzieć, czy istnieje sposób, aby sprawdzić rozmiar pakietu (-ów) w terminalu i Synaptic przed pobraniem i zainstalowaniem go / nich?

Odpowiedzi:


27

W terminalu, dla pojedynczej paczki:

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

dla więcej niż pakietu:

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

Nie mam pojęcia o Synaptic.


co to jest JEDNOSTKA?
tatsu

Myślę, że Sizeto bajty i Installed-SizeKiB, ale nie wiem, czy jest to gdziekolwiek zdefiniowane. Np. Wersje Firefox:apt-cache show firefox | grep -E "Package:|Version:|Size:"
Mikko Rantalainen

Zamierzony ludzki CLI jest obecnie apt. Na przykładapt show firefox | grep Size
Mikko Rantalainen

Znaleziono dokumentację: apt-cache showdebian/controlInstalled-Size
Wyemituje

11

apt-cache show <package>lub aptitude show <package>pokaże więcej informacji o paczce, w tym o jej rozmiarze.

Tylko dla rozmiaru paczki możesz użyć:

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

lub

aptitude show <package> | grep 'Uncompressed Size'

Do .debpakietów możesz użyć:

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

1
Czy pokaże również wielkość zależności?
Tachyons

@Tachyons Pytanie brzmi: „ Czy jest jakiś sposób, aby uzyskać rozmiar paczki? ”. Jeśli interesuje Cię rozmiar zależności, możesz użyć przycisku Zadaj pytanie , aby zadać kolejne pytanie.
Radu Rădeanu

1
Ale uwzględnienie wielkości dep może sprawić, że twoja odpowiedź będzie skuteczna. po prostu proponuję mój przyjaciel, :)
rɑːdʒɑ

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

3
Dla mnie zwraca 68 ... MB? GB? Łyżki
puk

5

Możesz użyć trybu „pracy na sucho”, który udaje, że pobiera i instaluje pakiety

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

Próbowałem, ale nie widzę rozmiaru. Linia: Musisz zdobyć x archiwów. Po rozpakowaniu zostanie użyte x. nie pokazuje.

1
Przepraszam, to powinno być aptitude, a nie apt-get (mam na to alias powłoki). Zaktualizowano To rozwiązanie ma tę zaletę, że pokazuje to, co naprawdę musisz pobrać (nie liczy już zainstalowanych zależności).
Adam Byrtek,

5

Jest to również właściwe, ale rozmiar jest wyświetlany w bajtach. I ten rozmiar pokazy w lepszej formie, ale jeśli opakowanie jest bardzo małych rozmiarów (powiedzmy <1MB), a następnie w-mimo echo 'n'to będzie zainstalować pakiet (ponieważ w tym przypadku, apt nie prompt).

Więc skorzystać --no-downloadz --assume-noco następuje:

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

Tutaj --no-downloadargumentuje, aby nie pobierać pakietu i --assume-nojest za przyjęciem no ( n) w przypadku jakiegokolwiek monitu.

Przykład:

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

Ta odpowiedź jest świetna, ponieważ obejmuje również zależności. Aby pokazać „rzeczywistą” pamięć, która zostanie wykorzystana, grep dla „dodatkowego miejsca na dysku”
Panki

0

Możesz wypróbować poniższe polecenie, aby zobaczyć rozmiar archiwów potrzebnych do pobrania dla konkretnego pakietu.

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

Odpowiedź @enzotib jest dobra, ale pokazuje rozmiar archiwów, które należy pobrać w innym formacie innym niż MB. Ale to polecenie pokaże rozmiar w Mb.

Przykład:

$ 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>wciąż gwiazdy instalują pakiet, jeśli ma bardzo mały rozmiar
Pandya
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.