/etc/fstab
파일의 기능: 파일 시스템의 마운트 설정 정보 저장$ mount
$ mount
: 마운트 정보 출력$ mount
device file
| mount point
| filesystem type
| ( permission, functions...)
sysfs
on /sys
type sysfs
(rw,hosuid,nodev,noexec,realtime)
/dev/sda1
on /boot/efi
type vfat
(rw,.....)
$ mount <part> <mp>
$ mount <파티션> <마운트 포인트>
: 파티션 -> 마운트 포인트로 마운트$ sudo mount /dev/sda1 /media/${USER}/BOOT
$ sudo mount /dev/sda2 /media/${USER}/ROOT
$ mount
...중략...
/dev/sda2 on /media/$USER/ROOT type ext4 (rw,nosuid,nodev,relatime,uhelper=udisks2)
/dev/sda1 on /media/$USER/BOOT type vfat (rw,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,showexec,utf8,flush,errors=remount-ro,uhelper=udisks2)
fstab
에 있는 대로 전부 마운트$ mount --all
/etc/fstab
에 올려져 있는대로 전부 마운트$ sudo mount --all
$ mount <option>
mount
명령의 옵션은 엄청나게 많다.$ mount -t <part> <mp> -o <opt>
$ sudo mount -t vfat /dev/hda1 /dos -o ro,conv=auto
-t <file system>
으로, Specified file system
으로 마운트한다.-o ro,conv=auto
는 1) ro
Read-only, 2) conv=auto
는 텍스트 파일을 DOS 개행 문자(newline format)형식에서 유닉스 스타일로 자동적으로 변환시키도록 커널에 지시한다.$ mount -o <opt> <mp>
$ sudo mount -o <option> <mount point>
e.g.
$ sudo mount -o norock /media/mycdrom # /media/mycdrom에 norock 옵션을 사용한다.
# norock 옵션은 ISO9660 파일 시스템의 Rock Ridge 확장을 끈다.
-o
옵션과 filesystem option
을 주면된다.$ mount -r <part> <mp>
$ sudo mount -r <partition> <mount point>
(ro)
와 같다./dev/mtab
) 업데이트 않게 함$ mount -n
-n
은 mount가 시스템 런타임 마운트 데이터베이스(/dev/mtab
)을 업데이트하지 않도록한다.-n
옵션을 사용하지 않고 mount
를 했을 때, 명령이 시스템 런타임 마운트 DB(/dev/mtab
)을 업데이트 하지 못하면, mount 명령은 실패한다.'/'
rootfs는 처음에는 ro이기 때문에, rootfs를 재마운트 할 때 '-n' 옵션을 사용하지 않으면 그 마운팅은 실패한다.-n -o remount /
$ sudo mount -n -o remount /
/
를 r/w 로 재 마운팅한다. (-n
옵션을 쓰는 이유는 mount 명령의 경우 root가 읽기 전용일 때 시스템 마운트 데이터베이스에 write할 수 없기 때문이다.)/
를 올바른 장치 목록이 /etc/fstab
에 있다는 것을 가정하고 있고, 만약 그렇지 않으면 장치를 명시해야한다.$ mount --bind <A> <B>
$ mkdir -p /opt/piserver/root
$ mkdir -p /srv/tftp/pi
$ mount --bind /opt/piserver/root /srv/tftp/pi
echo "/opt/piserver/root /srv/tftp/pi none bind 0 0" >> /etc/fstab
$ umount <포인트>
$ umount <마운트 포인트>
: 마운트 포인트를 언마운트device is busy
뜸$ sudo umount <언마운트 하고 싶은 곳>
-f
: 강제강제로 umount한다.
$ sudo umount -f <언마운트 하고 싶은 곳>
그 래 도! device is busy 면!
방법 1.
방법 2.
-l
: detach later-l, --lazy
옵션: 파일 시스템을 우선 detach
하고, clean up things later
$ sudo umount -l <언마운트 하고 싶은 곳>
/etc/fstab
/etc/fstab
: 마운트 정보를 설정하는 파일로, $ mount
명령도 이 파일을 단지 읽어오는 것fstab 항목 | 설명 |
---|---|
장치명 UUID ($1 ) | 파일 시스템을 유일하게 구분하는 128bit 수 UUID는 시스템의 하드웨어 정보와 시간 정보를 조합해 랜덤으로 생성 UUID로 지정된 장치는 /dev/disk/by-uuid 디렉토리에서 조회 가능 |
덤프 관련 설정 ($(NF-1) ) | 0: dump 불가 1: dump 가능 그냥 여긴 언제나 '0'을 사용함 |
파일 점검 옵션 ($NF ) | 0: 부팅 시 fsck 안함 (cd-rom, swap, /proc 등) 1: 루트 파일 시스템은 '1'로 선택해야함!!! (파일 점검 옵션이 1인 UUID 부터 fsck가 먼저 동작함) 2: 루트 파일 시스템 이외 |
fstab 옵션 항목(다중 사용시 ',' 로 연결) | 설명 |
---|---|
defaults | 일반적인 파일 시스템에 지정하는 속성rw , nouser , auto , exec , suid 속성을 모두 포함한다. |
auto | 부팅 시, 자동으로 마운트한다. |
noauto | 부팅 시, 자동으로 마운트하지 않는다. |
exec | 실행 파일이 실행되는 것을 허용한다. |
noexec | 실행 파일이 실행되는 것을 허용하지 않는다. |
suid | setuid ,setgid 의 사용을 허용한다. |
nosuid | setuid ,setgid 의 사용을 금지한다. |
ro | read-only |
rw | r/w 가능 |
user | 접근 권한이 없는 사용자들이 특정 항목에 대해 mount를 실행할 수 있게한다. 사용자들이 setuid-root 파일을 다른 시스템과 함께 이동식 미디어에 넣을 수 있기 때문에, CD-ROM 드라이브로 접속을 허용하려고 할 때 유용하다.이 옵션은 nosuid ,noexec ,nodev 를 설정한다. |
nouser | 일반 사용자의 마운트가 불가능하다. 오직 root 만 마운트할 수 있다. |
usrquota | 사용자별로 디스크 쿼터 설정이 가능하다. |
grpquota | 그룹별로 디스크 쿼터 설정이 가능하다. |
conv='rule' | 'rule' 기반으로 파일상의 개행 문자들을 변환한다.1) conv=binary (defulat): 문자를 변환하지 않는다.2) conv=text : 모든 파일들을 텍스트로 처리한다.3) conv=auto : 확장자를 기반으로 파일을 변환한다. (예: .jpg 변환 X, .txt 변환) |
errors= | ext-2 전용 argument 시스템이 파일 시스템을 '마운팅하는 데, 문제가 있을 때! 커널의 동작 명시' errors=continue (default): 커널이 오류코드를 반환하고 계속해서 실행errors=remount-ro : 커널이 읽기 전용모드로 다시 마운팅을 시도하라errors=panic : 마운팅에 문제가 있을 때, 커널에 중단하도록 지시 |
sw | swap 용 |
loop,offset=50331648 | 이미지 파일에서 offset을 두어 마운트함 링크 참고: 링크 |
port=<PORT> | 포트번호 지정 |
_netdev | nfs등을 사용할 때 사용되는 옵션. 이 옵션이 없으면 mount가 네트워크 연결보다 먼저 일어나기 때문에 시스템 시작 시, 자동 마운트 되지 않는다. 심한 경우 무한 블록된다. 즉, _netdev 옵션은 '네트워크에 연결후 마운트' 하라는 옵션이다. |
blkid -o list
로 UUID를 구한다./dev/sda1
만 써도 된다./etc/fstab
에 등록한다./dev/sda1
을 써서,/dev/sda1 /mnt/sda1 ext4 defaults 0 2
해도 된다.fstab
대안/etc/fstab.d
디렉토리를 두어 개별적으로 파일 시스템을 설정하는 파일들을 만들어 관리하게함systemd
유닛을 설정하는 것