Linux

[Linux] 파일 시스템 생성하는 방법 (fdisk, mkfs, fsck, mount, fstab, umount)

j9m 2022. 10. 3. 01:06
반응형

리눅스 파일 시스템 생성하는 방법

디스크 파티션

  • 파일 시스템을 생성하기 위해서는 하드 디스크를 초기화하고 필요하면 파티션(Partition)을 수행하여 하드 디스크를 분할해야 한다. 그때 파티션을 수행하는 리눅스 명령어가 바로 fdisk이다.  이 부분은 쉽게 생각하면 윈도우의 C드라이브, D드라이브와 마찬가지로 한 개의 하드 디스크를 여러 개로 분리하여 분리 공간에 따라 다른 용도로 사용하는 것이다.
  • fdisk 명령은 하드디스크 초기화 및 파티션을 생성하는 것으로 fdisk [-l] [-v] [-s 파티션] [장치명] 형태로 사용한다.

fdisk 옵션

옵션 설명
-l 현재 파일 시스템 목록 확인
-v 버전 정보 확인
-s 장치명 입력 장치 크기를 출력
-d 파티션 삭제
-n 새로운 파티션 생성
-p 현재 파티션 설정 상태 확인

 

파일 시스템 생성

  • 하드디스크를 파티션 했으면 해당 파티션에 파일 시스템을 생성해야 한다.
  • 하드 디스크를 생성하기 위해서는 mkfs 명령어를 실행하면 된다.

mkfs 옵션

옵션 설명
-V 실행되는 파일 시스템의 특정 명령어 등 모든 정보를 출력
-t 파일 시스템 형식 선택
-c Bad Block 검사, Bad Block 리스트를 초기화
-l 파일로부터 초기 Bad Block을 읽음
-v 현재 진행사항 출력

 

파일 시스템 생성 예제

mkfs -t ext4 /dev/sdb1

 

③ 파일 시스템 무결성 검사

  • fsck는 파일 시스템의 무결성을 검사하는 명령어로 파일 시스템에는 상위 디렉터리, 하위 디렉터리 그리고 파일 간의 링크 정보(심볼릭 링크) 등을 가지고 있어야 한다. 이러한 정보에 오류가 발생되면 파일 시스템의 구조를 파악할 수 없다. 그럴 때 리눅스는 fsck를 통해서 파일 시스템의 무결성을 검사하고 오류가 발생하면 수정할 수 있다. fsck는 기본적으로 부팅 단계에서 자동적으로 실행하게 되고 필요에 따라서 직접 실행할 수도 있다.

fsck 옵션

옵션 설명
-s 대화형 모드에서 여러 파일 시스템을 점검할 때 fsck 동작을 시리얼화 함
-t 검사를 수행할 파일 시스템을 지정
-A /etc/fstab 파일에 기술된 파일 시스템을 모두 검사
-N 검사는 수행하지 않고 수행될 내용을 출력
-P 병렬처리를 수행하여 루트 파일 시스템 점검
-R 루트 파일 시스템은 제외
-V 명령을 포함하여 세부 내역을 출력

 

 파일 시스템 옵션

옵션 설명
-a 무결성 검사 후에 자동검사 수행
-r 대화형 모드를 수행하며 오류를 수정
-n 오류를 수정하지 않고 표준 출력으로 출력
-y 특정 파일 시스템에 대해서 오류를 자동 수정

파일 시스템 마운트

  • 리눅스 컴퓨터 시스템 A에 tmp라는 디렉터리가 있다고 가정하자. 그러면 tmp 디렉터리를 리눅스 컴퓨터 시스템 B와 연결하여 사용하는 것이 바로 마운트라는 것이다. 이것은 단순하게 디렉터리만 연결하여 사용하는 것이 아니라 CDROM, USB 등과 같은 장치를 연결할 때도 사용되는 것이다. mount라는 명령어를 실행하여 연결을 수행할 수 있다.
  • 리눅스에서는 특정 디렉터리를 연결할 경우 mount 명령을 사용한다. 또 -a 옵션은 명시된 파일 시스템에 대해서 마운트를 수행한다.

▶ mount 명령 옵션

옵션 설명
-v 자세한 정보 출력모드
-f 마운트를 할 수 있는지 점검
-n /etc/mtab 파일에 쓰기 작업을 하지 않고 마운트
-r 읽기만 가능하도록 마운트 함
-w 일기 및 쓰기 모드로 마운트 함
-t vfstype -t 다음에 쓰이는 인수로 파일 시스템 유형 지정

 

fstab 옵션

  • fstab 파일은 mount을 수행할 때 참조하는 파일로 파일 시스템 마운트에 관한 정보를 가지고 있다.
  • [파일 시스템 장치] [마운트 포인트] [파일 시스템 종류] [옵션] [덤프] [파일 점검 옵션]
옵션 설명
default 일반적인 파일 시스템
auto 부팅 시 자동으로 마운트 함
exec 실행 파일이 실행되도록 허용
suid setuid와 setgid를 허용
ro 읽기전용 파일 시스템
rw 읽고 쓰기가 가능한 파일 시스템
user 일반 사용자도 마운트 할 수 있는 파일 시스템
nouser root만 마운트 할 수 있는 파일 시스템
noauto 부팅 시 자동으로 마운트 하지 않음
noexec 실행 파일이 실행되지 못함
nosuid setuid와 setgid를 허용하지 않음
usrquota 개별 사용자의 쿼터 설정이 가능한 파일 시스템을 의미
grpquota 그룹별 쿼터 설정이 가능한 파일 시스템

 

▶ umount 옵션

  • 반대로 umount는 마운트를 해제하는 명령어로 umount [-nv] 장치 혹은 디렉터리명 형태로 사용한다.
옵션 설명
-n /etc/mtab 파일을 변경하지 않고 마운트를 해제
-v 정보출력
-a /etc/mtab 파일에 지정된 파일 시스템을 모두 해제
-t 파일 시스템명 지정된 파일 시스템을 해제

 

▶ CDROM mount, umount, eject 실행

  • CDROM과 같은 하드웨어는 마운트를 수행하여 사용할 수 있다. 만약 CDROM에서 CD를 빼려면 마우트를 해제하고 eject명령을 실행하면 된다. 만약 /mnt/cdrom으로 마운트 되어 있다면 umount /mnt/cdrom을 실행하고 eject를 실행한다.
mount /dev/cdrom /mnt/cdrom
umount /mnt/cdrom
eject

 

 리눅스 파일 시스템 종류

  • 리눅스 파일 시스템은 ext2, ext3, ext4가 있으며 현재 대부분의 리눅스는 ext4를 지원한다. ext4 파일 시스템은 대용량의 파일을 저장 관리할 수 있으며 큰 Extend 단위로 파일 시스템을 할당하거나 삭제할 수 있다. 또한 파일 시스템에 오류가 없는지 확인하는 fsck를 지원한다.

 

참고 자료
이기적 정보보안기사 필기
반응형