특정 USB 디스크를 꽂았을 때 또는 재부팅 한 후 udev를 마운트하려면 어떻게합니까?


2

방금 Fedora 15로 업그레이드했습니다. Bacula 몇 년 동안 백업을 위해, 그리고 그것은 잘 작동합니다. 하지만 지금은 문제가 생겼습니다. 아마도 Bacula가 루트가 아닌 사용자 bacula로 실행 중이기 때문일 것입니다.

내 백업 미디어는 두 개의 USB 디스크 드라이브입니다 (필자는 오프 사이트로 유지하고 한 달에 한 번 정도 스왑합니다). 그러나 페도라는 700이라는 모드로 내 UID가 소유 한 마운트 포인트로 USB 드라이브를 자동 마운트합니다. 아마도 로그인했기 때문에 이것이 대부분의 USB 스토리지에 적합 할 것입니다. 그러나이 경우에는 Bacula가 액세스 할 수 없으므로 아닙니다.

이벤트의 순서를 올바로 이해하면 udev가 / dev / sdb 및 / dev / sdb1 장치 노드를 만들고 이들이 udisk (Gnome 구성 요소)에 의해 자동 마운트됩니다. 마운트 매개 변수가 무엇인지 결정하는 것이 udisk입니다.

내가 원하는 것은 "BACKUP *"이라는 레이블이 붙은 디스크가 bacula 소유의 마운트 포인트로 마운트되도록하는 것입니다 : bacula, mode 700. /etc/udev/rules.d에 사용자 정의 udev 룰 파일이 필요하다고 생각합니다. 나는 udev (7) 페이지와 " udev 규칙 작성하기 "여기까지는"10-backup-disk.rules "라는 파일에서 지금까지 살펴본 내용이 있습니다 .Udev가 구문 분석하고 있지만 작동하지 않습니다. 디스크가 계속 소유되고 있습니다. 누군가 내가 잘못하고있는 것을 말해 줄 수 있습니까?

감사.

KERNEL!="sd[a-z][0-9]", GOTO="backup-disk_auto_mount_end"
ENV{ID_FS_LABEL}!="BACKUP*", GOTO="backup-disk_auto_mount_end"

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

# Get disk label
ENV{dir_name}="%E{ID_FS_LABEL}"

# Global mount options
ACTION=="add", ENV{mount_options}="relatime,rw"
# Filesystem-specific mount options
ACTION=="add", ENV{mount_options}="$env{mount_options}"

# 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="backup-disk_auto_mount_end"

답변:


6

나는 아무것도 몰라. udev ,하지만 Fedora 15를 사용하고 있기 때문에 다음과 같은 작업을 수행 할 수 있습니다. 시스템 훨씬 더 간단합니다.

BACKUP_ONE이라는 USB 드라이브가 있다고 가정하고 다음 파일을 만듭니다.

/etc/systemd/system/mnt-backup1.mount:

[Mount]
What=/dev/disk/by-label/BACKUP_ONE
Where=/mnt/backup1
Options=uid=bacula,gid=bacula,mode=0700

파일 이름은에서 끝나야합니다. .mount 마운트 지점과 일치하는 이름을가집니다 ( Where= 단위 파일의 라인), 슬래시 ( / ) 대시로 변경됨 ( - ). 자세한 내용은 다음을 참조하십시오. man systemd.unit.

또한 Bacula가 실제로 백업을 실행할 때까지 (또는 드라이브에 액세스하려고 시도 할 때까지) 드라이브를 마운트하지 못하게 할 수 있습니다. /etc/systemd/system/mnt-backup1.automount:

[Automount]
Where=/mnt/backup1
[Install]
WantedBy=remote-fs.target

다른 드라이브에서이 작업을 반복 한 다음 실행하십시오. systemctl enable mnt-backup1.automountsystemctl daemon-reload 알려 시스템 변화의 (나는 그들이 지금 혼란에 빠지지 않도록이 시간에 플러그가 뽑혔는지 확인해야한다.)

udisks 이제 너를 연기 할거야. 시스템 구성하고 정의한 옵션으로이를 마운트하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.