讓我詳細說明我想問的問題。
當我使用
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 會單獨保留依賴項,並且你必須使用自動刪除選項
另一方面,它也不考慮快取包,即下載的實際.deb
包apt
,然後從中提取內容並編譯。
檢查一下:
$ 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
標誌clean
並autoclean
手動刪除它們
答案2
部分原因是因為存在配置(現在我看到您正在執行清除),但還有 DEB 存檔在下載時佔用的快取空間。