Joh*_*vat 3 automount udev 14.04
我有两个 SATA 驱动器托架(热插拔),我希望将驱动器的第一个分区安装到/media/disk01/并/media/disk02/忽略所有其他分区。
应为所有(SATA 和 USB)设备关闭自动挂载程序。
udevadm给我/sys/devices/pci0000:00/0000:00:1f.2/ata5/host4/和/devices/pci0000:00/0000:00:1f.2/ata2/host1/主板上的这些 SATA 端口。
我找到了
https://www.axllent.org/docs/view/auto-mounting-usb-storage/
并试图用它作为起点,但不幸的是我一开始就卡住了:不管 ACTION/RUN我写的行,驱动器被自动挂载usdisksd...
是否有教程如何编写/调试 udev 规则?如何用我自己的规则“替换”Ubuntu 的自动挂载功能?
通常在插入媒体时会自动安装 USB(可移动)媒体。如果你想抑制它,你可以配置/调整yr 框:
$ dconf-editororg.gnome.desktop.media-handling并勾选automount选项以上应该注意默认情况下为所有可移动媒体设备关闭自动安装程序。
谈到 udev 规则,您需要:
$ udevadm info -q all -p $(udevadm info -q path -n /dev/sdXY)/media/disk01/和/media/disk02/。对于每个设备分区,请注意:DEVNAME,以及ID_MODEL_ID和ID_VENDOR_ID。后两者各由 4 个字母数字字符组成。$ udevadm info -a -p $(udevadm info -q path -n /dev/sdXY)/dev/sdXY代表 yr DEVNAME 值中的每一个。ID_MODEL_ID,并ID_VENDOR_ID为你指出他们。它可能是“父设备”部分,紧跟在输出的最顶层“设备”部分之后在/etc/udev/rules.d/70_hot-swap-mount.rules:
# to create mount-points and mount devices
KERNEL=="sd[a-z][0-9]", ENV{ID_MODEL_ID}=="fill-in-model-id-here", ENV{ID_VENDOR_ID}=="fill-in-vendor-id-here", ACTION=="add", ENV{mount_options}="relatime", RUN+="/bin/mkdir -p /media/disk0Z", RUN+="/bin/mount -o $env{mount_options} /dev/%k /media/disk0Z"
# to unmount devices and remove mount-points
KERNEL=="sd[a-z][0-9]", ENV{ID_MODEL_ID}=="fill-in-model-id-here", ENV{ID_VENDOR_ID}=="fill-in-vendor-id-here", ACTION=="remove", RUN+="/bin/umount -l /media/disk0Z", RUN+="/bin/rmdir /media/disk0Z"
Run Code Online (Sandbox Code Playgroud)
按照相同的规则,为要安装的两个设备中的每一个重复上述所有操作。的值ENV{ID_VENDOR_ID}和ENV{ID_MODEL_ID}将针对每个设备和“Z”在不同的/dev/disk0Z是1或2作为设备的功能正在考虑中。
根据您提供的链接作为参考,您确实可以通过稍微不同地编写 yr 规则来提供更复杂的特定于文件系统的挂载选项。根据文件系统,这可能包括所有权、rwx访问权等。
对于教程,看看这个。
哈。
| 归档时间: |
|
| 查看次数: |
4941 次 |
| 最近记录: |