fstab이란?
fstab은 Linux 시스템의 file system table을 뜻한다. mount를 쉽게 하기 위한 configuration table이다.
fstab의 구조
6개의 항목이 순서대로 구성되어야 한다.
- 디바이스 (Device): 보통 mount되는 디바이스의 이름 혹은 UUID이다. 예를 들면, sda1
- 마운트 위치 (Mount point): mount될 디렉토리의 위치
- 파일 시스템 타입 (File System Type): 사용되는 file system의 type
- 옵션 (Options): mount 옵션. 여러개를 쓸 때는 콤마(,)로 구분한다.
- 백업 동작 (Backup Operation): 0은 백업하지 않음. 1은 dump로 backup을 할지를 결정. 오래된 backup 방법이라서 0으로 설정해서 사용하지 않도록 한다.
- 파일 시스템 체크 순서 (File System Check Order): 0은 fsck로 체크하지 않음. 1은 root file system, 다른 파티션들은 2로 설정되어야 한다. 3, 4, … 로 한다고 해서 순서가 되지 않으므로 순서를 설정하지 않도록 한다. 그냥 다른 모든 파티션은 2이다.
예제
proc /proc proc defaults 0 0
PARTUUID=5e3da3da-01 /boot vfat defaults 0 2
PARTUUID=5e3da3da-02 / ext4 defaults,noatime 0 1
UUID=678dcc13-1b44-4ee8-80cf-7f186587054d /mnt/NAS ext4 defaults,noatime,rw 0 2
# a swapfile is not a swap partition, no line here
# use dphys-swapfile swap[on|off] for that
다른 mount 옵션
- auto / noauto: 부팅 시에 자동으로 mount할지 말지.
- exec / noexec: 그 파티션이 바이너리를 실행할 수 있는지 아닌지. 보통 보안 목적으로 noexec로 설정된다.
- ro / rw: ro는 읽기 전용 (read-only), rw는 읽기 쓰기 (read-write)
- nouser / user: user가 mount권한을 갖을지 말지.
- atime / noatime / relatime: access time (atime) 을 기록할지 말지. relatime은 access time이 atime data가 마지막으로 update된 (mtime) 이후에 파일이 수정되었을 때, 또는 마지막으로 access된 후 일정 시간 (기본값은 하루)이 지난 후에만 업데이트한다.
- suid / nosuid: suid와 sgid 비트 동작을 허용할지 말지.
- dev / nodev: character나 block special device를 interpret할지 말지.
- defaults: 기본값을 사용. rw, suid, dev, exec, auto, nouser, async 와 같다.