
fstab, df -h, 마운트 명령어 완벽 이해하기
리눅스 시스템에서 파일 시스템 마운트는 필수적인 작업입니다. 시스템이 부팅할 때마다 자동으로 디스크를 마운트하고, 다양한 파일 시스템을 관리하는 과정에서 효율성과 안정성을 높이기 위해 여러 명령어를 활용할 수 있습니다.
이 글에서는 리눅스 마운트 관련 핵심 파일인 /etc/fstab, 디스크 사용량 확인을 위한 df -h, 파일 시스템 마운트와 관련된 명령어들에 대해 알아보겠습니다.
1. /etc/fstab 파일: 파일 시스템 자동 마운트 설정
역할
/etc/fstab 파일은 시스템 부팅 시 자동으로 마운트할 파일 시스템의 정보를 저장하는 구성 파일입니다.
- 이를 통해 디스크를 매번 수동으로 마운트할 필요 없이, 시스템이 시작될 때 지정된 파일 시스템이 자동으로 마운트됩니다.
/etc/fstab 파일 구조
fstab 파일은 6개의 필드로 구성된 각 파일 시스템의 정보를 포함하고 있습니다:
- 파일 시스템: 마운트할 장치나 파일 시스템의 경로 (예:
/dev/sda1또는 UUID). - 마운트 지점: 파일 시스템이 마운트될 디렉토리 (예:
/mnt/data). - 파일 시스템 유형:
ext4,NTFS,NFS등. - 옵션: 마운트 옵션 설정 (
defaults,ro,rw,noexec등). - 덤프: 백업 유틸리티
dump가 사용할지 여부 (0 또는 1). - 패스:
fsck명령어로 부팅 시 파일 시스템 검사 순서를 지정 (0은 검사하지 않음).
예시:
1
UUID=abc123 /mnt/data ext4 defaults 0 2
주의 사항
fstab 파일에 오류가 있으면 부팅이 실패할 수 있으므로, 항상 편집 전 백업을 권장합니다:
1
sudo cp /etc/fstab /etc/fstab.bak
2. df -h: 디스크 사용량 확인
df -h 명령어는 파일 시스템의 디스크 사용량을 간편하게 확인할 수 있는 명령어입니다.
- 용도: 각 파일 시스템의 총 용량, 사용 중인 용량, 여유 공간, 사용률, 마운트 지점을 표시합니다.
-
옵션:
-h: 사람이 읽기 쉬운 형태로 표시 (GB, MB 등).
사용 예시:
1
df -h
출력 예시:
1
2
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 50G 15G 33G 32% /
3. 파일 시스템 마운트: mount 명령어 사용법
기본 사용법
파일 시스템을 특정 마운트 지점에 마운트하기 위해 mount 명령어를 사용합니다:
1
sudo mount [옵션] <장치> <마운트 지점>
예시:
1
sudo mount /dev/sdb1 /mnt/external_drive
일반적인 마운트 옵션
ro: 읽기 전용 마운트.rw: 읽기/쓰기 가능 마운트.noexec: 실행 파일이 실행되지 않도록 설정.user: 일반 사용자가 마운트 가능하도록 설정.
다양한 파일 시스템 유형 마운트
ext4: 리눅스 기본 파일 시스템, 내구성 높음.NTFS: 윈도우 시스템과의 호환성을 위해 사용.NFS: 네트워크 파일 시스템, 네트워크 공유 드라이브에 사용.
1
sudo mount -t ntfs /dev/sdb1 /mnt/ntfs_drive
임시 마운트와 영구 마운트의 차이
- 임시 마운트:
mount명령어로 마운트, 시스템 재부팅 시 해제됨. - 영구 마운트:
/etc/fstab에 항목을 추가해 시스템 부팅 시 자동으로 마운트됨.
4. 자주 사용되는 마운트 관련 명령어
umount: 파일 시스템 언마운트
파일 시스템을 안전하게 해제하려면 umount 명령어를 사용합니다:
1
sudo umount <마운트 지점>
예시:
1
sudo umount /mnt/external_drive
findmnt: 현재 마운트된 파일 시스템 정보 표시
현재 마운트된 모든 파일 시스템을 표시합니다.
1
findmnt
blkid: 블록 장치의 UUID 및 파일 시스템 유형 확인
blkid 명령어를 통해 장치의 UUID 및 파일 시스템 유형을 확인할 수 있습니다.
1
blkid /dev/sdb1
5. 실제 사용 사례
새 하드 디스크 추가 및 마운트
- 새 디스크를 추가한 후,
fdisk -l을 통해 디스크 목록을 확인합니다. -
mkfs명령어를 사용해 파일 시스템을 생성합니다:1
sudo mkfs.ext4 /dev/sdb1
-
/etc/fstab파일에 추가하여 영구 마운트합니다:1
UUID=abc123 /mnt/newdisk ext4 defaults 0 2
USB 드라이브 자동 마운트 설정
USB 드라이브를 자동으로 마운트하려면 /etc/fstab에 추가합니다. USB가 여러 개일 경우 UUID를 사용해 정확히 설정할 수 있습니다.
1
UUID=usb-unique-id /media/usbdrive vfat defaults,user 0 0
NFS 공유 마운트하기
NFS 서버의 디렉토리를 클라이언트 시스템에 마운트하려면 /etc/fstab에 다음과 같이 추가합니다:
1
server:/shared /mnt/shared nfs defaults 0 0
6. 마운트 관련 문제 해결
일반적인 마운트 오류 및 해결 방법
- fstab 구문 오류:
fstab편집 시 오타가 있으면 부팅이 실패할 수 있습니다.mount -a명령어로 부팅 전 테스트를 권장합니다. -
부팅 실패 시 응급 모드로 진입: 응급 모드에서
rw모드로 파일 시스템을 마운트하여fstab파일을 수정합니다:1 2
mount -o rw,remount / vi /etc/fstab
7. 보안 고려사항
파일 시스템 마운트 시 보안에 유의해야 합니다. 예를 들어, USB 장치에는 noexec, nosuid와 같은 옵션을 설정하여 잠재적인 악성 파일 실행을 방지할 수 있습니다:
1
UUID=usb-unique-id /media/usbdrive vfat noexec,nosuid,nodev 0 0
결론
리눅스의 파일 시스템 마운트는 시스템 설정과 운영에서 중요한 부분입니다. /etc/fstab 파일을 사용해 부팅 시 자동 마운트를 설정하고, 필요에 따라 mount, umount, df -h 등의 명령어를 사용해 디스크 관리와 파일 시스템의 사용량을 확인할 수 있습니다.
이 가이드를 통해 파일 시스템을 보다 안전하고 효율적으로 관리해보세요. 😎