Filesystems
openSUSE 上的 btrfs 不釋放磁碟空間
我在我的主桌面上安裝了一個 openSUSE 12.1,執行 btrfs 文件系統作為 root(/boot 是 ext4)。我今天開始遇到 KDE 問題,通知我磁碟空間幾乎全部用完,最終它決定它已經消失並導致我的桌面崩潰。
我使用 Alt+F1 切換到終端螢幕,雖然我確信我的硬碟容量沒有達到 1TB 的限制,但我還是將一些 150/200GB 的音樂和影片文件移到了外部驅動器上並重新啟動。沒有幫助,同樣的問題,同樣的崩潰。
我再次切換到終端螢幕並使用 du 確認我確實只使用了大約一半的總磁碟空間,但 df(包括 btrfs-progs 版本)堅持我已經使用了 100% 的可用磁碟空間,所以我的桌面每次崩潰每次我登錄時。
使用 btrfs defrag 實用程序也無濟於事。因此,我不知道下一步該去哪裡。
最終我的系統在嘗試修復後甚至無法啟動到單使用者模式,因此重新安裝了。
如果安裝在 btrfs 上,openSUSE 12.1 會自動啟用名為snapper的工具,該工具使用 btrfs 快照在安裝新軟體包之前獲取系統快照。這些快照很可能會佔用您的磁碟空間。
snapper list
使用命令檢查您的快照。可以使用
/etc/snapper/configs/root
(詳情請參閱man 5 snapper-configs
)配置快照。您可以使用 列出現有快照
snapper -c root list
,並且可以通過以下方式強制刪除舊快照:
snapper -c root cleanup timeline
snapper -c root cleanup number
詳情請參閱
man 8 snapper
。查看這篇博文,了解有關 btrfs/snapper/opensuse 12.1 的更多資訊。