[Linux] 리눅스 파일 시스템 마운트 가이드

서쿠·2024년 11월 5일
1

리눅스

목록 보기
4/4

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은 검사하지 않음).

예시:

UUID=abc123 /mnt/data ext4 defaults 0 2

주의 사항

fstab 파일에 오류가 있으면 부팅이 실패할 수 있으므로, 항상 편집 전 백업을 권장합니다:

sudo cp /etc/fstab /etc/fstab.bak

2. df -h: 디스크 사용량 확인

df -h 명령어는 파일 시스템의 디스크 사용량을 간편하게 확인할 수 있는 명령어입니다.

  • 용도: 각 파일 시스템의 총 용량, 사용 중인 용량, 여유 공간, 사용률, 마운트 지점을 표시합니다.

  • 옵션:

    • -h: 사람이 읽기 쉬운 형태로 표시 (GB, MB 등).

사용 예시:

df -h

출력 예시:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        50G   15G   33G  32% /

3. 파일 시스템 마운트: mount 명령어 사용법

기본 사용법

파일 시스템을 특정 마운트 지점에 마운트하기 위해 mount 명령어를 사용합니다:

sudo mount [옵션] <장치> <마운트 지점>

예시:

sudo mount /dev/sdb1 /mnt/external_drive

일반적인 마운트 옵션

  • ro: 읽기 전용 마운트.
  • rw: 읽기/쓰기 가능 마운트.
  • noexec: 실행 파일이 실행되지 않도록 설정.
  • user: 일반 사용자가 마운트 가능하도록 설정.

다양한 파일 시스템 유형 마운트

  • ext4: 리눅스 기본 파일 시스템, 내구성 높음.
  • NTFS: 윈도우 시스템과의 호환성을 위해 사용.
  • NFS: 네트워크 파일 시스템, 네트워크 공유 드라이브에 사용.
sudo mount -t ntfs /dev/sdb1 /mnt/ntfs_drive

임시 마운트와 영구 마운트의 차이

  • 임시 마운트: mount 명령어로 마운트, 시스템 재부팅 시 해제됨.
  • 영구 마운트: /etc/fstab에 항목을 추가해 시스템 부팅 시 자동으로 마운트됨.

4. 자주 사용되는 마운트 관련 명령어

umount: 파일 시스템 언마운트

파일 시스템을 안전하게 해제하려면 umount 명령어를 사용합니다:

sudo umount <마운트 지점>

예시:

sudo umount /mnt/external_drive

findmnt: 현재 마운트된 파일 시스템 정보 표시

현재 마운트된 모든 파일 시스템을 표시합니다.

findmnt

blkid: 블록 장치의 UUID 및 파일 시스템 유형 확인

blkid 명령어를 통해 장치의 UUID 및 파일 시스템 유형을 확인할 수 있습니다.

blkid /dev/sdb1

5. 실제 사용 사례

새 하드 디스크 추가 및 마운트

  1. 새 디스크를 추가한 후, fdisk -l을 통해 디스크 목록을 확인합니다.

  2. mkfs 명령어를 사용해 파일 시스템을 생성합니다:

    sudo mkfs.ext4 /dev/sdb1
  3. /etc/fstab 파일에 추가하여 영구 마운트합니다:

    UUID=abc123 /mnt/newdisk ext4 defaults 0 2

USB 드라이브 자동 마운트 설정

USB 드라이브를 자동으로 마운트하려면 /etc/fstab에 추가합니다. USB가 여러 개일 경우 UUID를 사용해 정확히 설정할 수 있습니다.

UUID=usb-unique-id /media/usbdrive vfat defaults,user 0 0

NFS 공유 마운트하기

NFS 서버의 디렉토리를 클라이언트 시스템에 마운트하려면 /etc/fstab에 다음과 같이 추가합니다:

server:/shared /mnt/shared nfs defaults 0 0

6. 마운트 관련 문제 해결

일반적인 마운트 오류 및 해결 방법

  • fstab 구문 오류: fstab 편집 시 오타가 있으면 부팅이 실패할 수 있습니다. mount -a 명령어로 부팅 전 테스트를 권장합니다.

  • 부팅 실패 시 응급 모드로 진입: 응급 모드에서 rw 모드로 파일 시스템을 마운트하여 fstab 파일을 수정합니다:

    mount -o rw,remount /
    vi /etc/fstab

7. 보안 고려사항

파일 시스템 마운트 시 보안에 유의해야 합니다. 예를 들어, USB 장치에는 noexec, nosuid와 같은 옵션을 설정하여 잠재적인 악성 파일 실행을 방지할 수 있습니다:

UUID=usb-unique-id /media/usbdrive vfat noexec,nosuid,nodev 0 0

결론

리눅스의 파일 시스템 마운트는 시스템 설정과 운영에서 중요한 부분입니다. /etc/fstab 파일을 사용해 부팅 시 자동 마운트를 설정하고, 필요에 따라 mount, umount, df -h 등의 명령어를 사용해 디스크 관리와 파일 시스템의 사용량을 확인할 수 있습니다.

이 가이드를 통해 파일 시스템을 보다 안전하고 효율적으로 관리해보세요. 😎

profile
Always be passionate ✨

0개의 댓글