udev 규칙이 PROGRAM 키에서 예상대로 작동하지 않습니다.

udev 규칙이 PROGRAM 키에서 예상대로 작동하지 않습니다.

내 시스템은 커널 4.19가 설치된 Debian Buster입니다. 나는 아래와 같이 간단한 udev 규칙을 가지고 있으며 Debian Jessie에서는 잘 작동합니다. 이제 동일한 규칙이 최신 배포판에 적용되지 않는 것 같습니다.

 KERNEL=="sd[a-z]1",SUBSYSTEM=="block",ACTION=="add|change",PROGRAM="/bin/lsblk --fs --noheadings -o FSTYPE $tempnode"

 RESULT=="ext4",SYMLINK+="working_stick"

이 규칙은 Debian Jessie와 현재 배포판(Debian Buster)에도 적용됩니다. "udevadm 트리거"를 수동으로 실행하면 이 규칙은 제대로 작동하지만 일반적인 작업 시나리오에서는 이 규칙이 작동하지 않습니다.

내가 무엇을 놓치고 있는지 잘 모르겠습니다. 오류 사례와 성공 사례에 대한 로그를 제공합니다.


udev 규칙 파일에 심볼릭 링크가 없다는 것을 발견했을 때의 udev 로그:

Oct 18 09:50:11 localhost systemd-udevd[28351]: sdb1: PROGRAM '/bin/lsblk --fs --noheadings -o FSTYPE /dev/sdb1' /etc/udev/rules.d/test.rules:19

Oct 18 09:50:11 localhost systemd-udevd[28351]: Starting '/bin/lsblk --fs --noheadings -o FSTYPE /dev/sdb1'

Oct 18 09:50:11 localhost systemd-udevd[28351]: Successfully forked off '(spawn)' as PID 30481.

Oct 18 09:50:11 localhost systemd-udevd[28351]: Process '/bin/lsblk --fs --noheadings -o FSTYPE /dev/sdb1' succeeded.

"udevadm Trigger" udev의 로그를 수동으로 실행하면 심볼릭 링크가 생성되는 것을 볼 수 있습니다.

10월 18일 11:20:20 로컬 호스트 systemd-udevd[3758]: '/bin/lsblk --fs --noheadings -o FSTYPE /dev/sdb1'(out) 'ext4'****

Oct 18 11:20:20 localhost systemd-udevd[3758]: Process '/bin/lsblk --fs --noheadings -o FSTYPE /dev/sdb1' succeeded.

따라서 성공할 경우 명령의 출력이 RESULT에 기록되었음을 나타내는 추가 행이 로그에 표시됩니다.

관련 정보