1. 리눅스 파일시스템 소개
파일 시스템: 구조화된 일련의 정보를 구성하는 파일과 디렉토리의 집합으로, 파일 및 디렉토리를 저장하는 방식이다.
파일 시스템은 파일의 목록과 파일이 실제 저장된 위치, 파일에 대한 정보를 관리한다.
1.1 리눅스 파일 시스템 종류
1) 디스크 기반 파일 시스템(Disk-Based File System)
하드디스크, CD-ROM, DVD 등을 기반으로 하는 파일 시스템
| 종류 | 설명 |
| MINIX | 리눅스 초기 학습용으로 사용된 간단한 파일시스템, 현재는 거의 사용되지 않음. |
| EXT(Extended FS) | 리눅스에서 널리 사용된 기본 파일시스템 계열 (ext, ext2, ext3, ext4). 저널링 도입(ext3)과 성능 개선(ext4)으로 발전. |
| XFS | 고성능 저널링 파일시스템, 대용량 파일 처리와 확장성에 강점. 주로 서버/스토리지 환경에서 사용. |
| FAT(File Allocation Table) | MS-DOS/Windows 계열에서 사용, 호환성이 높아 USB·메모리카드 등 이동식 저장장치에 널리 쓰임. 대용량 지원 한계 존재(FAT32: 4GB 파일 제한). |
| ISO9660 | CD-ROM/DVD 등 광학 디스크 표준 파일시스템. 주로 소프트웨어 배포용 이미지 파일(.iso)에 사용. |
| UDFS(Universal Disk Format) | ISO9660을 대체하기 위해 개발된 광학 디스크용 파일시스템. DVD, Blu-ray 등에서 사용되며 읽기/쓰기 모두 가능. |
2) 분산 파일시스템(Distributed File System)
네트워크를 통해 파일시스템의 자원에 접근할 수 있도록 지원하는 파일 시스템
| 종류 | 설명 |
| NFS(Network File System) | 네트워크 기반 분산 파일 시스템 |
| SMB(Server Message Block) | SMB 프로토콜 기반 분산 파일 시스템 |
3) Pseudo
메모리 기반의 파일 시스템으로 시스템 성능을 높이고 커널정보에 접근할 수 있도록 지원하는 파일 시스템
| 종류 | 설명 |
| swapfs | 스왑 파일 시스템, 물리 메모리를 보조하기 위한 디스크 내의 스왑영역에서 사용하는 파일 시스템 |
| tmpfs | 임시 파일 시스템, 디스크 기반의 쓰기 오버헤드를 줄이기 위해 메모리에 파일을 기록하는 파일 시스템 |
| fdfs | 파일 설명자 시스템, /dev/fd 디렉토리의 파일 설명자(/dev/fd/0, ...)를 사용할 수 있는 명시적인 이름을 제공 |
| procfs | 프로세스 파일 시스템, 현재 동작중인 프로세스의 목록을 관리하는 파일시스템 |
| devfs | 디바이스 파일 시스템, 시스템에서 사용하는 모든 디바이스의 이름 공간을 관리하기 위해 사용 |
1.2 ext4 파일시스템
1.3 xfs 파일시스템
2. 파일 시스템 관리
2.1 파일 시스템 생성(포맷)
mkfs -t [filesystem-type] partition
mkfs.[filesystem-type] partition
1) 파티션 구성 확인

2) 디렉토리 생성

3) 1번 파티션은 xfs로 , 2번 파티션은 ext4로 포멧

2.2 파일 시스템 마운트
마운트(mount): 파일시스템이 생성된 파티션에 디렉토리 형태로 접근할 수 있도록 연결하는 작업
파일시스템을 생성한 후에는 파일시스템이 생성된 파티션 장치에 접근할 수 있도록 경로를 설정해야 함.
1) 임시 마운트
mount [device] [filepath]

2) 영구 마운트
시스템이 부팅되면서 파일 시스템을 자동으로 마운트시키기 위해 /etc/fstab 파일에 마운트 정보를 입력해야 한다.
echo "/dev/sdc2 /mnt/part-ext4 ext4 defaults 0 0" | sudo tee -a /etc/fstab

-a 옵션: 파일시스템 테이블에 등록된 항목 중 마운트되지 않은 항목을 마운트하는 옵션
확인


2.3 마운트 해제
umount
2.4 마운트 작업 시 주의사항
1) 빈 디렉토리에 연결해야 한다.
2) 마운트 후 권한 확인이 필요할 수 있다.
3) 명령어는 재부팅 후 연결이 해제된다.
/etc/fstab 파일에 설정 시 부팅과정에서 자동으로 연결된다.
해당파일 설정을 잘못하면 부팅이 안될 수 있다 (mount -a)
3. 스왑 메모리
- 스왑 영역: 물리적인 메모리의 부족현상을 보완하기 위해 디스크 영역을 활용
mkswap, free, swapon
3.1 가상 메모리
가상메모리: 물리 메모리(RAM) + 스왑(SWAP)
스왑: 디스크 장치에 생성되는 영역
하지만 CPU가 스왑 영역에 있는 데이터를 물리 메모리처럼 직접 전근하여 읽을 수 없음
CPU가 데이터에 직접 접근하기 위해 프로세스가 반드시 물리 메모리 영역에 존재해야 함
*페이징: 물리 메모리와 스왑 사이에 프로세스를 이동시키는 과정
1) 페이지 인: 스왑 영역의 데이터를 물리 메모리 영역으로 이동시키는 과정
2) 페이지 아웃: 물리 메모리를 스왑 영여그로 이동시키는 과정
물리 메모리에 위치한 프로세스의 우선순위가 낮거나 당분간 사용하지 않을 경우에 페이지 아웃함
3.2 스왑을 구성하는 방식
1) 스왑 파티션 방식
2) 스왑 파일 사용 방식
'Program > 토스뱅크 사이버보안 엔지니어 부트캠프(공격&방어 기술)' 카테고리의 다른 글
| [AWS] 기초 (0) | 2025.10.28 |
|---|---|
| [Linux] FreeIPA 서버/클라이언트 구성 (0) | 2025.10.17 |
| [Linux] 디스크 관리 (파티셔닝 방법) (0) | 2025.09.26 |
| [Linux] 쉘 프로그래밍 (0) | 2025.09.23 |
| [Network] CISCO Packet Tracer 실습 (IP설정, MAC주소 확인, VLAN 설정, ) (1) | 2025.09.14 |