새 장치가 나타나면 udev 에 알립니다. 일반적으로 /dev
내장 규칙 ¹에 따라 장치 파일을 만듭니다 . 이 규칙을 무시하여 장치 파일 위치를 변경하거나 임의의 프로그램을 실행할 수 있습니다. 다음은 udev 규칙과 같은 샘플입니다.
KERNEL=="sd*", ATTRS{vendor}=="Yoyodine", ATTRS{serial}=="123456789", NAME="keepass/s%n", RUN+="/usr/local/sbin/keepass-drive-inserted /dev/%k%n"
NAME=
지시어는 내가 설명을 위해 그것을 포함하지만, 아마도 사용 사례 유용하지 않습니다, 장치 파일의 위치를 변경합니다. ATTRS
규칙은 장치를 식별; 어떤 속성이 있는지 udevinfo -a -n /dev/sdz
드라이브를 사용할 수있을 때 실행 /dev/sdz
하십시오. 입력 ATTRS
의 단일 섹션 에서만 규칙을 사용할 수 있습니다 udevinfo
(또한 ATTR
초기 섹션에서 규칙을 사용할 수 있음 ). 자세한 배경 은`udevadm info -a -n / dev / sdb '의 출력 이해를 참조하십시오 . 이 규칙은 다음과 같은 파일에 들어갑니다 /etc/udev/rules.d/local-storage-keypass.rules
.
RUN
지시문에 제공된 스크립트에서 실행하려는 명령을 넣으십시오 . 다음과 같은 것 :
#!/bin/sh
set -e
if [ -d /media/keypass-drive ]; then
[ "$(df -P /media/keypass-drive | awk 'NR==2 {print $1}')" = "$(df -P /media | awk 'NR==2 {print $1}')" ]
else
mkdir /media/keypass-drive
fi
mount "$1" /media/keypass-drive
su ereon -c 'keypass2' &
udev에서 트리거 된 스크립트에서 GUI 프로그램을 실행하는 데 문제가있는 경우 다른 사용자의 데스크탑에서 루트로 그래픽 프로그램을 시작할 수 있습니까?를 참조하십시오 .
¹ udevtmpfs가 있는 최신 시스템에는 /dev
없습니다.
udevadm info -a -n /dev/sdX
여러 조상을 기반으로 일치시킬 수 없습니다. 장치 자체의 데이터와 단일 조상 만 기준으로 일치시킬 수 있습니다. 이 내용은에서 다루지man 7 udev
만 쉽게 간과 할 수있는 작은 의견입니다.