리눅스 파일 시스템

날아올라돼지야·2024년 8월 31일
0

리눅스 마스터 과정

목록 보기
10/31

강의 개요

이 강의에서는 리눅스의 파일 시스템을 이해하고, 디스크 파티셔닝, 마운트 및 언마운트, 파일 시스템 점검 및 복구, 심볼릭 링크와 하드 링크를 다룰 것입니다. 실습을 통해 각 개념을 직접 체험하면서 학습할 수 있도록 설계되었습니다.

1. 파일 시스템의 이해

리눅스에서 파일 시스템은 데이터를 저장하고 관리하는 구조를 의미합니다. 대표적인 파일 시스템으로는 EXT4, XFS, Btrfs 등이 있습니다.

1.1 EXT4

  • EXT4는 리눅스에서 가장 널리 사용되는 파일 시스템입니다.
  • 특징: 저널링, 큰 파일 지원, 신속한 파일 시스템 검사
  • 사용 사례: 대부분의 리눅스 배포판의 기본 파일 시스템
# EXT4 파일 시스템을 생성하는 명령어
sudo mkfs.ext4 /dev/sdX1

1.2 XFS

  • XFS는 고성능 파일 시스템으로 대용량 데이터를 다루기에 적합합니다.
  • 특징: 높은 확장성, 효율적인 파일 공간 할당, 신속한 파일 복구
  • 사용 사례: 대규모 데이터베이스, 고성능 서버
# XFS 파일 시스템을 생성하는 명령어
sudo mkfs.xfs /dev/sdX1

1.3 Btrfs

  • Btrfs는 최신 파일 시스템으로 다양한 기능을 제공합니다.
  • 특징: 스냅샷, 서브볼륨, 풀링, RAID 지원
  • 사용 사례: 복잡한 데이터 관리, 고급 데이터 보호 기능 필요 시
# Btrfs 파일 시스템을 생성하는 명령어
sudo mkfs.btrfs /dev/sdX1

2. 디스크 파티셔닝 및 마운트

2.1 디스크 파티셔닝 (fdisk, parted)

디스크를 사용하기 전에 파티셔닝이 필요합니다. 파티션을 생성하면 디스크를 논리적으로 나눌 수 있습니다.

  • fdisk: 전통적인 디스크 파티셔닝 도구
  • parted: GPT 파티션 테이블을 지원하는 고급 디스크 파티셔닝 도구
# fdisk로 파티션 생성
sudo fdisk /dev/sdX

# parted로 GPT 파티션 테이블 생성 및 파티션 생성
sudo parted /dev/sdX
(parted) mklabel gpt
(parted) mkpart primary ext4 0% 100%

2.2 마운트 및 언마운트 (mount, umount)

파일 시스템을 사용하기 위해서는 특정 디렉토리에 마운트해야 합니다. 마운트란 디스크나 파티션을 디렉토리 구조에 연결하는 과정입니다.

# 마운트 예제
sudo mount /dev/sdX1 /mnt

# 언마운트 예제
sudo umount /mnt

3. 파일 시스템 점검 및 복구

3.1 fsck

파일 시스템에 문제가 생겼을 때, 이를 점검하고 복구하는 도구입니다.

# EXT4 파일 시스템 점검
sudo fsck /dev/sdX1

3.2 e2fsck

EXT2, EXT3, EXT4 파일 시스템을 점검하고 복구하는 도구입니다.

# EXT4 파일 시스템 점검
sudo e2fsck -p /dev/sdX1

4. 심볼릭 링크와 하드 링크

4.1 하드 링크

하드 링크는 동일한 파일 데이터를 가리키는 또 다른 경로를 만드는 것입니다. 원본 파일과 동일한 inode를 공유합니다.

# 하드 링크 생성
ln /path/to/original /path/to/hardlink

4.2 심볼릭 링크

심볼릭 링크는 파일이나 디렉토리에 대한 참조를 포함하는 파일입니다. 원본 파일과 다른 inode를 가집니다.

# 심볼릭 링크 생성
ln -s /path/to/original /path/to/symlink

강의 요약

  • 파일 시스템: 데이터를 저장하고 관리하는 구조
  • 파티셔닝: 디스크를 논리적으로 나누는 작업
  • 마운트: 파일 시스템을 디렉토리 구조에 연결
  • 파일 시스템 점검: fsck, e2fsck 등 도구를 사용해 파일 시스템을 점검하고 복구
  • 링크: 하드 링크와 심볼릭 링크의 차이점을 이해하고, 필요한 경우에 맞게 사용

이 강의에서는 리눅스의 파일 시스템 작업을 이해하고 실습해보았습니다. 각 개념을 충분히 이해하고, 실제 환경에서 적용해보는 것이 중요합니다. 각 실습 과정을 통해 리눅스 파일 시스템의 기본적인 관리와 문제 해결 능력을 기를 수 있을 것입니다.

profile
무슨 생각하며 사니

0개의 댓글

관련 채용 정보