udev 규칙 순서 및 link_priority

udev 규칙 순서 및 link_priority

link_priorityudev 규칙의 옵션은 규칙 처리 순서와 어떤 관련이 있습니까? 예를 들어 기본 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이므로 0rtc 공급자가 있을 때마다 hctosys항상 rtc0더 높습니다 link_priority=-100.

link_priority사용자 정의 파일의 규칙을 더 높은 규칙으로 변경하면 파일 번호가 더 높기 때문에 원본 파일이 덮어쓰게 10-custom.rules되므로 작동하지 않습니다 . 50-udev-default.rules따라서 사용자 정의 규칙 파일 이름에는 50보다 큰 숫자를 사용하십시오.

관련 정보