При использовании apt-get install <package_name>
и при наличии зависимостей, которые необходимо загрузить, терминал выводит имена дополнительных пакетов и общий размер и запрашивает подтверждение перед загрузкой.
Но, когда зависимости удовлетворены, и не нужно загружать ничего, кроме именованного пакета, вывод размера и подтверждение отсутствуют.
При использовании Synaptic я вижу общий размер новых пакетов, которые будут использоваться после установки, но не могу увидеть размер, который необходимо загрузить, кроме перехода от пакета к пакету и использования свойств, чтобы увидеть сжатый размер.
Хотелось бы узнать, есть ли способ увидеть размер пакета (ов) в терминале и Synaptic до его загрузки и установки?
В терминале для одного пакета:
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.
apt-cache show
или aptitude show
покажет больше информация о пакете, включая его размер.
Только для размера пакета вы можете использовать:
apt-cache show <package> | grep Installed-Size
или
aptitude show <package> | grep 'Uncompressed Size'
Для .deb
пакетов вы можете использовать:
dpkg-deb -I <package>.deb | grep Installed-Size
вам лучше добавить параметр -a в команду cp , чтобы сохранить дату и время файла, статистику файла и т. Д. 121 --- 898175-
Это тоже верно, но размер отображается в байтах. И этот показывает размер в лучшем формате, но если размер пакета очень маленький (скажем, <1 МБ), то, несмотря на echo 'n'
, он установит пакет (потому что в этом случае , apt не запрашивает).
Итак, вы используете - no-download
с - accept-no
следующим образом:
sudo apt-get --no-download --assume-no install <package_name> | grep 'Need to get'
Здесь - no-download
утверждает, что не загружает пакет, а - accept-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.
Можно использовать режим "сухого хода", который только делает вид, что загружает и устанавливает пакеты
$ 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.
. Вы можете попробовать следующую команду, чтобы увидеть размер архивов, которые необходимо загружен для определенного пакета.
echo 'n' | sudo apt-get install package | awk '/^Need to get/ {print $4,$5}'
Ответ @enzotib хорош, но он показывает размер архивов, которые необходимо загрузить в другом формате, а не в мегабайтах. Но эта команда покажет размер в мегабайтах.
Пример :
$ 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
Самый последний и лучший способ сделать это - использовать apt show
, который включает единицы:
apt show firefox | grep Size
Installed-Size: 202 MB
Download-Size: 51.7 MB
apt show
может быть используется для просмотра большого количества другой полезной информации о пакете перед его установкой, включая версию, зависимости, «Прерывания», «Замены» и описание.
, пытающийся получить полный размер, включая зависимости для данного пакета на Ubuntu 20.10:
# export package=fonts-deva
# apt-get --dry-run --assume-no --no-install-recommends install "$package" |
grep Inst | awk '{print $2}' |
xargs -i apt-cache show --no-all-versions {} | grep "Installed-Size" |
awk '{s+=$2} END {print s " kB"}'
4447 kB
Это проходит через Установка сухая прогона, чтобы увидеть, какие пакеты будут установлены и суммирует их установленный размер.
Почему такой сложный подход?
Существуют проблемы с существующими ответами:
После этой операции будет использоваться 4554 КБ дополнительного дискового пространства.
не будет работать для небольших пакетов, которые устанавливаются без [Y / N]
запросов. APT-Get --No-Download --assume-no Установка шрифтов-deva
не работает для меня: E: невозможно получить некоторые архивы, возможно, запустить APT-Get Обновите или попробуйте с IFIX-отсутствующим?