为什么安装期间的软件包大小与删除期间报告的软件包大小不同?

为什么安装期间的软件包大小与删除期间报告的软件包大小不同?

让我详细说明一下我想要询问的问题。

当我使用

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 MB 的额外磁盘空间。是什么造成了差异?

对 Linux 仍不熟悉

答案1

软件包具有所谓的依赖关系。例如,软件包cowsay依赖于perl(您可以使用 来验证这一点apt-cache show pkgname)。当您安装软件包时,apt-get 还会安装其他依赖项,但当删除软件包时 - apt-get 会保留依赖项,并且您必须使用自动删除选项

另一方面,它也不考虑缓存包,即实际下载的.debapt,然后从中提取内容并进行编译。

检查一下:

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

所有deb包裹都有此Installed-Size信息字段,根据定义,

估计的安装大小(以字节为单位),除以 1024 并向上舍入

(请注意,这是估算值,可能会因实际安装文件的数量而有所不同,并且取决于软件包维护者对细节的细致程度)因此,估算的安装大小为 88*1024 = 90112 或 90.1 kB。这与以下内容相吻合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标志cleanautoclean也可以手动删除它们

答案2

部分原因是因为存在配置(现在我看到您正在清除),但也存在下载 DEB 存档时用尽的缓存空间。

相关内容