为什么我不能删除这个目录?

Joh*_*nst 6 linux permissions

成绩单:

$ ls -al
total 0
drwxrwxrwx 1 root root 8 Jun 14 05:13 .
drwxrwxrwx 1 root root 6 Jun 14 04:57 ..
drwxrwxrwx 1 root root 0 Jun 12 00:29 DARN
$ ls -al DARN/
total 0
drwxrwxrwx 1 root root 0 Jun 12 00:29 .
drwxrwxrwx 1 root root 8 Jun 14 05:13 ..
$ sudo lsof | grep DARN
$ sudo rmdir DARN
rmdir: failed to remove 'DARN': Operation not permitted
Run Code Online (Sandbox Code Playgroud)

我可以重命名目录,甚至可以将其移到其父目录之外。重新启动也没有帮助。

这是 Arch Linux 4.0.5-1-ARCH(当前)。

更新:Dan 建议扩展属性:

$ sudo lsattr .
---------------- ./DARN
$ sudo lsattr DARN/
$ 
Run Code Online (Sandbox Code Playgroud)

我想这意味着没有?

Mar*_*iae 6

来自BTRFS 常见问题解答

如果你得到:

rmdir: failed to remove ‘emptydir’: Operation not permitted
Run Code Online (Sandbox Code Playgroud)

那么这可能是因为“emptydir”实际上是一个子卷。您可以通过以下方式检查是否是这种情况:

 # btrfs subvolume list -a /mountpoint
Run Code Online (Sandbox Code Playgroud)

要删除子卷,您必须运行:

 # btrfs subvolume delete emptydir
Run Code Online (Sandbox Code Playgroud)

这显然是一个众所周知的问题,具有明确定义的解决方案。如果这有效,我也会运行

  btrfs check --repair /dev/sdXY
Run Code Online (Sandbox Code Playgroud)

以防万一。

如果所有其他方法都失败,请运行

     lsof +D /path/to/DARN
Run Code Online (Sandbox Code Playgroud)

从DARN外部,看看是否有任何东西实际上访问该目录的速度如此之快,以至于您看不到它。