UDev는 Ubuntu 12.10의 유형 및 이름에 관계없이 드라이브를 "usbhd"로 자동 마운트합니다.

UDev는 Ubuntu 12.10의 유형 및 이름에 관계없이 드라이브를 "usbhd"로 자동 마운트합니다.

내 시스템에는 저장용으로 사용되는 드라이브가 3개 있습니다. 이것이 장착 지점입니다/etc/fstab

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda1 during installation
UUID=f3cfbb3a-5014-4e0a-9b9d-ef4fde8f4031 /               ext4    errors=remount-ro 0       1
# swap was on /dev/sda6 during installation
UUID=9322c5b4-9157-49ab-b890-0b8d909b416f none            swap    sw              0       0

#store1
UUID=a2d57cda-515c-43e1-8d93-4f0d8714b713 /media/store1 ext4 errors=remount-ro 0 1
#store2
UUID=4f6bc0a9-5c9f-413b-9f8b-dc95e5a9462b /media/store2 ext4 errors=remount-ro 0 1
#store3
UUID=bb214693-06bc-412f-a7f9-b60bf7618fc5 /media/store3 ext4 errors=remount-ro 0 1

어떤 이유로 Ubuntu는 usbhd-*명명 규칙에 따라 드라이브를 자동으로 다시 마운트합니다.

/dev/sda5 on /media/store1 type ext4 (rw,errors=remount-ro)
/dev/sdb3 on /media/store2 type ext4 (rw,errors=remount-ro)
/dev/sdc1 on /media/store3 type ext4 (rw,errors=remount-ro)
/dev/sdc1 on /media/usbhd-sdc1 type ext4 (rw,relatime)
/dev/sdb1 on /media/usbhd-sdb1 type ext4 (rw,relatime)
/dev/sdb3 on /media/usbhd-sdb3 type ext4 (rw,relatime)

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

# Start at sdb to avoid system harddrive.
KERNEL!="sd[b-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"
# Filesystem-specific mount options
ACTION=="add", ENV{ID_FS_TYPE}=="vfat|ntfs", ENV{mount_options}="$env{mount_options},utf8,gid=100,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"

/dev/sd*나는 이것이 드라이브를 무시한다는 것을 의미한다고 생각합니다 .

이런 일이 발생하지 않도록 하는 방법에 대한 아이디어가 있습니까?

답변1

이 규칙을 올바르게 읽었다면:

# Start at sdb to avoid system harddrive.
KERNEL!="sd[b-z][0-9]", GOTO="media_by_label_auto_mount_end"

!=장치가 ( ) sdb0등과 같지 않으면 sdb1레이블로 이동한다는 의미입니다 "media_by_label_auto_mount_end".

그래서 그것은 나에게 잘 작동하는 것 같습니다.

그렇다면 어떻게 될까요? :

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

KERNEL!=또는 원하는 sd*드라이브와 일치하는 기존 규칙 앞에 규칙을 배치하고 레이블 뒤의 레이블로 이동하도록 할 수 있습니다 "media_by_label_auto_mount_end". 그 시점부터 다음과 같이 원하는 규칙을 만들 수 있습니다.

ENV{ID_FS_LABEL}=="", ENV{dir_name}="myusbhd-%k"

관련 정보