Позвольте мне подробно рассказать о том, что я пытаюсь спросить.
Когда я использую
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 при его загрузке.