mount·umount
쉽게 말하면
USB나 새 디스크를 꽂아도 리눅스에서는 바로 안 보여요. 폴더 하나에 '이 장치의 입구'로 연결해 줘야 그 폴더를 통해 안을 볼 수 있어요. 이 연결이 mount, 떼어 내기가 umount예요.
시험용 정의
mount는 장치(파티션·USB·CD·ISO·네트워크 공유)의 파일시스템을 디렉터리(마운트 포인트)에 연결하는 명령이고, umount는 연결을 해제한다.
비유로 이해하기
집(디렉터리 트리)에 새 방(USB)을 붙이는 공사다. 문(마운트 포인트)을 달아야 드나들 수 있고, 떼어 낼 때(umount)는 방 안에 사람이 없어야 한다.
자세히
먼저 알아 둘 말
| 말 | 뜻 |
|---|---|
| 마운트 포인트 | 장치를 연결할 빈 디렉터리. 연결하면 그 디렉터리 안에서 장치의 파일이 보이고, 원래 있던 파일은 해제할 때까지 가려진다 |
| 파일시스템 종류(-t) | 장치에 어떤 형식으로 파일이 저장돼 있는지(ext4, xfs, vfat, iso9660, nfs, cifs). 대부분 mount가 알아서 알아내므로 생략할 수 있다 |
| 루프 장치(loop) | ISO 같은 파일을 디스크 장치처럼 보이게 해 주는 가상 장치(/dev/loop0). -o loop로 ISO 파일을 마운트한다 |
| NFS | 리눅스·유닉스끼리 네트워크로 디렉터리를 공유하는 방식. -t nfs |
| CIFS(SMB) | 윈도우의 공유 폴더 방식. 리눅스에서는 삼바(Samba)가 이 방식을 구현하고, 윈도우 공유를 마운트할 때 -t cifs를 쓴다 |
기본 형식
mount [-t 파일시스템] [-o 옵션] 장치 마운트포인트. -t를 생략하면 자동 감지한다. 인자 없이 mount만 치면 현재 마운트 목록을 보여 준다(/etc/mtab, /proc/mounts와 같은 정보).
자주 쓰는 예
| 명령 | 뜻 |
|---|---|
| mount /dev/sdb1 /mnt/usb | USB 파티션 마운트 |
| mount -t iso9660 /dev/cdrom /mnt/cdrom | CD-ROM 마운트 |
| mount -o loop ubuntu.iso /mnt/iso | ISO 이미지 파일을 장치처럼 마운트 (루프 장치) |
| mount -o remount,ro / | 이미 마운트된 /를 읽기 전용으로 다시 마운트 |
| mount -a | /etc/fstab의 항목 중 noauto가 아닌 것 모두 마운트 |
| mount -t nfs server:/share /mnt/nfs | NFS 공유 마운트 |
| mount -t xfs /dev/sdb1 /backup | XFS 파티션 마운트(ext4면 -t ext4) |
| mount -t cifs //192.168.1.10/share /mnt/win -o username=kim | 윈도 공유 폴더(SMB/CIFS) 마운트 |
| umount /mnt/usb | 해제 (장치 이름으로도 가능: umount /dev/sdb1) |
주요 옵션 (-o)
| rw / ro | 읽기·쓰기 / 읽기 전용 |
| loop | 파일을 블록 장치처럼 (ISO) |
| remount | 다시 마운트 (옵션 변경) |
| noexec | 실행 파일 실행 금지 |
| nosuid | SetUID·SetGID 무시 |
| defaults | rw, suid, dev, exec, auto, nouser, async |
umount가 안 될 때
target is busy는 누군가 그 디렉터리 안에 있거나(cd로 들어가 있음) 파일을 열고 있다는 뜻이다. fuser -m /mnt/usb 또는 lsof /mnt/usb로 사용 중인 프로세스를 찾는다. eject는 CD 등을 해제하고 꺼낸다.
시험에 이렇게 나와요
- 현재 마운트된 파일시스템 정보가 담긴 파일 →
/etc/mtab(또는 /proc/mounts). /etc/fstab은 부팅 시 마운트 설정이라 다르다 - 형식을 지정해 마운트 →
mount -t ext4 /dev/sdb1 /data,mount -t xfs … - 이미 마운트된 곳을 읽기·쓰기로 다시 마운트 →
mount -o remount,rw - 윈도 공유 폴더 마운트 형식 →
cifs, 해제 →umount, CD 꺼내기 →eject - 마운트 상태 확인 → 인자 없이
mount
확인 문제
Q1. USB 메모리(/dev/sdb1)를 꽂았다. 리눅스에서 그 안의 파일을 보려면 먼저 무엇을 해야 할까?
- 디렉터리에 마운트한다
- fsck를 실행한다
- 포맷한다
- 파티션을 새로 만든다
정답 보기
1번 디렉터리에 마운트한다
리눅스는 드라이브 문자(D:) 대신 장치를 디렉터리 트리의 한 지점에 마운트해서 쓴다. mount /dev/sdb1 /mnt/usb하면 /mnt/usb 안에서 USB 내용이 보인다.
Q2. 윈도 서버의 공유 폴더를 리눅스에 마운트할 때 -t 뒤에 쓰는 파일시스템 형식은?
- iso9660
- vfat
- cifs
- nfs
정답 보기
3번 cifs
SMB/CIFS 공유는 cifs.
Q3. 읽기 전용으로 마운트된 /data를 해제하지 않고 읽기·쓰기로 바꾸는 명령은?
- mount -t rw /data
- mount -o remount,rw /data
- umount -rw /data
- mount -a /data
정답 보기
2번 mount -o remount,rw /data
-o remount 로 옵션만 바꿔 다시 마운트.
Q4. ISO 이미지 파일을 디렉터리에 마운트할 때 필요한 옵션은?
- -o loop
- -o bind
- -t img
- -o ro
정답 보기
1번 -o loop
-o loop다. 파일을 장치처럼 다루는 루프 장치를 쓴다. -o ro는 읽기 전용, -o bind는 디렉터리를 다른 곳에도 보이게 한다.
Q5. /etc/fstab에 정의된 파일시스템을 모두 마운트하는 명령은?
- mount -f
- mount -r
- mount -a
- mount --all-fstab
정답 보기
3번 mount -a
mount -a다. fstab에 적힌 파일시스템 중 noauto가 아닌 것을 모두 마운트한다(a는 all).
Q6. 현재 마운트 정보를 담은 파일이 아닌 것은?
- /etc/fstab
- /proc/mounts
- /etc/mtab
정답 보기
1번 /etc/fstab
fstab은 부팅 시 마운트할 목록(설정)이고, 현재 상태는 mtab·/proc/mounts.
헷갈리기 쉬운 O·X
마운트 포인트 디렉터리 안에 있으면서 umount하면 정상적으로 해제된다.
정답 보기
X target is busy 오류. 밖으로 나와서 해제한다.
umount는 장치 이름이나 마운트 포인트 중 어느 쪽으로도 해제할 수 있다.
정답 보기
O 맞는 설명이다.
mount -t로 파일시스템 종류를 반드시 지정해야 한다.
정답 보기
X 생략하면 대부분 자동 감지한다.