垃圾箱如何工作,我在哪里可以找到官方文档,参考或规范?

Modified on: Sun, 10 Jun 2018 03:17:23 +0800

当尝试从已安装的NTFS卷管理垃圾箱时,我最终阅读了FreeDesktop.org的参考

四处寻找并做一些测试,我意识到Ubuntu / Gnome并没有遵循100%的规格。原因如下:

  • 对于非/分区,始终使用<driveroot>/.Trash-<uid>永远不会使用<driveroot>/.Trash/<uid>,即使我提前创建它。虽然这有效,但这很烦人:如果我有15个用户,我最终在我的驱动器中有15个/.Trash-xxx文件夹,而另一个方法仍然会给出一个文件夹(15个子文件夹)。我的驱动器中的“污染”是非常不愉快的。规格说“如果$topdir/.Trash目录不存在,则使用$topdir/.Trash-$uid目录 ”。嗯,它存在,那为什么它永远不会使用呢?

  • 根垃圾工作,至少不是开箱即用的。以root身份打开nautilus并点击垃圾桶;它给出了一个错误。尝试删除任何文件,它说“它无法移动到垃圾箱”。好的,我知道这可以通过创建/root/.local/share来解决。但规格说“ A”家庭垃圾“目录应该自动为任何新用户创建。如果垃圾操作需要这个目录但不存在,实现应该自动创建它,没有任何警告或延迟。< / EM>”。为什么错误呢?错误?

  • 为什么我必须更改已安装卷的/etc/fstab条目,添加uid和guid等选项,如果这些卷已经作为RW安装给所有人?

这些只是偏离标准的一些例子。所以,问题是:

“如果Ubuntu没有100%遵守规范,HOW 完全垃圾是否有效?我在哪里可以找到Ubuntu实现垃圾的技术参考?”

顺便说一句:如果Ubuntu碰巧遵循规范,请告诉我我做错了什么,特别是关于/.Trash-&lt;uid&gt; vs /.Trash/&lt;uid&gt;问题。

谢谢!

修改强>

更多信息:

  • 如果给定的fs不支持粘滞位(VFAT,NTFS),它可能也没有权限(至少VFAT肯定没有)。那么是什么阻止一个用户清除/恢复其他用户的./Trash-xxx?如果一个人可以读/写自己的垃圾桶,那么对于整个驱动器,包括其他垃圾可以做同样的事情,对吗?或者Gnome对VFAT / NTFS fs上的./Trash-xxx文件夹有什么“额外”保护?

  • 如果Linux可以通过编辑/fstab uid和gid选项“模拟”NTFS挂载的文件权限,它是否也可以“模拟”粘滞位?我更愿意使用/.Trash/xxx格式...

  • 对于root问题:对于/ partition,我可以将root用作root用户,然后转到/root/.local/share/Trash。但是如果我点击Nautilus“Trash”(作为root),我会收到一个错误。不是吗?因此文件被正确删除,但我无法访问它。我所能做的只是手动“清除”它们(通过删除/root/.local/share/Trash上的文件),但恢复将非常棘手(打开信息文件和手动移动等)

  • 对于非/分区(或至少对于VFAT / NTFS),我甚至无法以root身份使用垃圾:它不会创建./Trash-0文件夹,它只是说“不能垃圾,想要永久删除?”为什么呢?

  • 关于fstab:我将它用于我的NTFS分区的永久挂载。我有几个,如果没有“预先安装”它们真的使台式机和/或Nautilus混乱。我宁愿预先安装,集成在我的文件系统中,安装在/data/windows/xp/windows/vista,依此类推,并保留/media及其“mount / unmount”灵活性,仅适用于真正可移动的驱动器。

所以,如果Ubuntu / Gnome真的遵循规范,有没有办法解决根问题并“模拟”(至少)我的fstab'ed NTFS固定分区的粘滞位?

最佳答案

据我所知,GNOME正确使用.Trash - 如果查看gio / glocalfile.c源代码,你会发现它确实尝试使用.Trash目录(如果存在)。请注意,目录必须具有正确的权限,以便用户能够安全地将垃圾文件存储在其中(并且安全地在这里,我的意思是其他用户将无法恢复用户的已删除文件)。对于这个GNOME要求.Trash目录必须在其上设置粘滞位 - 请参阅垃圾目录,注意FreeDesktop.Org的垃圾桶规范中的注释(1)。

上述方法的主要问题是,您找到的大多数可移动媒体都是FAT,它不支持粘滞位,因此安全处理此问题的唯一方法是使用每用户垃圾邮件目录。 / p>

关于root Trash - 我无法重现您描述的问题,它似乎对我有用。

关于/ etc / fstab - 我不确定那里有什么问题:除非你想要完全控制外部文件系统的安装位置,否则你应该使用fstab。通常可移动媒体在检测到/媒体时为当前活动的用户自动安装,但是任何其他用户都无法访问。如果你想要一个不同的设置,那么你应该搞乱配置文件。但我不知道这与垃圾有什么关系。

作者:Guss

相关问答

添加新评论