![在 Linux(RHEL5)上使用 FAT 文件系统自动卸载 USB 密钥](https://linux22.com/image/1215959/%E5%9C%A8%20Linux%EF%BC%88RHEL5%EF%BC%89%E4%B8%8A%E4%BD%BF%E7%94%A8%20FAT%20%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E8%87%AA%E5%8A%A8%E5%8D%B8%E8%BD%BD%20USB%20%E5%AF%86%E9%92%A5.png)
出于安全原因,我面前有两个工作站,并且只能通过 USB 密钥在它们之间传输数据。
你可以想象,这很快就会让人厌烦,但最烦人的是在删除之前必须卸载它们。大多数情况下,不卸载它们会导致文件丢失,即使我在最后一次写入后不久删除它们。
现在,由于它们仅用于传输较小的文件,并且每个文件基本上只写入一次并读取一次,因此我不需要花哨的缓存基础结构来使干净卸载成为必要步骤。而且由于数据始终是我手头上已有内容的副本,因此我不在乎文件系统是否不时出现故障。
但无论如何,系统不需要强迫我这样做,它可以简单地确保一切都在一秒钟内完成,并同步工作。然后当我移除密钥时,不会丢失任何东西。有办法做到这一点吗?
我将非常感激关于处理这种情况的任何其他建议。
编辑:RHEL5 和 Fedora 之间的情况似乎已经发生了变化,一方面是 F11,另一方面是 F12。后者使用 DeviceKit-disk,我还没有弄清楚如何做到这一点。下面 gconf 中提供的方法不再有效。
答案1
如果您的系统使用 HAL 自动挂载 USB 棒,则需要调整 HAL 配置。我不确定最好的方法是什么,但这里有几种方法可能对您有用。
- 一些 站点
gconf-editor
表示可以使用或工具将挂载选项添加到 Gconf 中gconftool
。我的理解是,这些是针对每个用户的调整;我不确定如何在 Gconf 中影响系统范围的默认值。- 开始
gconf-editor
- 查找或添加密钥
/system/storage/default_options/vfat/mount_options
- 将新值设置为所需的挂载选项。我假设语法是一个逗号分隔的列表,例如您将使用的
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
“我设置了所有自动挂载在 /mnt/auto 中发生,并有一个 /auto/usb 软链接到 /mnt/auto/usb。使用 noatime 和 showexec 作为挂载选项很重要,这样可以延长拇指驱动器的使用寿命,并拥有适当的文件权限。”
还有内核模块,它为hotplug
你提供udev
规则可以写。一般这些只automount
和不做一个umount
。
我不确定这两种方法是否有关联。
更新
如果您正在寻找sync
挂载选项,以尽量减少数据在缓冲区中停留的时间,那么只需将其添加到其中一个配置文件中即可。请注意,这通常会缩短闪存设备的使用寿命。如果您计划拔出活动设备,这将最大限度地降低数据停留在缓冲区中的风险。但是,我还没有发现任何会在拔出事件后触发以清理挂载点的东西,那肯定会很好。
最后,如果您总是在非 Linux 机器上写入文件,而只在 Linux 机器上读取文件(单向运动鞋网络),那么您也应该加入只读选项,以使其更简单。再次,有umount
触发器会很好,但也许有一种方法可以在热插拔事件umount
之前配置一个。mount
答案3
您提供的信息不足以回答您的问题。首先,这两个工作站使用什么操作系统?