Menjalankan OpenSuse 12.2.
Tiba-tiba partisi root tampak penuh (99%) tapi saya tidak bisa lagi menghapus file secara manual.
"rm: tidak dapat menghapus xxx: Tidak ada Spasi tersisa di perangkat" meskipun 450mb masih gratis menurut df. Sistem file adalah BTRFS.
Saya mencoba memeriksa FS menggunakan btrfsck tetapi tidak membantu.
Apa yang harus dilakukan?
Jawaban:
Kemungkinan besar, Anda mengalami masalah di mana BTRFS harus mengalokasikan sedikit metadata sebelum dapat menghapus file. Salah satu kelemahan BTRFS adalah penanganan kondisi di luar ruang; meningkatkan perilaku di bidang ini adalah salah satu prioritas proyek.
Salah satu saran pada wiki btrfs adalah untuk clobber file daripada menghapusnya.
Itu akan menghapus konten file tanpa mengubah entri direktori. Setelah Anda berhasil keluar dari sudut tempat Anda berada, Anda dapat menghapus file seperti biasa. Jika itu membuat Anda kesulitan, Anda mungkin ingin melakukan remount sementara dengan
nodatacow
opsi, yang mematikan perilaku copy-on-write. Tapi ... tidak yakin pasti apakah itu akan membantu atau tidak.Secara umum, meskipun: jangan menjalankan sistem file BTRFS kering. Ini masih perangkat lunak pra-produksi, dan kasingnya agak kasar.
sumber
Saya telah menghadapi pesan kesalahan yang sama, tetapi dalam kasus saya sistem file tidak dilaporkan sebagai lengkap:
Tetapi menanyakan BTRFS mengungkapkan bahwa itu memang penuh:
Bahkan menimpa file apa pun (seperti yang disarankan tylerl) tidak mungkin. Solusi saya ditemukan di http://marc.merlins.org/perso/btrfs/post_2014-05-04_Fixing-Btrfs-Filesystem-Full-Problems.html yang menyarankan untuk menjalankan rebalancing manual dari sistem file menggunakan
btrfs balance start -dusage=55 /path/to/filesystem
.sumber
Bagi saya, menggunakan ZFS, saya menemukan bahwa menghapus file lain membebaskan cukup ruang pada partisi ZFS, dan kemudian saya bisa menghapus file yang dimaksud.
sumber
Dalam kasus saya, dengan sistem file ZFS di Linux, saya bahkan tidak bisa memotong file. Menghancurkan snapshot lama melakukan trik (jika ada).
zfs destroy /path/of/snapshot
sumber