mar*_*ich 6 delete btrfs trash
我在我的机器上的 /mnt/btrfs 上安装了三个 3TB 磁盘,采用 BTRFS RAID 1 配置。/btrfs 中有一个符号链接。
这里面有许多子卷,
/archive
/backups
/games
/home
/music
/photos
/temp
/videos
/virtualmachines
Run Code Online (Sandbox Code Playgroud)
/home 安装在 /mnt/btrfs/home/
当我从“家”中的任何文件夹中删除项目时,这些项目会正确进入回收站。我可以轻松恢复和清空。
当我从任何其他 subvol 中删除一个项目时,对象会转到该 subvol 中的 .Trash-1000,这不会出现在我的 bin 中,但必须手动删除。
我怀疑这是一个权限问题,但看不到可能是什么。
任何人都可以为我提供一些建议吗?
这不是权限问题。这是一个已知错误,已在https://bugs.launchpad.net/ubuntu/+source/nautilus/+bug/1442649上报告(它不仅仅影响 Nautilus)。
除了作为特殊情况的主文件系统(请参阅此处了解完整详细信息)之外,任何已删除的文件都存储在从中删除文件系统的根目录内的目录中,以避免在文件系统之间进行复制。
垃圾文件夹是一个虚拟文件夹,它应该是每个文件系统中这些目录的组合。
子卷是一个单独的文件系统。然而,实际上只检查挂载点(例如 中的那些)是否有垃圾目录。/etc/mtab不会搜索未单独安装的子卷。
至于解决方法,对于给定的子卷 SUBVOL,尝试:
ln -s /mnt/btrfs/.Trash /mnt/btrfs/SUBVOL/.Trash
ln -s /mnt/btrfs/.Trash-1000 /mnt/btrfs/SUBVOL/.Trash-1000
Run Code Online (Sandbox Code Playgroud)
将垃圾存储在父卷上不起作用。
但是两个符号链接(或只是同名的空文件)的存在会阻止创建垃圾目录,从而防止在该子卷上进行垃圾处理。