편집하다

편집하다

UUID내 시스템(Debian)에서는 모든 디스크 파티션의 식별자를 볼 수 있습니다 (예 /dev/sda1: dev/sda2..)

ls /dev/disk/by-uuid/

UUID그러나 식별자 자체는 표시되지 않습니다 /dev/sda. 전체 디스크를 참조할 수 있나요 UUID?

특정 디스크를 참조하고 싶지만 호출되는 것에 의존할 수 없기 때문에 이것이 필요합니다 /dev/sda.

편집하다

@don_crissti가 제안한 솔루션은 훌륭합니다. 그러나 일련 번호가 고유하기보다는 동일한 모델/제조업체의 모든 하드 드라이브에 대해 UUID가 동일하기를 바랍니다.

사용 udevadm: 디스크 속성을 볼 수 있습니다.

udevadm info -n /dev/sda -a
ATTRS{model}=="Samsung SSD 840 "
ATTRS{vendor}=="0x8086"
ATTRS{class}=="0x010700"
ATTRS{device}=="0x1d6b"
....

UUID동일한 모델/제조업체의 디스크가 동일한 속성을 갖도록 이러한 속성을 생성하려면 어떻게 해야 합니까 UUID?

답변1

아래 심볼릭 링크는 다음 규칙에 따라 생성 /dev/disk/by-uuid/됩니다 .udev파일 시스템UUID. 살펴보면 다음 /usr/lib/udev/rules.d/60-persistent-storage.rules과 유사한 항목을 찾을 수 있습니다.

...... ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}"

디스크를 참조하려면 다음을 사용할 수 있습니다.디스크 일련번호그리고 ENV{ID_SERIAL_SHORT}열쇠.
다음 udev규칙은 드라이브를 일련 번호와 일치시킵니다. 0000000013100925DB96그리고 다음 위치에 같은 이름의 심볼릭 링크를 만듭니다 /dev/disk/by-uuid/.

KERNEL=="sd*", SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL_SHORT}=="0000000013100925DB96", SYMLINK+="disk/by-uuid/$env{ID_SERIAL_SHORT}"

다른 질문은 ... 물론 심볼릭 링크 이름에 사용자 정의 문자열을 사용하는 ENV{ID_MODEL}대신 언제든지 사용할 수 있습니다. 다음 규칙은 =가 있는 모든 드라이브 와 일치하고 아래에 심볼릭 링크를 만듭니다.ENV{ID_SERIAL_SHORT}
ID_MODELM4-CT128M4SSD2M4-SSD-1234567890/dev/disk/by-uuid/

KERNEL=="sd*", SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", ENV{ID_MODEL}=="M4-CT128M4SSD2", SYMLINK+="disk/by-uuid/M4-SSD-1234567890"

가 있는 드라이브가 하나만 있는 한 ID_MODEL동일한 모델의 드라이브가 여러 개 있는 경우 규칙은 각 드라이브에 다시 적용되며 심볼릭 링크는 마지막으로 감지/추가된 드라이브를 가리킵니다.

관련 정보