CS

[Linux] 파일 시스템(/etc/fstab)

kyoulho 2024. 8. 26. 22:04

/etc/fstab 파일은 리눅스 시스템에서 파일 시스템을 부팅 시 자동으로 마운트 할 수 있도록 설정하는 중요한 구성 파일이다. 이 파일에는 시스템의 각 파일 시스템, 스왑 공간, 네트워크 파일 시스템(NFS) 등을 정의하고, 부팅 시 어떤 위치에 어떻게 마운트 할지를 결정한다.

만약 이 파일의 구성이 잘못되어 버린다면 부탕시 파일시스템 마운트 과정에서 부팅이 멈추어 버릴것이다.

 

/etc/fstab 파일의 형식

각 라인은 특정 파일 시스템 또는 스왑 공간을 나타내며, 다음과 같은 필드를 포함한다:

  1. 파일 시스템 (UUID 또는 디바이스 경로):
    • 예: UUID=0400035f-3725-4df6-822a-4d41da31ff41
    • 파일 시스템의 고유 식별자(UUID) 또는 장치 파일 경로(예: /dev/sda1)를 지정한다.
  2. 마운트 지점:
    • 예: /, /boot, /data
    • 파일 시스템이 마운트 될 디렉터리를 나타낸다. 루트 파일 시스템(/), 부트 로더 관련 파일을 저장하는 /boot, 사용자 데이터 저장소 /data 등이 있다.
  3. 파일 시스템 유형:
    • 예: xfs, ext4, vfat
    • 파일 시스템의 형식을 지정한다. xfs, ext4, vfat 등이 일반적으로 사용된다.
  4. 마운트 옵션:
    • 예: defaults, umask=0077,shortname=winnt
    • 파일 시스템을 마운트 할 때 사용할 옵션을 지정한다. defaults는 기본 옵션을 의미하며, 특정 파일 시스템에 맞는 추가 옵션을 설정할 수 있다.
  5. 덤프 옵션 (0 또는 1):
    • 덤프 유틸리티가 파일 시스템을 덤프(백업)해야 하는지 여부를 지정한다.
    • 일반적으로 0으로 설정된다. 즉, 덤프 유틸리티가 이 파일 시스템을 백업하지 않는다.
  6. 파일 시스템 검사 순서:
    • 예: 0, 2
    • 부팅 시 fsck 유틸리티가 파일 시스템을 검사할 순서를 나타낸다. 루트 파일 시스템(/)은 1로 설정하며, 다른 파일 시스템은 2로 설정한다. 검사하지 않으려면 0으로 설정한다.

 

파일 시스템 마운트 옵션

파일 시스템을 마운트할 때 사용하는 옵션들은 파일 시스템의 동작 방식을 세밀하게 조정할 수 있다. 이러한 옵션들은 mount 명령어를 통해 설정되며, 다양한 파일 시스템과 상황에 맞게 조정할 수 있다.

  1. ro / rw
    • ro (Read-Only): 파일 시스템을 읽기 전용 모드로 마운트 합니다. 파일을 수정할 수 없다.
    • rw (Read-Write): 파일 시스템을 읽기 및 쓰기 모드로 마운트합니다. 파일을 읽고 수정할 수 있다.
      mount -o ro /dev/sdX /mnt/point
  2. auto / noauto
    • auto: 시스템 부팅 시 자동으로 파일 시스템을 마운트 한다.
    • noauto: 부팅 시 자동으로 마운트 하지 않는다. 수동으로 마운트해야 한다.
      mount -o noauto /dev/sdX /mnt/point
  3. user / nouser
    • user: 일반 사용자도 파일 시스템을 마운트 할 수 있다.
    • nouser: 오직 루트 사용자만 파일 시스템을 마운트할 수 있다.
      mount -o user /dev/sdX /mnt/point
  4. exec / noexec
    • exec: 파일 시스템 내의 실행 파일을 실행할 수 있다.
    • noexec: 파일 시스템 내의 실행 파일을 실행할 수 없다.
      mount -o noexec /dev/sdX /mnt/point
  5. suid / nosuid
    • suid: 파일 시스템 내에서 SUID 비트가 설정된 파일이 해당 권한으로 실행될 수 있다.
    • nosuid: SUID 비트가 설정된 파일이 무시된다.
      mount -o nosuid /dev/sdX /mnt/point
  6. sync / async
    • sync: 모든 I/O 작업을 동기적으로 처리한다. 성능은 낮지만 데이터 손실 방지에 유리하다.
    • async: I/O 작업을 비동기적으로 처리한다. 성능이 더 좋지만 데이터 손실 가능성이 있다.
      mount -o async /dev/sdX /mnt/point
  7. defaults
    • 기본 마운트 옵션을 사용한다. 이는 rw, suid, dev, exec, auto, nouser, async와 같은 옵션들을 기본값으로 설정한다.
      mount -o defaults /dev/sdX /mnt/point
  8. uid / gid
    • uid: 파일 시스템의 소유자 UID를 지정
    • gid: 파일 시스템의 소유 그룹 GID를 지정
      mount -o uid=1000,gid=1000 /dev/sdX /mnt/point
  9. umask
    • 새로 생성된 파일과 디렉터리의 기본 권한을 설정
      mount -o umask=0077 /dev/sdX /mnt/point
  10. shortname (주로 FAT 파일 시스템에서 사용됨)
    • 파일 시스템에서 짧은 이름

 

/etc/fstab 파일 예제 분석

UUID=0400035f-3725-4df6-822a-4d41da31ff41 /                       xfs     defaults        0 0
UUID=e8ccabb4-133e-43fd-b4bf-d95e0890cb74 /boot                   xfs     defaults        0 0
UUID=D053-227A          /boot/efi               vfat    umask=0077,shortname=winnt 0 2
UUID=54687981-d029-4216-9ae6-bcf186deeb18 /data                   xfs     defaults        0 0
#UUID=04141af9-195a-4a9c-a2e7-0523a4731a08 none                    swap    defaults        0 0
  • 첫 번째 라인: 루트 파일 시스템(/)이 UUID 0400035 f-3725-4df6-822a-4d41 da31 ff41로 식별되며, XFS 파일 시스템 형식으로 마운트 된다.
  • 두 번째 라인: 부트 파일 시스템(/boot)이 UUID e8ccabb4-133e-43fd-b4bf-d95e0890cb74로 식별되며, XFS 파일 시스템 형식으로 마운트 된다.
  • 세 번째 라인: EFI 부트 파티션(/boot/efi)이 UUID D053-227A로 식별되며, VFAT 파일 시스템 형식으로 마운트 된다. 여기서 umask=0077,shortname=winnt 옵션이 사용된다.
  • 네 번째 라인: /data 마운트 지점에 대해 별도의 XFS 파일 시스템이 마운트 된다.
  • 마지막 라인 (주석 처리됨): 주석 처리된 이 라인은 스왑 파티션을 나타내며, 활성화될 경우 스왑 공간으로 사용될 수 있다.

'CS' 카테고리의 다른 글

[Linux] 가상 콘솔  (0) 2024.09.18
[Linux] 개요  (1) 2024.09.15
[Linux] 호스트네임 관리와 네트워크 설정  (0) 2024.08.26
[Linux] 스왑 공간  (0) 2024.08.26
Blocking I/O & Non-Blocking I/O  (0) 2024.08.12