장치와 모듈 처리 | 시스템 시계 설정 |
9.3장 "디바이스 및 모듈 처리 개요"에서 설명한 대로 동일한 기능을 가진 디바이스가 /dev
에 표시되는 순서는 기본적으로 무작위입니다. 예를 들어 USB 웹 카메라와 TV 튜너가 있는 경우 /dev/video0
은 카메라를, /dev/video1
은 튜너를 가리키는 경우도 있고, 재부팅 후 순서가 바뀌는 경우도 있습니다. 사운드 카드와 네트워크 카드를 제외한 모든 하드웨어 클래스의 경우 영구 심볼릭 링크를 생성하는 udev 규칙을 생성하면 이 문제를 해결할 수 있습니다. 네트워크 카드의 경우 9.2장 "일반 네트워크 구성"에서 별도로 다루고 있으며, 사운드 카드 구성은 BLFS에서 찾을 수 있습니다.
이 문제가 발생할 가능성이 있는 각 디바이스(현재 사용 중인 Linux 배포판에서는 문제가 없더라도)에 대해 /sys/class
또는 /sys/block
에서 해당 디렉터리를 찾습니다. 비디오 디바이스의 경우 /sys/class/video4linux/videoX
일 수 있습니다. 장치를 고유하게 식별하는 속성을 파악합니다(일반적으로 공급업체 및 제품 ID 및/또는 일련 번호를 사용합니다).
udevadm info -a -p /sys/class/video4linux/video0
그런 다음 예시와 같이 심볼릭 링크를 만드는 규칙을 작성합니다.
cat > /etc/udev/rules.d/83-duplicate_devs.rules << "EOF"
# Persistent symlinks for webcam and tuner
KERNEL=="video*", ATTRS{idProduct}=="1910", ATTRS{idVendor}=="0d81", SYMLINK+="webcam"
KERNEL=="video*", ATTRS{device}=="0x036f", ATTRS{vendor}=="0x109e", SYMLINK+="tvtuner"
EOF
그 결과 /dev/video0 및 /dev/video1 장치는 여전히 튜너와 웹 카메라를 임의로 참조하지만(따라서 해당 장치명을 직접 사용해서는 안됩니다.), 항상 올바른 장치를 가리키는 심볼릭 링크 /dev/tvtuner
및 /dev/webcam
이 있습니다.