Как определить размер пакета при использовании apt перед загрузкой?

25

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

Но, когда зависимости удовлетворяются, и ничего, кроме именованного пакета, необходимо загрузить, нет никакого размера и подтверждения.

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

Я хотел бы знать, есть ли способ увидеть размер пакета (ов) в терминале и Synaptic перед загрузкой и установкой его / их?     

задан Seth 19.04.2011 в 16:46
источник

5 ответов

25

В терминале для одного пакета:

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

для более чем пакета:

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

Я не знаю о Синаптике.

    
ответ дан enzotib 19.04.2011 в 16:56
источник
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
    
ответ дан Radu Rădeanu 29.07.2013 в 18:05
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.
    
ответ дан Adam Byrtek 19.04.2011 в 20:25
2

Это также верно, но размер отображается в байтах. И это показывает размер в лучшем формате, но если пакет имеет очень маленький размер (скажем & lt; 1MB), то, несмотря на 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 не принимает ( 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.
    
ответ дан Pandya 13.03.2016 в 05:46
0

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

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

@enzotib ответ хорош, но он показывает размер архивов, которые необходимы для загрузки в другом формате, а не в mb. Но эта команда покажет размер в 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 ,}'
44.4 MB
    
ответ дан Avinash Raj 01.06.2014 в 11:13