答案1
好吧,如果某件東西佔據了很多空間,明智的做法是:
找出佔用大量空間的內容。
一個方便的工具是NCDU, 具體來說
ncdu -x /
。它將顯示根檔案系統中哪些目錄使用最多,並允許您在其中導航(基本上類似於 WinDirStat 或 SpaceSniffer)。使用手動重複也是可行的
du -xhs <dir>
,但有點乏味。 (在這兩種情況下,「x」選項告訴它避免挖掘像 /proc 這樣的虛擬檔案系統。)刪除佔據大量空間的東西。
不過,不要立即刪除這些文件 - 首先弄清楚是什麼讓它們增長,以及是否需要使用特殊命令刪除它們。例如,資料庫日誌/日誌檔案必須透過資料庫本身刷新。 /var/log 中的系統日誌可以安全刪除,但無論如何它們都有一個可配置的保留期 - 檢查為什麼不應用它。
如果已使用空間沒有增加 - 例如 ncdu 僅顯示 50 GB 的檔案 - 可能已刪除(未連結)的大檔案仍被某些程式保持開啟。重新啟動程式或重新啟動系統可以解決此問題。
sudo lsof -n | grep "(deleted)"
將顯示所有已刪除但仍開啟的檔案以及進程 ID。 (忽略 /tmp 或 /dev/shm 下的那些 - 這是正常的,而且它們無論如何都位於單獨的檔案系統上。)如果您使用 LVM/Btrfs/ZFS,您還應該檢查是否有任何舊快照或遺失的子磁碟區 - 這些對檔案系統不可見,但仍佔用空間。