Opensuse
清除所有 Snapper 快照
OpenSUSE(以及其他發行版)使用snapper拍攝btrfs分區的快照。有些人認為預設快照間隔太快佔用太多空間,但無論您是否相信,有時您想清理文件系統上的空間,並且經常發現btrfs快照佔用了大量空間。或者,在其他情況下,您可能希望在將文件系統移入/移出 VM 或更改儲存介質或類似的東西之前清除所有多餘數據的文件系統。
但是,我似乎找不到通過 snapper 或其他工具快速擦除**snapper拍攝的所有快照的命令。**我該怎麼做?
最近版本的 snapper 中的命令是(我不記得它是什麼時候引入的,但是例如 openSUSE 13.2 中的版本支持這個):
snapper delete number1-number2
因此,要刪除所有快照(假設您的快照不超過 100000 個),您可以:
snapper delete 1-100000
顯然,這只會刪除預設根配置上的快照,因此對於不同的配置,它將是:
snapper -c configname delete number1-number2
您可以使用
for
循環刪除範圍內的所有快照(以root身份執行)。# for i in `seq 1 999`; do snapper delete $i; done
這將命中一些無效條目(當數字與快照 ID 不對應時),這將導致無害的錯誤日誌。
要確定快照 ID 的範圍(下限和上限),以便循環不會執行不必要的長,請使用:
snapper list
我找到了這個解決方案以及關於如何減少 snapper 間隔和保留設置的討論。