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?

Seth
źródło

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.

enzotib
źródło
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
Radu Rădeanu
źródło
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.
Adam Byrtek
źródło
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.
Pandya
źródło
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
Avinash Raj
źródło
echo 'n' | sudo apt-get install <package>wciąż gwiazdy instalują pakiet, jeśli ma bardzo mały rozmiar
Pandya