안녕하세요 Kloong입니다.
오늘은 mount 명령어에 대해서 포스팅 할끄에요
사실 임시저장 해놨었는데 날아가버려서 조금 빡치지만 그래도 열심히 할게요 엉엉
시작!
mount 명령어란
보조기억장치를 디렉터리처럼 쓰게 하거나 다른 파일 시스템의 장치에 접근할 수 있게 하는 명령어입니다.
mount 명령어로 윈도우에 있는 공유파일을 리눅스의 디렉터리에 mount 해서 파일을 공유할 수도 있고
외장 하드를 디렉터리에 mount 해서 디렉터리처럼 쓸 수 있는거죠.
mount 명령어는 /etc/fstab 이라는 파일의 설정을 기초로해서 작동합니다.(자세한 내용은 나중에 하겠습니다)
mount 명령어의 기본 형식은
#sudo mount [-v -r -w] [-t 파일 시스템] [-o 옵션] [마운트 할 장치] [마운트 될 디렉터리]
아무 것도 없이 mount 만 하면 현재 mount 정보가 출력됩니다.(-v 옵션을 쓰면 자세한 정보가 출력되는데 잘 모르겠음 ㅋ)
-r 옵션을 쓰면 read-only 로 mount 합니다. -w 는 읽기 쓰기 모두 되게 mount 합니다.
(-r -w 얘네 둘은 쓰지 않고 옵션에서 따로 설정하는게 편합니다.)
파일 시스템은 마운트 할 장치에 맞게 써주시면 됩니다.
대표적인 파일 시스템으로는
iso9660 : CD-ROM의 파일 시스템
vfat : Window 95,98,NT 파일 시스템
ext2 : 리눅스에서 사용되는 파일 시스템
ext3 : ext2 + 저널링 파일 시스템(파일 복구 기능)
nfs : Network File System 의 약자. nfs 서버의 공유 디렉터리를 mount 할 때 쓰임
cifs : 윈도우 공유파일에서 쓰는 파일 시스템
등이 있습니다.
mount 명령어에서 자주 쓰는 쪽으로(물론 몇 개는 아닙니다 ㅋ) 써봤구요
옵션은 되게 많아서 자주 쓰이는 것만 쓰겠습니다.(사실 잘 모름ㅋ)
default : rw, suid, dev, auto, nouser, async 옵션이 선택됩니다. 옵션을 안 쓰시면 자동으로 선택됩니다.
ro : read-only. 읽기 전용으로 mount합니다.
rw : read and write. 읽기 쓰기 모두 가능하게 mount합니다.
auto : -a 옵션으로 mount 할 수 있게 합니다. 그니까 mount -a 하면 auto 옵션이 되어있는 장치는 자동으로 mount가 됩니다.
noauto: -a 옵션으로 mount 안됨 ㅠ 명시적으로만 mount 된다는데 이게 명령어로 쳐야지 mount 된다는 소리인 것 같음.
exec : 실행파일의 실행을 가능하게 mount 합니다.
noexec : 실행파일의 실행이 불가능합니다.
user : 일반사용자의 mount를 허용합니다.
nouser : 일반사용자의 mount를 거부합니다.(root만 가능하게 합니다)
async : 파일시스템에 대한 입출력이 비동기적으로 이루어지게 합니다.
sync : 파일시스템에 대한 입출력이 동기적으로 이루어지게 합니다.
remount : 이미 mount 된 파일 시스템을 다시 mount 합니다. mount를 잘못했거나 /etc/fstab 을 잘못 수정했을 때 쓴다네요.
dev : 파일 시스템의 문자, 블럭 특수장치를 해석합니다.(뭔 소린지)
suid : set-UID 와 get-GID 의 사용을 허가합니다.(이게 뭔소리임)
nosuid : suid의 반대입니다.
umask : mount 된 디렉터리에서 새로 생성하는 파일과 디렉터리의 퍼미션의 default 값을 지정합니다.
파일과 디렉터리를 새로 생성할 때 마다 퍼미션을 주기 귀찮을 때 쓰시면 됩니다.
얘는 특이한게 퍼미션을 주는 개념이 아니라 박탈하는 개념입니다.
그러니까 퍼미션 755을 주겟다고 umask=755 하면 퍼미션은 022로 되어버립니다.(777 - 755)
결론은 퍼미션 755를 주기 위해서는 umask=022 (777에서 022를 빼면 755) 하면 됩니다.
참고로 umask 옵션을 주면 새로 생기는 파일이나 디렉터리 뿐만 아니라
mount 된 디렉터리와 이미 그 안에 있는 모든 파일,디렉터리의 퍼미션이 umask의 영향을 받습니다.
(umask=022 하면 안에 있는 애들도 퍼미션이 755가 됨)
또 umask 옵션을 안 주면 새로 생기는 애들, 이미 안에 있는 애들의 퍼미션이 777이 됩니다 주의해주세요.
(원래 umask 개념이 새로 생성하는 애들의 퍼미션을 바꾸는 건데 왜 원래 있던 애들도 바뀌는지 모르겠네요;;)
fmask : umask의 개념에서 디렉터리 관련 내용만 뺀 옵션입니다. 파일의 퍼미션만 설정합니다.
dmask : umask의 개념에서 파일 관련 내용만 뺀 옵션입니다. 디렉터리의 퍼미션만 설정합니다.
옵션을 여러 개 쓸 때는 사이에 : 콜론을 붙여주시면 됩니다.
#sudo mount -t ntfs -o rw:suid:dev:auto /dev/hda1 /home/kloong/mnt
요런 식으로 명령어를 써주시면 됩니다.(파일 시스템은 장치의 파일 시스템을 쓰시면 되는 것 같습니다.)
마운트를 해제할 때는 umount 명령어를 쓰시면 됩니다.
#sudo umount [장치명 또는 디렉터리명]
아주 간단하게 마운트가 해제됩니다.
#sudo umount -a [-t 파일 시스템]
-a 옵션을 쓰시면 시스템이 mount 한 장치나 파일 시스템을 제외하고 사용자가 mount 한 장치나 파일 시스템을 모두 umount,
-t 옵션을 추가하시면 원하는 파일 시스템만 umount 합니다.
예를 들어
#sudo umount -a -t ext3
하면 사용자가 mount 한 장치나 파일 시스템중에 ext3을 사용하는 것만 umount 합니다.
아 그런데 umount를 한 적도 없는데 재부팅했더니 mount가 해제되어있다구요?
그럴 때 /etc/fstab 파일을 편집하면 됩니다. /etc/fstab 편집을 통해서 부팅시에 자동으로 mount 되게 할 수 있졍
파일 구조에 대해서 설명을 해드리겠습니다
사진이 있으면 편한테 우분투에서 안되는건지 제 노트북이 이상한건지 프린트 스크린 키가 먹지를 않네요 ㅠㅠ
기본적인 구조는
<마운트 할 장치> <마운트 될 디렉터리> <파일 시스템> <옵션> <덤프> <검사>
마운트 할 장치 : 말 그대로 장치를 말합니다. 처음에 파일을 열면 UUID=어쩌구저쩌구 되어있는데
UUID는 장치가 가지고 있는 값이라고 보시면 됩니다.
(맥 어드레스와는 다르다고 합니다. 맥 어드레스는 고유의 값인데 비해 UUID는 겹치거나 변한다고 하네요)
장치의 UUID를 모르는데 어떻게 하냐구요? 몰라도 됩니다 ㅋ 그냥 /dev/had1 이렇게 해도 됩니다 굿ㅋ
마운트 될 디렉터리 : 이 건 뭔지 아시겠죠? 말 그대로 입니다.
파일 시스템 : 어떤 파일시스템으로 mount 할 지 써주시면 됩니다. 위에 나와있는 파일 시스템을 쓰시면 됩니다.
옵션 : mount 명령어에서 -o 다음에 나오는 옵션을 써주시면 됩니다.
얘는 여러 옵션을 쓸 때 콜론이 아니라 콤마를 쓴다고 하네요.
덤프 : 덤프란 백업,오류 수정, 데이터 검사 이런 것들을 말하는 겁니다.(백업이라고 생각하시면 될 듯 합니다.)
얘는 설정할 때 숫자로 합니다.
0 : 안합니다.
1 : 합니다.
검사 : 부팅 시에 검사 여부를 결정합니다. 얘도 숫자로 설정합니다.
0 : 안합니다.
1 : 루트 파일 시스템으로 부팅 시에 검사합니다.
2 : 루트 파일 시스템 이외의 파일 시스템으로 부팅 시에 검사합니다.
이 양식에 맞게 수정하시면 재부팅해도 자동으로 mount가 됩니다. 굿ㅋ
이번에는 /etc/mtab 파일에 대한 내용입니다.
/etc/mtab 에는 현재 mount 되어있는 파일 시스템이나 장치들의 정보가 있습니다.
수정할 필요는 없습니다.(mount 정보가 바뀔 때마다 지가 알아서 수정합니다.)
파일 구조는 /etc/fstab 과 거의 똑같은 것 같네요. 비슷한 방식으로 해석하시면 됩니다.
현재 mount 정보를 볼 때 #sudo mount 아니면 #cat /etc/mstab 하면 되는겁니다 굿굿
와 이 포스팅하는데 진짜 오래걸렸네요
저도 잘 모르는 내용들이 많아서 저도 많이 배웠습니다 ㅋㅋ
그럼 지금까지 Kloong 이였습니다.
좋은 하루 되세요!
'--Kloong-- > Linux-Ubuntu 유용한 정보' 카테고리의 다른 글
Linux-Ubuntu 유용한 정보 3 - 파일 시스템 (0) | 2013.02.20 |
---|---|
Linux-Ubuntu 유용한 정보 2 - 런 레벨과 init 명령어 (0) | 2013.02.14 |
Linux-Ubuntu 유용한 정보 1 - /etc/init.d (0) | 2013.02.14 |