Як визначити розмір пакета під час використання apt перед завантаженням?


29

Під час використання apt-get install <package_name>та існують залежності, які потрібно завантажити, термінал виводить назви додаткових пакетів та загальний розмір і запитує підтвердження перед завантаженням.

Але, коли залежності задоволено, і нічого, крім названого пакету, не потрібно завантажувати, немає виводу розміру та підтвердження.

Під час використання Synaptic я бачу загальний розмір нових пакунків, які будуть використані після встановлення, але ніякого способу не побачити розмір, який потрібно завантажити, крім переходу від пакета до пакета та використання властивостей, щоб побачити стислий розмір.

Мені хотілося б знати, чи є спосіб побачити розмір пакету (-ів) в терміналі та Synaptic перед завантаженням та встановленням його / їх?

Відповіді:


27

У терміналі для одного пакету:

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

більше, ніж пакет:

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

Я не маю уявлення про Synaptic.


що це UNIT?
тацу

Я думаю, що Sizeце байти і Installed-Sizeє KiB, але я не знаю, чи це десь визначено. Напр. Версії Firefox:apt-cache show firefox | grep -E "Package:|Version:|Size:"
Mikko Rantalainen

Намечена ХЛІ людини в наш час apt. Наприклад,apt show firefox | grep Size
Мікко Ранталайнен

Знайдений documentaton: apt-cache showвидасть фактичне значення , вказане у файлі debian/controlдокументація Installed-Sizeможна знайти тут: debian.org/doc/debian-policy / ...
Мікко Rantalainen

11

apt-cache show <package>або aptitude show <package>покаже більше інформації про пакет, включаючи його розмір.

Лише для розміру пакета ви можете використовувати:

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

або

aptitude show <package> | grep 'Uncompressed Size'

Для .debпакетів можна використовувати:

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

1
Чи покаже він і розмір залежності?
Тахіонс

@Tachyons Питання: " Чи є спосіб отримати розмір пакета? ". Якщо вас цікавить розмір залежностей, ви можете скористатися кнопкою " Задати питання", щоб задати інше питання.
Radu Rădeanu

1
Але в тому числі розмір депо може зробити вашу відповідь ефективною. просто пропозиція мій друг, :)
rɑːdʒɑ

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

3
Для мене це повертає 68 ... МБ? ГБ? Ложки?
puk

5

Ви можете використовувати режим "сухого запуску", який просто прикидається завантаженням та встановленням пакетів

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

Спробував, але я не бачу розміру. Рядок: Потрібно отримати х архівів. Після розпакування буде використано x. не показує.

1
Вибачте, це має бути здатність не apt-get (у мене є псевдонім оболонки для цього). Оновлено. Це рішення має перевагу в тому, що показує, що вам дійсно потрібно завантажити (не враховує вже встановлені залежності).
Адам Бертек

5

Це також правильно, але розмір відображається в байтах. І це показує розмір у кращому форматі, але якщо пакет має дуже невеликий розмір (скажімо, <1 МБ), то, незважаючи на echo 'n'це, він встановить пакет (Тому що в цьому випадку apt не підкаже).

Таким чином, Ви можете використовувати --no-downloadз --assume-noнаступним чином :

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

Тут --no-downloadстверджується, що не завантажувати пакет, і --assume-noвін передбачає припущення no ( n) у разі будь-якого запиту.

Приклад:

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

Ця відповідь чудова, тому що вона включає також залежності. Щоб показати "справжнє" сховище, яке буде використано, натисніть на "додатковий простір на диску"
Panki

0

Ви можете спробувати команду нижче, щоб побачити розмір архів, який потрібно завантажити для певного пакету.

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

@enzotib відповідь хороший, але він показує розмір архівів, які потрібно завантажити для іншого формату, а не в mb. Але ця команда покаже розмір у Мб.

Приклад:

$ 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>досі зірки встановлюють пакет, якщо він дуже малого розміру
Пандія
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.