![udev 규칙: IMPORT{cmdline}="nodmraid" - 이것이 무엇을 합니까?](https://linux55.com/image/209440/udev%20%EA%B7%9C%EC%B9%99%3A%20IMPORT%7Bcmdline%7D%3D%22nodmraid%22%20-%20%EC%9D%B4%EA%B2%83%EC%9D%B4%20%EB%AC%B4%EC%97%87%EC%9D%84%20%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
매뉴얼에서는 명확하지 않습니다.
IMPORT{cmdline}="nodmraid"
실제로?
nodmraid라는 환경 변수에 "nodmraid" 명령줄 인수를 도입합니까, 아니면 환경 변수 "nodmraid"를 "1" 또는 ""로 설정합니까, 아니면 단지 "1"을 반환합니까(그러나 값은 할당되지 않음) 이 경우 )?
감사해요
답변1
IMPORT{cmdline}="nodmraid"
커널 명령줄을 구문 분석하고 nodmraid
장치의 속성을 ( 1
속성이 nodmraid
인수 없이 부팅 명령줄에 나타나는 경우)로 설정합니다. 매개변수가 있는 경우(실제로는 의미가 없지만 nodmraid
매개변수를 제공할 수 있음) 속성 값을 해당 매개변수로 설정합니다.
이것이 정확히 어떻게 작동하는지 확인하는 간단한 규칙 IMPORT{cmdline}
은 다음과 같습니다.
IMPORT{cmdline}="ro"
IMPORT{cmdline}="modprobe.blacklist"
IMPORT{cmdline}="nodmraid"
(단순히 시작 명령줄에서 임의의 옵션을 선택하기만 하면 됩니다) 결과는 다음과 같습니다.udevadm info
$ udevadm info /dev/sda --query property --property nodmraid,ro,modprobe.blacklist
ro=1
modprobe.blacklist=nouveau
ro
매개변수가 없어서 값이 로 설정되어 있고 1
, modprobe.blacklist
매개변수( )가 있어서 nouveau
값이 으로 설정되어 있는데 nouveau
, nodmraid
시작 매개변수에 없어서 설정하지 않았습니다.
실제로 커널 명령줄에 있다면 위의 "테스트" 규칙이 없어도 nodmraid
모든 장치에 대해 실제로 설정된 것을 볼 수 있습니다 .1
$ udevadm info /dev/vda1 --query property --property nodmraid
nodmraid=1