mount 란?
파일 시스템 구조를 사용자나 사용자 그룹들이 사용할 수 있도록 해주는 것이다.
리눅스 환경에서 mount 명령은 논리적으로 디스크와 디렉토리를 연결시켜주는 명령이다.
윈도우 환경에서는 파티션을 생성하면 자동으로 드라이브명 (C, D 등등)이랑 파일시스템이 연결 되지만 Linux에서는
관리자가 직접 파티션을 직접 특정 디렉토리에 연결해야 한다. 바로 이것이 마운트 !!!
지금 리눅스가 깔려있는데 난 어떤 파티션에 어떤 디렉토리가 연결 되어있는지 몰라!! 하시는 분들은
mount 란 명령어를 아무 옵션 없이 한 번 써보자.
이렇게 쭈욱~ 나온다! 첫 번째 문장만 해석해 보면 /dev/sda2 란 장치가 / (최상위 디렉토리) 랑 파일시스템 ext3으로 마운트 되어있다는 것이다. 이런식으로 파티션들은 디렉토리랑 마운트가 되어있어야만 사용 가능하다.
마운트를 사용해 파티션과 디렉토리를 연결하는 방법 두 가지를 소개하겠다.
우선 mount 명령어를 사용해 연결하는 방법
형식은
mount [ 옵션 ] [ 장치 ] [ 디렉토리 ] 예 :) mount -n /dev/sda3 /test
옵션의 종류는
-a : /etc/fstab에 적혀있는 파일시스템 중에 연결이 끊어져 있는 것들만 마운트해서 다시 연결한다.
/etc/fstab 파일은 좀 더 아래로 가면 자세히 적어 놓았다.
-n : /etc/mtab 파일에 정보를 남기지 않고 마운트 한다. /etc/mtab 파일이 뭐하는 파일이냐고?
마운트 된 것들의 정보를 저 파일에 기록해 놓는다. 관리자가 일반 유저들이 mount 명령어를 사용해
현재 시스템에 어떤 파티션이 어떤 디렉토리랑 연결 되어있는지를 확인할 때 일반 유저들한테 비밀로 하면서
마운트 시키고 싶을 때 이 옵션을 사용하면 된다. 아래에 그 사용 예를 기록해 놓았다.
옵션의 종류는 좀 더 있지만 다른 옵션은 별로 쓸 곳이 없을 거 같아 안 올리겠다.(너무 마음대로…)
-n 옵션의 활용 예를 보여주겠다.
우선 현재 마운트 되어있는 리스트이다.
이 정보는 위에서 옵션에 대해 설명할 때 말했던 것처럼 /etc/mtab에 있는 파일을 읽어 온 것이다.
그럼 실제로 /etc/mtab에는 어떻게 기록이 되어있는지 보자.
완전 비슷하네?
이제 /etc/mtab 파일을 확인해 봤으니 -n 옵션을 사용해 마운트 해보겠다.
/dev/hda3 가 마운트 되었다는 정보가 보이는가? 안 보인다. 하지만 연결은 되어있다.
여기서 보이는 lost+found는 파일시스템 ext3 을 사용할 때 저널링 기능 때문에 생기는 디렉토리이다.
저널링 기능은 작업 중이던 프로세스가 예기치 못한 종료를 맞이할 때 비휘발성인 하드디스크에 임시적으로 저장하는
기능이다. 쉽게 말해 어떤 작업을 하다가 갑자기 전원이 나가서 종료 되었을 때 다시 컴퓨터를 키면 작업하던 게 날라가는 것이 아니라 다시 이어서 할 수 있게 해주는 기능 이게 저널링 기능이다. lost+found 디렉토리 이야기 하다가 뭔 소리냐고요?
비휘발성인 하드디스크에 임시적으로 저장 되는 장소가 바로 저 lost+found 이다. 각 파티션 별로 저 디렉토리는 존재한다.
이번엔 mount 명령어를 사용해서 연결했던 것을 해제 해보자.
매우 간단하다.
umount [ 옵션 ] [ 장치 or 디렉토리 ] ex :) umount /dev/sda1 or umount /test
옵션의 종류는
-a : 마운트 되어있는 모든 파일시스템을 해제할 때 사용한다. 웬만하면 사용하지 말기를…
-f : 강제로 연결해제 할 때 사용한다. 보통은 NFS 서비스에 연결 되어있는 파일시스템을 해제할 때 사용한다.
이건 따로 올리진 않겠다. 너무 길어질 것 같아서…
이번엔 마운트 설정을 하는 또 다른 방법을 소개하겠다.
바로 /etc/fstab 파일을 수정해서 하는 mount 하는 방법이다.
/etc/fstab 파일을 읽어보면…
1번 필드 2번 필드 3번필드 4번필드 5번 6번
1번 필드 : 디바이스 이름
2번 필드 : 마운트 된 디렉토리
3번 필드 : 파일 시스템 타입
4번 필드 : 자동 마운트 여부
5번 필드 : dump 기능 사용 여부 dump기능 : 백업기능
6번 필드 : 부팅시 파일시스템 체크를 할 것인지 여부
0은 체크 안 하겠다. 1은 root의 파일시스템을 체크하겠다. 2는 root 파일시스템 말고 나머지 파일시스템 체크
4번 필드에는 여러가지가 올 수 있다. defaults 에는 auto, rw, suid, dev, exec, nouser, async 옵션을 기본 포함하고 있다.
auto : 부팅시 자동으로 마운트 된다.
exec : 실행 파일이 실행되는 것을 허용하게 한다.
ro : 읽기전용만 가능하게 한다.
rw : 읽고 쓰기기능이 가능하다.
user : 일반 사용자들도 마운트 할 수 있게 한다.
nouser : 일반 사용자들은 마운트 할 수 없게 한다.
noauto : 부팅시 자동으로 망누트 되지 않게 한다.
noexec : 실행파일을 실행되지 못하게 한다.
위에서 보면 1번 필드에 LABEL 어쩌구가 보일 것이다.
Label은 장치를 참조하는 방법이다.
파티션에 어떤 label 이 지정 되어있는지 확인 하는 방법은 e2label [장치명] 이다.
/dev/sda1 은 라벨이 /boot 가 붙어있는 것이고 /dev/hda3 은 라벨이 지정 안 되어있는 것이다.
Label을 지정해보자.
이제 /dev/hda3 은 라벨이 Sangmi 로 붙어 있는 것이다.
보통 라벨을 사용할 때는 ' LABEL=라벨명 ' 이렇게 같이 사용해야 한다. 그냥 달랑 라벨명만 사용하면 안 된다.
끝!마운트는 디렉토리랑 파티션을 연결할 때 사용하는데 이때 디렉토리는 파티션을 사용하기 위한 연결고리라고 생각 해보세요.
'리눅스' 카테고리의 다른 글
RPM( Redhat Package Manager) (1) | 2012.02.09 |
---|---|
리눅스 기본 명령어 (0) | 2012.02.09 |
APM 설치 옵션 정리 (1) | 2012.02.09 |
/etc/inittab (4) | 2012.02.09 |
OpenWrt The Boot Process (5) | 2012.02.09 |