如何配置记录数据以立即进行Pendrive?


12

如果我在Pendrive上编辑文件,然后将其物理删除,则不会记录数据。我必须单击“弹出”,因此LED开始闪烁,并且开始记录数据。

我该如何更改,以便在更改后立即记录数据?

更新:Ubuntu 11.10

在Ubuntu 11.10中,我编写了rules文件(来自@enzotib答案),并且可以工作,但是在尝试弹出/卸载时给出以下消息:

在此处输入图片说明

(我应该对Ubuntu 11.10提出另一个问题吗?)


2
由于不再使用写缓存,因此性能会降低。使用弹出/卸载选项正确卸载分区,否则您将丢失数据。
Lekensteyn 2011年

4
sync挂载分区时可以使用该选项。尽管不建议这样做,因为它会大大增加对优盘的写入次数。
安排

2
@arrange因为ubuntu会自动挂载,有没有办法将其设置sync为默认值,所以我不需要每次都在终端中执行此操作吗?而且我知道它将大大增加写入次数,但这仍然是我想要的。谢谢!
汤姆·布里托


@arrange看到了,但这仍然不是一个完整的答案……
Tom Brito

Answers:


8

跟随@arrange在评论中显示的问题(和答案),让我们创建一个新文件

/etc/udev/rules.d/11-media-by-label-auto-mount.rules

并将以下内容写入其中(请参阅/ media下的udev :: Mount;使用分区标签(如果存在))

KERNEL!="sd[a-z][0-9]", GOTO="media_by_label_auto_mount_end"

# Import FS infos
IMPORT{program}="/sbin/blkid -o udev -p %N"

# Get a label if present, otherwise specify one
ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}"
ENV{ID_FS_LABEL}=="", ENV{dir_name}="usbhd-%k"

# Global mount options
ACTION=="add", ENV{mount_options}="relatime,sync"
# Filesystem-specific mount options
ACTION=="add", ENV{ID_FS_TYPE}=="vfat|ntfs", ENV{mount_options}="$env{mount_options},utf8,uid=1000,gid=1000,umask=002"

# Mount the device
ACTION=="add", RUN+="/bin/mkdir -p /media/%E{dir_name}", RUN+="/bin/mount -o $env{mount_options} /dev/%k /media/%E{dir_name}"

# Clean up after removal
ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l /media/%E{dir_name}", RUN+="/bin/rmdir /media/%E{dir_name}"

# Exit
LABEL="media_by_label_auto_mount_end"

我对网站上报告的内容做了一些小的修改

  • sync选项添加到ENV{mount_options}
  • gid=100选项修改为uid=1000,gid=1000,其中数字相对于您的used-id和group-id,由id -u和返回id -g

第二个使您成为已挂载分区上所有文件的所有者,因此不会出现权限问题。显然,如果不止一个用户可以访问文件,则不是这种情况,但是可以通过其他方式来处理。

对于非Windows文件系统,所有者和组是文件系统上的元数据,并且不能通过安装选项进行更改。

新规则立即生效(udev使用inotify来检测新的和修改的规则文件)。

如您所见,已安装的驱动器不会在文件管理器窗口中自动打开,并且由于安装过程是由root拥有并且无法访问图形登录会话,因此很难实现。但是该驱动器在您的桌面上,因此只需双击即可将其打开。

不幸的是,我无法通过右键单击桌面来卸载,但是这不是一个大问题:有了相应的sync选件,您可以简单地拔出设备的电源,而udev规则负责从中移除条目/proc/mounts并移除安装-点。


我无法解决这个问题,谢谢您的帮助;)而且我也无法使用户卸载工作,似乎该users选项仅在fstab文件中有效...这不是这是一个问题(“同步”),但一般来说是这样。
安排

谢谢回答。不幸的是,经过上述描述,我无法在Pendrive上创建,编辑或删除任何文件。另外,当我插入窗口时,它不再自动打开窗口。任何想法?
汤姆·布里托

顺便说一句,我认为您键入“ .rule”的扩展名是错误的,并且我使用了该文件夹中的其他文件:“。rules”。
汤姆·布里托

该文档没有讨论要使用的特定扩展。顺便说一句,我从网站上复制了错误的内容,因此最好使用它.rules以确保安全。有关其他内容,请参见编辑后的答案。
enzotib

嘿,我现在在Ubuntu 11.10上,并且有不同的行为。请查看我的更新。
汤姆·布里托
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.