Почему размер пакета во время установки отличается от размера пакета, указанного во время удаления?

Почему размер пакета во время установки отличается от размера пакета, указанного во время удаления?

Позвольте мне подробно рассказать о том, что я пытаюсь спросить.

Когда я использую

sudo apk-get install blablabla

Я получаю вывод

After this operation, 39.6 MB of additional disk space will be used.

но когда я исполняю

sudo apk-get purge blablabla

вывод показывает, что у меня будет 23,4 МБ дополнительного дискового пространства. Что создает разницу?

Все еще новичок в Linux

решение1

Пакеты имеют то, что известно как зависимости. Например, пакет cowsayзависит от perl(и вы можете проверить это с помощью apt-cache show pkgname). Когда вы устанавливаете пакет, apt-get также устанавливает дополнительные зависимости, но при удалении пакета - apt-get оставляет зависимости в покое, ивам нужно использовать опцию автоматического удаления

С другой стороны, он также не учитывает кэшированные пакеты, т. е. сам .debпакет, который aptзагружается, а затем извлекает из него данные и компилируется.

Проверь это:

$ apt-cache show cowsay | grep -i size
Installed-Size: 88
Size: 18532

Все debпакеты имеют это Installed-Sizeинформационное поле, которое по определению

предполагаемый установленный размер в байтах, деленный на 1024 и округленный в большую сторону

( Обратите внимание, это оценка, она может меняться в зависимости от фактического количества установленных файлов и от того, насколько дотошно относится сопровождающий пакета к деталям ) Таким образом, предполагаемый размер установки составит 88*1024 = 90112 или 90,1 КБ. И это совпадает с тем, что purgeсказано:

After this operation, 90.1 kB disk space will be freed.

Однако после того, как я очистил пакет, архив все еще там:

$ ls /var/cache/apt/archives/cowsay_3.03+dfsg1-6_all.deb               
/var/cache/apt/archives/cowsay_3.03+dfsg1-6_all.deb

Вы можете использовать apt-getфлаги clean, а autocleanтакже удалять их вручную.

решение2

Частично это связано с наличием конфигураций (теперь я вижу, что вы выполняете очистку), но также есть и место в кэше, используемое архивом DEB при его загрузке.

Связанный контент