예를 들어, 이것은 나의 첫 번째 줄입니다 /etc/fstab
.
UUID=050e1e34-39e6-4072-a03e-ae0bf90ba13a / ext4 errors=remount-ro 0 1
다음은 명령의 출력입니다 df -h
(사용 가능한 디스크 공간 보고).
honey@bunny:~$ df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/vda ext4 30832636 4884200 24359188 17% /
none tmpfs 4 0 4 0% /sys/fs/cgroup
udev devtmpfs 498172 12 498160 1% /dev
tmpfs tmpfs 101796 320 101476 1% /run
none tmpfs 5120 0 5120 0% /run/lock
none tmpfs 508972 0 508972 0% /run/shm
none tmpfs 102400 0 102400 0% /run/user
첫 번째 열이 다음과 같다면 이 두 열에서 표현을 추론할 수 있습니까
UUID=050e1e34-39e6-4072-a03e-ae0bf90ba13a
?/dev/vda
fstab
<file system>
/etc/fstab
그럼 이렇게 수정해도 괜찮을까요?/dev/vda / ext4 errors=remount-ro 0 1
편집하다:그렇다면(위 질문에 대해)
sudo blkid
명령이 다른 UUID를 표시하는 이유는 무엇입니까/dev/vda
?$ sudo blkid /dev/vda: LABEL="DOROOT" UUID="6f469437-4935-44c5-8ac6-53eb54a9af26" TYPE="ext4"
내가 여기서 무엇을 놓치고 있는 걸까요?
답변:내 결론은 (3)이 내 호스팅 클라우드의 버그라는 것입니다. 그렇습니다.
blkid
(또는) 보고된 UUIDls -l /dev/disk/by-uuid
는/etc/fstab
.
답변1
UUID 사용의 장점은 하드 드라이브에 대해 운영 체제에서 제공하는 실제 장치 번호와 무관하다는 것입니다.
시스템에 다른 하드 드라이브를 추가했는데 어떤 이유로 운영 체제가 기존 디스크를 sdb
대신 사용하기 로 결정했다고 상상해 보십시오 sda
.
fstab
장치 이름을 가리키면 부팅 프로세스가 엉망이 됩니다. 그러나 UUID의 경우에는 문제가 되지 않습니다.
UUID에 대한 자세한 내용은 블로그 게시물에서도 확인할 수 있습니다."UUID와 Linux: 당신이 알아야 할 모든 것"
답변2
그러면 /etc/fstab을 이것으로 수정할 수 있습니까?
너할 수 있는그럴 것이다아마도문제 없습니다. 하지만 UUID를 유지하는 것이 더 나을 것입니다.
UUID이 경우 블록 장치의 파티션을 식별하는 임의의 문자열은 파티션 자체와 함께 저장되며 필요에 따라 다른 파티션을 할당할 수 있습니다(MAC 주소와 유사).
UUID를 사용하면 모호하지 않다는 장점이 있지만 그 반대는 /dev/vda
사실이 아닙니다.할 수 있다부팅 시 다른 드라이브가 되는 경우가 있습니다. 그러나 이는 문맥상 완전히 이론적인 것일 수 있습니다(예: 특정 유형의 드라이브만 있기 때문에).
장치 이름을 사용하면 문제가 발생할 수 있는 또 다른 미묘한 예는 최근 일부 시스템에서 장치 이름을 사용하도록 전환한 것입니다.일관된 네트워크 장치 이름. 업그레이드로 이런 일이 발생하고 일부 네트워크 스크립트에서 하드코딩된 장치 이름을 사용하면 충돌이 발생합니다. WRT 블록 장치의 병렬 예는 명명 체계를 변경하는 커널 또는 udev 업그레이드일 수 있습니다.
UUID의 장점은 이러한 일을 가능하고 쉽게 만든다는 것입니다. 그래서 당신이할 수 있는장치 이름을 사용하면 아무런 이점이 없습니다.~하지 않는 한(예) 다른 드라이브를 교체할 수 있는 시스템이 있습니다. 즉, 그렇게 할 정당한 이유가 없다면,UUID를 고수하라.
답변3
man fstab
파일의 내용과 의미를 상당히 간결하게 읽을 수 있습니다 /etc/fstab
. 내 x86(아주 최근의 Arch Linux 서버)에서는 man fstab
다음을 제공합니다.
The second field ... describes the mount point for the filesystem.
그렇습니다. 두 장치 모두 "/"에 설치된 것으로 보이기 때문에 /dev/vda
일부 장치의 많은 이름 중 하나인 것 같습니다 .UUID=050e1e34-39e6-4072-a03e-ae0bf90ba13a
해당 디렉토리를 보면 /dev/disk/by-uuid/
내 서버에 있는 /dev/sda1
과 같은 항목을 가리키는 심볼릭 링크를 볼 수 있습니다. /dev/sdb1
이는 가설을 테스트하는 또 다른 방법일 수 있습니다. 동일한 장치에 대한 대체 이름으로 나타나는 하위 디렉터리 가 /dev/disk
있습니다 .by-id
by-path
by-uuid