在 Linux(RHEL5)上使用 FAT 文件系统自动卸载 USB 密钥

在 Linux(RHEL5)上使用 FAT 文件系统自动卸载 USB 密钥

出于安全原因,我面前有两个工作站,并且只能通过 USB 密钥在它们之间传输数据。

你可以想象,这很快就会让人厌烦,但最烦人的是在删除之前必须卸载它们。大多数情况下,不卸载它们会导致文件丢失,即使我在最后一次写入后不久删除它们。

现在,由于它们仅用于传输较小的文件,并且每个文件基本上只写入一次并读取一次,因此我不需要花哨的缓存基础结构来使干净卸载成为必要步骤。而且由于数据始终是我手头上已有内容的副本,因此我不在乎文件系统是否不时出现故障。

但无论如何,系统不需要强迫我这样做,它可以简单地确保一切都在一秒钟内完成,并同步工作。然后当我移除密钥时,不会丢失任何东西。有办法做到这一点吗?

我将非常感激关于处理这种情况的任何其他建议。

编辑:RHEL5 和 Fedora 之间的情况似乎已经发生了变化,一方面是 F11,另一方面是 F12。后者使用 DeviceKit-disk,我还没有弄清楚如何做到这一点。下面 gconf 中提供的方法不再有效。

答案1

如果您的系统使用 HAL 自动挂载 USB 棒,则需要调整 HAL 配置。我不确定最好的方法是什么,但这里有几种方法可能对您有用。

  • 一些 站点gconf-editor表示可以使用或工具将挂载选项添加到 Gconf 中gconftool。我的理解是,这些是针对每个用户的调整;我不确定如何在 Gconf 中影响系统范围的默认值。
    1. 开始gconf-editor
    2. 查找或添加密钥/system/storage/default_options/vfat/mount_options
    3. 将新值设置为所需的挂载选项。我假设语法是一个逗号分隔的列表,例如您将使用的mount -o,如以下示例之一:
      • iocharset=utf8
      • umask=022
      • gid=1002,fmask=133,dmask=022

  • HAL 规格显示storage.policy.*命名空间中影响挂载选项的几个属性。HAL 和 Dbus 很复杂,但许多默认配置发生在/etc/hal和中/etc/dbus-1。在我的 Ubuntu 系统上,/etc/hal/fdi/policy/preferences.fdi是我可以调整 HAL 默认策略的一个地方。在您的系统上,您需要找到正确的位置。

    通读这个答案我写了关于 HALevt 的文章。它是从 Debian 的角度编写的,您没有使用 HALevt,但 HAL 调整应该类似。希望这些链接和示例能给您一些关于从哪里开始寻找的想法。

答案2

man auto.master

“我设置了所有自动挂载在 /mnt/auto 中发生,并有一个 /auto/usb 软链接到 /mnt/auto/usb。使用 noatime 和 showexec 作为挂载选项很重要,这样可以延长拇指驱动器的使用寿命,并拥有适当的文件权限。”

还有内核模块,它为hotplug你提供udev规则可以写。一般这些只automount和不做一个umount

我不确定这两种方法是否有关联。

更新
如果您正在寻找sync挂载选项,以尽量减少数据在缓冲区中停留的时间,那么只需将其添加到其中一个配置文件中即可。请注意,这通常会缩短闪存设备的使用寿命。如果您计划拔出活动设备,这将最大限度地降低数据停留在缓冲区中的风险。但是,我还没有发现任何会在拔出事件后触发以清理挂载点的东西,那肯定会很好。

最后,如果您总是在非 Linux 机器上写入文件,而只在 Linux 机器上读取文件(单向运动鞋网络),那么您也应该加入只读选项,以使其更简单。再次,有umount触发器会很好,但也许有一种方法可以在热插拔事件umount之前配置一个。mount

答案3

您提供的信息不足以回答您的问题。首先,这两个工作站使用什么操作系统?

相关内容