実験的なファイルシステムを使用していますbtrfs
。
私のディレクトリは次のとおりです。
ls -la empytfolder
total 4
drwxr-xr-x 1 root root 0 19. Mär 14:00 .
drwxr-xr-x 1 root root 298 19. Mär 13:59 ..
空のフォルダを削除/削除する方法を使用して削除しようとしましたが、rm -rf emptyfolder
エラーが発生しました。rm: cannot remove directory: directory not empty?
なぜこのフォルダに4つのファイルがあるのですか?ルートとして削除しようとしています。私のファイルシステムはbtrfsです。
stat emptyfolder
私にしてください:
Datei: „emptyfolder“
Größe: 0 Blöcke: 0 EA Block: 4096 Verzeichnis
Gerät: 21h/33d Inode: 256 Verknüpfungen: 1
Zugriff: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Zugriff : 2012-03-19 14:00:28.205205566 +0100
Modifiziert: 2012-03-19 14:00:23.925025572 +0100
Geändert : 2012-03-19 14:00:23.925025572 +0100
Geburt : -
システムクロックにはいくつかの問題があります。時々間違った時間が表示されることがあります。
$ lsof +D emptyfolder
lsof: WARNING: can't stat() fuse.gvfs-fuse-daemon file system /home/user
/.gvfs Output information may be incomplete.
gvfs-fuse-daemonとは何ですか?どうすれば削除できますか?
私はfusions -uv /dev/diskを試しましたが、何の役にも立ちませんでした。どのプロセスもフォルダにアクセスしません。フォルダをtmpに移動しました。
ベストアンサー1
最初のケース、次のような場合:
rmdir: failed to remove ‘emptydir’: Operation not permitted
「emptydir」が実際にサブボリュームであるためです。
次のようにして、これらのケースであることを確認できます。
btrfs subvolume list -a /mountpoint
サブボリュームを削除するには、以下を実行する必要があります。
btrfs subvolume delete emptydir
2番目のケース、次のような場合:
rmdir: failed to remove ‘emptydir’: Directory not empty
これにより、i_sizeがゼロ以外の空のディレクトリがある可能性があります。
次のようにして、これらのケースであることを確認できます。
stat -c %s emptydir 3196 <-- unexpected non-zero size
適切な(アンマウントされた)ファイルシステムで実行すると、
btrfs check
問題が特定され、問題がある他のディレクトリ(存在する場合)が一覧表示されます。次の出力が表示されます(抜粋)。
checking fs roots root 5 inode 557772 errors 200, dir isize wrong root 266 inode 24021 errors 200, dir isize wrong ...
btrfs check --repair
btrfs-progsの新しいバージョンを実行している場合は、このようなエラーを修正できます。
btrfs check --repair
場合によっては、問題を解決する場合は、むしろ問題を悪化させる可能性があるため、軽く使用してはいけないことに注意してください。