리눅스의 루트 파일 시스템 (Root File System)
리눅스의 루트 파일 시스템 (Root File System)은 운영 체제가 작동하기 위해 필요한 파일과 디렉터리를 포함하는 최상위 디렉터리 계층 구조입니다. 루트 파일 시스템은 "/"로 표시되며, 시스템이 부팅되고 운영 체제가 실행될 때 기본적인 시작점을 제공합니다.
주요 개념
1. 루트 디렉터리 (/
)
- 루트 파일 시스템의 최상위 디렉터리로, 모든 파일 및 디렉터리의 출발점입니다.
- 하위 디렉터리는 특정 용도에 따라 정리되며, 표준화된 계층 구조를 따릅니다.
2. 파일 계층 구조 표준 (FHS)
- 리눅스 파일 시스템은 Filesystem Hierarchy Standard (FHS)를 기반으로 설계됩니다.
- FHS는 파일 및 디렉터리의 위치와 목적을 정의합니다.
- 이를 통해 다양한 리눅스 배포판에서 일관된 디렉터리 구조를 유지합니다.
주요 디렉터리와 그 역할
1. /bin
(Binaries)
- 기본 실행 파일이 포함됩니다.
- 일반 사용자 및 시스템 관리자가 자주 사용하는 명령어 (e.g.,
ls
,cp
,mv
)를 저장합니다.
2. /boot
- 부팅과 관련된 파일을 포함합니다.
- 커널 이미지 (vmlinuz)와 부트로더 설정 파일 (e.g., grub.cfg)이 위치합니다.
3. /dev
(Devices)
- 시스템의 장치 파일이 포함됩니다.
- 모든 하드웨어 장치(e.g., 하드 디스크, USB 드라이브)가 파일로 표시됩니다.
- 예:
/dev/sda
(첫 번째 하드 디스크),/dev/tty
(터미널 장치).
4. /etc
- 설정 파일이 포함됩니다.
- 시스템 및 소프트웨어 구성(e.g., 네트워크 설정, 사용자 계정 정보)에 사용됩니다.
5. /home
- 사용자 계정 디렉터리가 위치합니다.
- 예:
/home/username
(사용자 "username"의 홈 디렉터리).
6. /lib
(Libraries)
- 실행 파일이 사용하는 공유 라이브러리가 저장됩니다.
- 커널 모듈도
/lib/modules
에 포함될 수 있습니다.
7. /media
및 /mnt
- 외부 저장 장치가 마운트되는 위치입니다.
/media
: 자동 마운트된 장치./mnt
: 수동 마운트에 사용.
8. /opt
- 선택적 애플리케이션 소프트웨어가 저장됩니다.
- 주로 상용 소프트웨어나 서드파티 소프트웨어가 설치됩니다.
9. /proc
- 가상 파일 시스템으로, 현재 실행 중인 프로세스와 커널 정보를 제공합니다.
- 예:
/proc/cpuinfo
(CPU 정보),/proc/meminfo
(메모리 정보).
10. /root
- 슈퍼유저(root 계정)의 홈 디렉터리입니다.
11. /sbin
(System Binaries)
- 시스템 관리 명령어가 포함됩니다.
- 예:
reboot
,ifconfig
.
12. /tmp
- 임시 파일을 저장합니다.
- 시스템 재부팅 시 초기화됩니다.
13. /usr
- 사용자 명령어 및 애플리케이션 파일이 포함됩니다.
- 하위 디렉터리:
/usr/bin
: 비필수 명령어./usr/lib
: 라이브러리 파일./usr/share
: 공유 데이터.
14. /var
- 가변 데이터가 저장됩니다.
- 예: 로그 파일(
/var/log
), 큐 파일(/var/spool
).
루트 파일 시스템의 역할
1. 부팅 과정 지원
- 운영 체제는 부팅 시 루트 파일 시스템을 마운트하고, 필요한 초기화 파일을 로드합니다.
2. 소프트웨어와 하드웨어 관리
- 루트 파일 시스템은 소프트웨어와 하드웨어 간의 인터페이스를 제공합니다.
/dev
,/proc
,/sys
와 같은 가상 파일 시스템은 하드웨어 정보와 시스템 상태를 반영합니다.
3. 사용자 환경 제공
- 홈 디렉터리(
/home
), 명령어(/bin
,/usr/bin
) 및 설정 파일(/etc
)을 통해 사용자 환경을 설정합니다.
루트 파일 시스템 관리
1. 디스크 파티션
- 루트 파일 시스템은 일반적으로 별도의 디스크 파티션에 위치합니다.
- 파티션 분리:
/boot
: 부팅 관련 파일./home
: 사용자 데이터./var
: 로그 및 가변 데이터.
2. 백업 및 복구
- 정기적인 백업이 필수적입니다.
- 백업 도구:
rsync
,tar
,dd
.
3. 확장 및 마운트
- 추가 디스크나 파티션을 마운트하여 파일 시스템 용량을 확장할 수 있습니다.
- 명령어:
mount
,df
,du
.
결론
리눅스의 루트 파일 시스템은 운영 체제의 핵심 구성 요소로, 시스템의 안정성과 성능에 직접적인 영향을 미칩니다. 이를 올바르게 관리하고 이해하면 효율적이고 안전한 시스템 운영이 가능합니다.
'Linux' 카테고리의 다른 글
EXT4 파일 시스템 (2) | 2024.12.04 |
---|---|
Linux의 init 프로세스와 Namespace (0) | 2024.12.03 |
Linux의 /tmp 디렉토리 (0) | 2024.12.03 |
커맨드 라인 인터페이스 (CLI) (1) | 2024.12.03 |
Linux에서 자주 쓰이는 명령어 (0) | 2024.11.10 |