為什麼安裝期間的套件大小與刪除期間報告的套件大小不同?

為什麼安裝期間的套件大小與刪除期間報告的套件大小不同?

讓我詳細說明我想問的問題。

當我使用

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 存檔在下載時佔用的快取空間。

相關內容