Operating System(OS)/리눅스 마스터 2급 이론 정리

리눅스마스터 2급 자격증 이론 내용 정리 / 03. 파일 시스템과 프로세스 - 2. 파일 시스템의 관리

9rrrr-m 2024. 8. 5. 21:16
더보기

올해안에 리눅스 마스터 2급 따기를 목표로 '세종사이버대학교 컴퓨터공학과·AI공학과' 유튜브 채널의 컴퓨터·AI공학과 리눅스마스터2급 자격증 특강 강의를 듣고 내용을 정리한 것입니다.

 

* 오타나 내용 오류시 댓글 남겨주시면 감사하겠습니다!

** 코드 블록에 명령어는 적혀있으나, 모든 실행 결과를 함께 적지는 않았습니다.

 

03. 파일 시스템과 프로세스

    1. 권한 및 그룹 설정
    2. 파일 시스템의 관리
    3. 셸(Shell)과 환경 설정
    4. 프로세스 개념과 관련 명령어


03. 파일 시스템과 프로세스

2. 파일 시스템의 관리

▶ 파일 시스템의 개요

  • 스토리지 장치(디스크) 상에 파일을 관리할 수 있도록 만들어 놓은 구조 혹은 관리하는 방식 → 서버 파일 접근, 가상 파일까지 확대
  • 리눅스의 파일 시스템 구조
    ◦  Super Block: 파일 시스템 관련 정보, 블록크기 및 개수, inode 개수
    ◦  Group Descriptor Table: Block 그룹 관리
    ◦  Block Bitmap: 블록의 사용 상태
    ◦  inode: 파일 이름을 제외한 정보, 고유번호, 파일 형태, 크기, 위치, 소유자 등

 

▶ 리눅스 파일 시스템 종류와 특징

  • etx 파일 시스템
    파일 시스템 설명
    ext (ext1) ◦  리눅스 초기에 사용되던 파일 시스템이며 호환성이 없음
    ◦  ext2의 원형
    ◦  2GByte의 데이터와 파일명을 255자까지 지정 가능
    ◦  파일 접근에 대한 타임 스탬프, 아이노드 수정 지원 불가

    ext2 ◦  ext 파일 시스템의 다음 버전
    ◦  고용량 디스크 사용을 염두하고 설계된 파일 시스템
    ◦  쉽게 호환되며 업그레이드도 쉽게 설계되어 있음

    ★ ext3 ◦  ext2의 확장판
    ◦  리눅스의 대표적인 저널링(journaling)을 지원하도록 확장된 파일 시스템
    ◦  ACL(Access Control List)을 통한 접근 제어 지원

    ext 4 ◦  ext2 및 ext3와 호환성이 있는 확장 버전
    ◦  파일에 디스크 할당 시 물리적으로 연속적인 블록을 할당
    ◦   64비트 기억 공간 제한을 없앰
    ◦  16 TeraByte의 파일을 지원
  • 저널링 파일 시스템
    파일 시스템 설명
    JFS ◦  Journaling File System의 약자
    ◦  IBM사의 독자적인 저널링 파일 시스템
    ◦  GPL로 공개하여 현재 리눅스용으로 개발

    xfs ◦  eXtended File System
    ◦  고성능 저널링 시스템
    ◦  64비트 주소를 지원하며 확장성이 있는 자료 구조와 알고리즘 사용
    ◦  파일 수에 관계없이 예상치 못한 상황으로부터 신속한 복구와 재시작 가능
    ◦  데이터 읽기/쓰기 트랜잭션으로 성능 저하를 최소화
    ◦  64비트 파일시스템으로 큰 용량의 파일도 다룰 수 있음
    ◦  높은 확장성과 처리량을 가짐

    ReiserFs ◦  독일의 한스 라이저(Hans Reiser)가 개발한 파일 시스템
    ◦  리눅스용 저널링 파일 시스템 중에서 가장 안정적이라는 평가를 받음
    ◦  모든 파일 객체들을 B트리에 저장, 간결한 색인화 된 디렉터리 지원

  • 네트워크 파일 시스템
    파일 시스템 설명
    SMB ◦  삼바(samba) 파일 시스템을 마운트 지정
    ◦  Server Message Block (서버 메세지 블록)
    ◦  윈도우 계열 OS 환경에서 사용되는 파일/프린터 공유 프로토콜
    ◦  리눅스, 유닉스 계정 OS와 윈도우 OS와의 자료 및 하드웨어 공유
    ◦  윈도우에서 표준 클라이언트 환경으로 처음부터 구성되었고 NFS 유닉스 표준 응용부터 운용상 쉽다는 장점이 있음

    CIFS ◦  Common Internet File System
    ◦  SMB를 확장한 파일 시스템
    ◦  SMB를 기초로 응용하여 라우터를 뛰어넘어 연결할 수 있는 프로토콜

    NFS ◦  Network File System (네트워크 파일 시스템)
    ◦  썬마이크로시스템(SUN)이 개발한 네트워크 공유 프로토콜
    ◦  파일 공유 및 파일 서버로 사용됨
    ◦  공유된 영역을 마운트할 때 지정
    ◦  하드웨어, 운영체제 또는 네트워크 구조가 달라도 공유 가능
    ◦  NFS 서버의 특정 디렉터리를 마운트하여 사용할 수 있음

  • 지원 가능한 기타 파일 시스템
    파일 시스템 설명
    FAT ◦  Windows NT가 지원하는 파일 시스템 중 가장 간단한 시스템
    ◦  FAT로 포맷된 디스크는 클러스터 단위로 할당
    ◦  클러스터 크기는 볼륨 크기에 따라 결정
    ◦  읽기 전용, 숨김, 시스템 및 보관 파일 특성만 지원
    ◦  삼바(samba) 파일 시스템을 마운트 지정

    VFAT
    (Virtual FAT)
    ◦  FAT 파일 시스템이 확장된 것으로 FAT와 호환
    ◦  FAT보다 제한이 적음
    ◦  파일 이름도 최고 255자까지 만들 수 있음
    ◦  공백이나 여러 개의 구두점도 포함
    ◦  대소문자는 지정한 대로 보존되기는 하나 구별하지는 않음

    FAT32 ◦  SMB를 확장한 파일 시스템
    ◦  Windows 95, 98 및 ME와 같은 버전과 다중 부팅을 구성
    ◦  32GB보다 큰 파티션을 만들 수 없고 파티션에 4GB를 초과하는 파일을 저장할 수 없음

    ★ NTFS ◦  윈도우에서 사용하는 파일 시스템
    ◦  안정성이 뛰어나고 대용량 파일도 저장
    ◦  안정성, 자세한 사용자 제한, 보안성 등이 FAT32보다 뛰어남
    ◦  파일 크기 및 볼륨은 이론상으로 최대 16EB(ExtraByte=10^18byte)이나 실질적으로는 2TB로 한계가 있음

    ISO 9660 ◦  CD-ROM의 표준 파일 시스템
    ◦  1988년에 제정된 표준
    UDF ◦  Universal Disk Format의 약자로 최신 파일 시스템 형식
    ◦  OSTA(Optical Storage Technology Association)에 의해 개발
    ◦  광학 매체용 파일 시스템 표준
    ◦  ISO 9660 파일 시스템을 대체하기 위한 것으로 대부분 DVD에서 사용
    ◦  DVD 멀티미디어 디스크들은 MPEG 오디오 및 비디오 스트림을 담기 위해 사용

    HPFS ◦  OS/2 운영체제를 위해 만들어진 파일 시스템
    ◦  1988년 발표, 마이크로소프트와 IBM이 공동 개발

 

▶ mount  - <스토리지> 장치를 연결하여 디렉토리 처럼 사용

  • 설정 파일:  /etc/fstab (부팅 시 참조하여 마운트),  /etc/mtab (마운트된 블록 시스템 정보)
  • mount  <-옵션>  [장치명]  [디렉터리명]
    ◦  옵션:  -a ( /etc/fstab의 내용 모두 마운트),  -n ( /etc/mtab 설정정보 기록 안함),  -f (마운트 테스트),  -t (파일 시스템), -o (remount, ro, rw, sync, noatime 등 추가 설정)

▶ umount  - 마운트를 해제하는 명령어

  • umount  <-옵션>  [장치명]  [디렉터리명]
    ◦  옵션:  -a ( /etc/fstab의 내용 모두 마운트 해제),  -n ( /etc/mtab 설정정보 기록 안함),  -t (파일 시스템)

▶ eject  - (미디어) 장치를 해제하고 장치 제거

  • eject  <-옵션>  [장치명]
    ◦  옵션:  -r (CD-ROM 장치),  -f (Floppy 장치)

 

▶ mkfs  - 파일 시스템 생성

  • mkfs  <-옵션>  [장치명]
    ◦  옵션:  -V (자세한 정보 표시,  -t (파일 시스템),  -c (Bad Block 검사),  -l (지정한 파일명에서 Bad Block 목록 읽기),  -v (진행 상태 표시)

▶ mk2fs  - ext2, ext3, ext4 리눅스 파일 시스템 생성

  • mk2fs  <-옵션>  [장치명]
    ◦  옵션:  -t (파일타입),  -b (블록 크기, 바이트),  -i (inode 당  바이트 수),  -j (저널링 파일 시스템 ext3),  -R (RAID4)

 

▶ fsck  - 파일 시스템 점검 및 복구

  • /lost+found 디렉터리에 손상된 파일 관리 → 정상 복구 된 후 삭제
  • fsck  <-옵션>  [장치명]
    ◦  옵션:  -A ( /etc/fstab의 모든 시스템 점검),  -a (자동 복구),  -r (확인 후 복구),  -t (파일 시스템)

▶ e2fsck  - ext2, ext3, ext4 리눅스 파일 시스템 점검 및 복구

  • e2fsck  <-옵션>  [장치명]
    ◦  옵션:  -p (자동 복구),  -n (모든 확인에 no로 응답),  -y (모든 확인에 yes로 응답),  -c (Bad Block 점검),  -f (문제가 없는 시스템까지 강제 점검)

 

▶ du  - 디렉터리 별 디스크 사용량 확인

  • du  <-옵션>  [파일/디렉터리]
    ◦  옵션:  -n (용량단위로 표시),  -a (모든 파일 대상),  -m (MB단위로 표시),  -k (KB단위로 표시),  -s (총 합계만 표시),  -c (사용정보 표시 후 합계 표시)
[rocky@localhost ~]$ du /home
0	/home/rocky/.mozilla
4	/home/rocky/.config/dconf
88	/home/rocky/.local/share/evolution
...

▶ df  - 마운트 된 저장장치의 용량 표시 → 파티션 단위로 사용량 확인, 기본 1024byte 블록단위 출력

  • df  <-옵션>  [파일명]
    ◦  옵션:  -n (용량단위로 표시),  -T (파일 시스템 유형 정보, 파티션 정보),  -t (파일시스템 유형 표시),  -a (모든 파일 시스템),  -k (--block-site=1K),  -i (inode 사용률)
[rocky@localhost ~]$ df
Filesystem     1K-blocks    Used Available Use% Mounted on
devtmpfs          811440       0    811440   0% /dev
tmpfs             840988       0    840988   0% /dev/shm
tmpfs             336396    9208    327188   3% /run
/dev/sda3       78602756 5556860  73045896   8% /
/dev/sda1        1046508    7064   1039444   1% /boot/efi
tmpfs             168196     108    168088   1% /run/user/1000

 

▶ /etc/fstab  - 파일 시스템 정보 저장 및 관리하는 설정 파일, 부팅 시 마운트 정보 포함

[rocky@localhost ~]$ cat /etc/fstab

#
# /etc/fstab
# Created by anaconda on Mon Jul 22 07:30:58 2024
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
UUID=aad8799f-99ba-40ff-959e-51a3993afb78 /                       xfs     defaults        0 0
UUID=AAF2-97C2          /boot/efi               vfat    umask=0077,shortname=winnt 0 2
UUID=0a202d5d-877e-4892-925b-2b36da789af1 none                    swap    defaults        0 0

 

728x90