link_priority
udev 규칙의 옵션은 규칙 처리 순서와 어떤 관련이 있습니까? 예를 들어 기본 udev 규칙에서 다음 코드 조각을 가져옵니다.
50-udev-default.rules:
# select "system RTC" or just use the first one
SUBSYSTEM=="rtc", ATTR{hctosys}=="1", SYMLINK+="rtc"
SUBSYSTEM=="rtc", KERNEL=="rtc0", SYMLINK+="rtc", OPTIONS+="link_priority=-100"
hctosys
그러면 시스템 시간을 제공하는 장치인 속성 세트가 있는 RTC 장치를 가리키는 /dev/rtc 심볼릭 링크가 생성됩니다 . 또는 RTC 장치가 시스템 시간을 제공하지 않는 경우 /dev/rtc0
.
이제 순서를 반대로 바꿔보자. 별도의 파일로 분할할 수도 있습니다.
10-custom.rules:
SUBSYSTEM=="rtc", KERNEL=="rtc0", SYMLINK+="rtc", OPTIONS+="link_priority=-100"
[...]
50-udev-default.rules:
SUBSYSTEM=="rtc", ATTR{hctosys}=="1", SYMLINK+="rtc"
이것이 첫 번째 버전과 동일합니까? 아니면 첫 번째 심볼릭 링크가 생성된 /dev/rtc0
다음 시스템 시간을 제공하는 RTC 장치에 대한 두 번째 심볼릭 링크로 덮어쓰게 될까요(rtc0과 다르다고 가정)?
답변1
/lib/udev/rules.d/50-udev-default.rules
예, 순서를 바꾸는 것은 원본 파일이든 별도 파일이든 동일하고 독립적입니다 /etc/udev/rules.d/10-custom.rules
.
link_priority
이 경우 심볼릭 링크를 정의하는 값 입니다 . 기본값은 link_priority
이므로 0
rtc 공급자가 있을 때마다 hctosys
항상 rtc0
더 높습니다 link_priority=-100
.
link_priority
사용자 정의 파일의 규칙을 더 높은 규칙으로 변경하면 파일 번호가 더 높기 때문에 원본 파일이 덮어쓰게 10-custom.rules
되므로 작동하지 않습니다 . 50-udev-default.rules
따라서 사용자 정의 규칙 파일 이름에는 50보다 큰 숫자를 사용하십시오.