%k가 udev 규칙에서 코어 번호를 반환하지 않습니다.

%k가 udev 규칙에서 코어 번호를 반환하지 않습니다.

이 페이지(수년에 걸쳐 수십 번 수정되었습니다. 좋습니다!) a-to-z udev콘텐츠를 제공합니다.

%k장치가 (기본적으로) 나타나는 "sda3"과 같은 장치의 커널 이름을 평가합니다 /dev/sda3. %n계산 결과는 장치의 코어 번호(저장 장치의 파티션 번호)입니다. 예를 들어 "3"은 을 나타냅니다 /dev/sda3.

하지만 위의 예에서는 %k동글이 반환되었습니다.sda

규칙에 영향을 미치는 부분은 udev(다음을 통해 설치됩니다.)이 뎁~에서이 페이지, 독점 동글이 필요합니다. btw):

LABEL="codemeter_mount"
IMPORT{program}="/sbin/blkid -o udev -p %N"
ENV{ID_FS_UUID}!="", ENV{dir_name}="%E{ID_FS_UUID}"  
#ENV{ID_FS_UUID}=="", ENV{dir_name}="cm-%k"
ENV{ID_FS_UUID}=="", ENV{dir_name}="cm-pickone"                                     # Use static path. Multiple dongles are not intended to be used, so this should be ok.
RUN+="/bin/mkdir -p /media/CodeMeter/%E{dir_name}"
RUN+="/bin/mount /dev/%k /media/CodeMeter/%E{dir_name} -o umask=0000,uid=1,gid=1"

위의 규칙은 예를 들어 설치될 것으로 예상 하지만 언급된 문제가 파티션이 아닌 디스크 경로이기 /dev/sdb1때문에 실패합니다 (내가 찾은 빠른 해킹은 를 사용하는 것이었습니다 )./dev/%kmount%k%n

제가 뭔가 잘못 이해한 걸까요?

아래에서 볼 수 있듯이 저는 Ubuntu Xenial을 사용하고 있는데 Trusty에서도 같은 현상이 나타납니다.

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.3 LTS
Release:        16.04
Codename:       xenial
$ apt-cache policy udev
udev:
  Installed: 229-4ubuntu21
  Candidate: 229-4ubuntu21
  Version table:
 *** 229-4ubuntu21 500
        500 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages
        100 /var/lib/dpkg/status
     229-4ubuntu10 500
        500 http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages
     229-4ubuntu4 500
        500 http://us.archive.ubuntu.com/ubuntu xenial/main amd64 Packages

관련 정보