리눅스의 부트 스크립트는 하드디스크 장치를 찾아서 마운트해주는 옵션이 있습니다.

특정 하드디스크의 파티션을 특정 디렉토리로 마운트 시켜주는 역할을 하는 거죠


그것이 바로 /etc/fstab 파일 입니다.

이전에는 hdd 의 파티션을 잡을때 /dev/hda, /dev/hdb, /dev/sda, /dev/sdb 

뭐 이런 식으로 잡았죠.


그래서 fstab 에는 /dev/sda 를 어떤 디렉토리에 마운트 시켜라 하는 정보가 들어가 있었습니다.

그런데 하드를 추가하거나 할때 hdd 의 순서가 바뀌거나 하면 대상 파티션이 바뀌어 마운트되는

문제가 있었죠.  그래서 순서를 조심했어야 했습니다.


그래서 도입된 것이 hdd 에 uuid 를 부여해서 마운트 하는 방법입니다.

샘플로 uuid 정보를 볼까요?


root@nadia:/home/falinux# blkid 

/dev/mmcblk0p1: UUID="bf42bfd2-78f9-4cd2-9002-dd502fcf72db" TYPE="ext2" 

/dev/mmcblk0p2: UUID="697d371c-92f6-40bc-b77b-8261a4f85f88" TYPE="ext4" 

/dev/sda1: UUID="f198aa3e-13ba-4c36-b88c-10cf5f9c2465" TYPE="ext4" 

/dev/sda2: UUID="a7a6fd29-64c0-480b-ac0f-e63d51365287" TYPE="swap"


네 보시다 시피 UUID 의 길이는 외울수 없을 만큼 충분히 깁니다.

따라서 겹칠일이 없죠.

uuidgen 을 이용하면 생성할수도 있습니다.

포맷할때 생성할수도 있구요

랜덤하게 생성할수도 시간베이스로 생성할수도 있습니다.


어쨋건 이렇게 uuid 를 사용하게 되면 하드의 위치가 바뀌어도 정확하게 원하는 파티션을

원하는 디렉토리에 항상 동일하게 마운트 할수 있게 됩니다.



위의 정보를 이용한 fstab 파일입니다.

root@nadia:/home/falinux# cat /etc/fstab

# /etc/fstab: static file system information.

#

# Use 'blkid' to print the universally unique identifier for a

# device; this may be used with UUID= as a more robust way to name devices

# that works even if disks are added and removed. See fstab(5).

#

# <file system> <mount point>   <type>  <options>       <dump>  <pass>

proc            /proc           proc    nodev,noexec,nosuid 0       0

# / was on /dev/sda1 during installation

UUID="f198aa3e-13ba-4c36-b88c-10cf5f9c2465" /               ext4    errors=remount-ro,discard,norelatime,noatime 0       1

# swap was on /dev/sda5 during installation

UUID="a7a6fd29-64c0-480b-ac0f-e63d51365287" none            swap    defaults              0       0

sysfs           /sys                      sysfs           nodev,noexec,nosuid               0 0

none            /sys/fs/fuse/connections  fusectl         optional                          0 0

none            /sys/kernel/debug         debugfs         optional                          0 0

none            /sys/kernel/security      securityfs      optional                          0 0

devtmpfs        /dev                      devtmpfs,tmpfs  mode=0755                         0 0

devpts          /dev/pts                  devpts          noexec,nosuid,gid=tty,mode=0620   0 0

tmpfs           /run                      tmpfs           noexec,nosuid,size=10%,mode=0755  0 0

none            /run/lock                 tmpfs           nodev,noexec,nosuid,size=5242880  0 0

none            /run/shm                  tmpfs           nosuid,nodev                      0 0


UUID 를 이용하여 mount 를 하게 되면 일정하게 할수 있다는 장점이 있죠.