커널 UUID란 무엇입니까? 왜 미친 짓을 하는 거지?

커널 UUID란 무엇입니까? 왜 미친 짓을 하는 거지?

나는 보았다DebConf 14: Linus Torvalds와 함께하는 QA, 약 19:50에서 Linux는 "UUID가 미친 짓이야!"라고 언급합니다.

UUID는 (커널 수준에서) 무엇에 사용됩니까? 리누스는 이것이 무엇을 의미하는가?

답변1

파일 시스템은 포맷될 때 고유하게 식별하기 위해 임의의 숫자가 제공됩니다. 예전에는 /dev/sda와 같이 임의로 할당된 ID와 파티션 번호로 구성된 개발 노드를 사용하여 어떤 파일 시스템을 마운트해야 하는지 식별하기 위해 부트 로더와 /etc/fstab을 구성해야 했습니다. 문제는 파티션 번호가 변경되면 기존 참조가 모두 손상된다는 것입니다. 정말 큰 문제는 디스크 자체의 임의 ID가 자주 변경되기 시작했을 때 발생했습니다. IDE 디스크에는 4개만 있을 수 있으므로 드라이브가 연결된 물리적 포트에 따라 /dev/hda인지 /dev/hdb인지 결정됩니다. 그러나 SCSI 디스크, SATA 디스크 또는 여러 디스크 컨트롤러가 있는 시스템의 경우 ID는 검색된 순서대로 할당되며 이 순서는 다소 임의적이며, 그렇지 않은 경우에도 부팅할 때마다 변경될 수 있습니다. USB 디스크를 연결하는 것과 같은 작업을 수행하지 마십시오. 이러한 시스템이 대중화됨에 따라 개발 노드 이름에 의존할 필요가 없는 것이 중요해졌기 때문에 시스템은 어떤 파일 시스템을 어디에 마운트해야 하는지 식별하기 위해 UUID를 사용하도록 전환했으며, 특정 부팅 시 표시되는 개발 노드는 무엇이든 식별할 수 없습니다. 상관없어.

관련 정보