디스크 쿼터를 공부하다가 다시 앞으로 돌아가서 mount(+마운팅 방법)도 제대로 공부하고포맷도 다시 알아보니 새로운 개념을 알게된 기분이라서 세가지 개념을 주절주절적어봤다. 실습도 중요했지만 제대로 파일 시스템이 어떻게 구성됐고 리눅스 체제가 어떤지 알게되니 훨씬 제대로 알고 넘어가는 기분이다.
세가지 개념은 파일로 첨부해놓겠다.내 중심으로 써서 정신없는 내용임..
파일 시스템의 개요와 종류
# 개요
운영체제가 파일을 시스템의 디스크상에 구성하는 방식. 즉, 컴퓨터에서 파일이나 자료를 쉽게 발견,접근할 수 있도록 보관&조직하는 체제. 데이터들을 파일&디렉터리로 분류 및 정리해놓음으로써 우린 편리함을 느끼죠! 그게 리눅스의 파일 시스템이라고 생각하면 쉽습니다.
운영체제에 따라 사용되는 파일 시스템이 다른데, 리눅스는 보통 ext 파일 시스템을 쓰기 때문에 ext의 파일 시스템 구조를 두고 설명해보자면
ext2 파일시스템은 크게 부트섹터와 블록 그룹으로 나뉘어진다.
-부트 섹터 : 운영체제를 로드하기 위해 쓰이는 부트로더를 가동하기 위해 쓰이는 특수 부트 코드가 저장되어있는 공간.
-블록 그룹 : 블록(파일 시스템에서 데이터를 읽고 저장하는 단위)들의 모임으로, 데이터들이 각 블록 단위로 저장되있음. 이 중 몇가지 특수한 블록이 있는데,
(1)Super Block : 전체 파일 시스템에 대한 정보 저장. (파일 시스템 내의 총 블록수, 블록 크기, 블록 그룹 개수, i-노드 개수 등)-1개
(2)Group Descriptor Table : 각 블록 그룹을 관리하는 정보 저장. (Block Bitmap과 inode Bitmap의 블록 번호, 첫번째 inode Table Block의 블록 번호, 그룹 안에 있는 빈 블록 수, 그룹 안에 있는 inode&빈 디렉터리 수)-n개
(3)Block Bitmap : 그룹 내에 있는 각 블록의 사용 상태 -1개
(4)inode Bitmap : 1개의 i노드에 1개의 비트가 대응되어 i노드의 사용 상태. -1개
(5)inode Table : 파일 시스템 내 모든 i노드 숫자 목록을 유지. -n개
(6)Data Blocks : 파일의 데이터를 저장하기 위한 블록들 -n개
문제) 리눅스 파일 시스템에서 특별한 종류의 디스크 블록으로, 파일 이름, 소유주, 권한, 시간, 디스크에서의 위치 등에 대한 정보를 담고있는 것으로 알맞은 것은?
답)inode(드래그)
# 종류
파일 시스템 | 설명 |
ext | 리눅스 초기 사용되던 파일 시스템. 호환성x |
ext2 | 쉽게 호환. 저널링 기능 x |
ext3 | ext2의 확장판. 저널링 기능 o. ACL을 통한 접근 제어 지원 |
ext4 | ext2,ext3과 호환성o 확장 버전. 확장 멀티블록 할당. |
문제)256바이트 길이의 파일 이름, 2GB의 단일 파일, 4TB의 디스크를 사용할 수 있으며, ext3 이전까지 대부분의 리눅스가 채택한 파일 시스템은?
답) ext2
저널링 파일 시스템
시스템의 비정상적인 종료 시 저널(로그)을 이용해서 빠르고 안정적인 복구 가능
즉, 데이터를 디스크에 저장하기 전에 로그에 데이터를 남겨서 시스템의 예상치못한 셧다운에도 로그를 사용해서 데이터를 복구하는 기능!
만약 저널링 기능이 없으면, 시스템을 복구하기 위해서 fsck(무결성 검사 도구)에 의해 관리되는 슈퍼블록, 비트맵, i노드 등을 모두 검사해야해서 시간 오래 걸림.
저널링 기술이 적용된 파일 시스템은 ext3,4, XFS, JFS, ResierFS 등
파일 시스템 | 설명 |
JFS(Journaling File System) | IMB사의 독자적 저널링 파일 시스템. 현재 리눅스용으로 개발. |
XFS(eXetended FS) | 고성능 저널링 시스템. 신속한 복구와 재시작 가능. |
ReiserFS | 독일 한스 라이저가 개발한 FS. 리눅스용 저널링 FS 중 가장 안정적. |
네트워크 파일 시스템
파일 시스템 |
설명 |
SMB(Server Message Block) |
삼바(samba)파일 시스템을 마운트 지정. 서버 메시지 블록. |
CIFS(Common Internet FS) |
SMB를 확장한 FS. SMB를 기초로 응용하여 라우터를 뛰어넘어 연결가능한 프로토콜. |
NFS(Network FS) |
SUN마이크로시스템이 개발한 네트워크 공유 프로토콜. 파일 공유/서버 로 사용되어 공유된 영역을 마운트할 때 지정. |
기타 지원 가능한 파일 시스템 (즉, 포맷 형식)
문제) 리눅스 배포판에서 ISO 9660으로 지정해도 마운트할 수 있는 파일 시스템은?
답)udf
관련 명령어
# 명령어 mount와 umount
마운트는 전 글에서 말했듯이, 특정 디바이스(장치)를 특정 디렉터리처럼 사용하기 위해 장치와 디렉터리를 연결하는 것!
리눅스는 PnP 기능을 지원하는 하드웨어가 많지 않아서
1. 시스템 부팅 후에 2. 수동으로 마운트해서 사용을 하고 3. 사용이 끝난 후에 언마운트시킨다.
몇몇 옵션들은 그냥 암기니까 생략하겠다.
[형식] mount [옵션] [장치명] [디렉터리명]
전 글에서 마운팅할 때는 'mount /dev/sdb1 /drv' 이렇게만 했지만
파일 시스템을 지정하거나 추가로 설정하고 싶은게 있을때는 옵션을 이용!
[형식] umount [옵션] [장치명] [디렉터리명]
umount /dev/sdb1 /drv
# 명령어 eject
이동식 보조기억장치 (DVD or CD-ROM) 등과 같은 미디어 해제&장치 제거하는 명령어.
<형식> eject [옵션] [장치명]
eject -r /dev/sdb1 ; CD-ROM을 마운트 해제
eject -f /dev/hdb1 ; 플로피를 마운트 해제
*플로피 : 컴퓨터의 프로그램/데이터를 보존&저장하여 들고 다닐 수 있는 외부 기억장치 (->하드 디스크)
# 명령어 fdisk
새로운 파티션 생성 / 기존 파티션 삭제 / 파티션 타입 결정 등 작업 수행.
fdisk 프로그램은 한번에 한 디스크에 대해서만 작업 수행함.
$마운트 전 파티션 생성할때 썼던 명령어&
fdisk /dev/sdb - > n - p(주파티션의 p) - w - p(디스크정보표시) 입력
# 명령어 mkfs
리눅스 파일 시스템 생성. (fdisk로 하드디스크의 파티션 작업을 한 후 해당 파티션에 맞는 파일 시스템 생성!)
[형식] mkfs [옵션] 장치명
$마운트 전 파일 시스템 생성할때 썼던 명령어$
mkfs -t ext4 /dev/sdb1
# 명령어 mke2fs
ext2,3,4 타입의 리눅스 파일 시스템을 생성(포맷)하는 명령어.
<형식> mke2fs [옵션] 장치명
*mkfs -t ext4 /dev/sdb1 이나 mke2fs -t etx4 /dev/sdb1 이나 같음.
# 명령어 fsck
파일시스템의 무결성을 점검하고 대화식으로 복구하는 명령어.
디렉터리 /lost+found는 fsck에서 사용하는 디렉터리
(손상된 파일을 /lost+found로 연결하여 오류를 수정하다가 정상적으로 복구되면 파일은 사라짐.)(평상시에는 비어있는 상태로 존재)
<형식> fsck [옵션] 장치명
# 명령어 e2fsck
ext2,3,4 타입의 리눅스 파일 시스템을 점검/복구하는 명령어.
[형식] e2fsck [옵션] 장치명
*fsck 는 어떤 유형의 FS이든 , e2fsck는 ext2,3,4 파일 시스템을 다룬다는 차이.
# 명령어 du(Disk Usage)
디렉터리별로 디스크 사용량 확인.
<형식> du [옵션] [파일 및 디렉터리명]
du -ak : 디렉터리가 아닌 모든 파일에 대하여 결과값을 KB단위로 표시한다. (기본값)
문제) 디렉터리 / 이하의 디렉터리별 크기를 KB, MB, GB 등의 단위로 출력하기위한 명령은?
답)du -s /*(-s는 파일들의 전체 크기를 합한 값)
# 명령어 df
시스템에 마운트된 하드디스크의 남은 용량을 확인할 때 사용. 마운트 목록 확인하기위해서 쓰이기도 함.
[형식] df [옵션] [파일명]
문제) 명령어 df명령을 사용 시 파일 시스템 종류를 확인할 때 사용하는 옵션은?
답)-T(-t는 표시되는 파일 시스템의 유형 지정, -t ext4 : ext4만 출력.)
파일 /etc/fstab
리눅스에서 사용하는 파일 시스템 정보(+부팅 시 마운트 정보)를 정적으로(고정적) 저장하는 파일.
즉, 리눅스가 부팅되면서 어떤 파티션들을 어디에 자동으로 마운트하고 외부 장치들에 대한 마운트를 어떻게 설정할 건지 그리고 사용 권한 및 복구 등과 관련된 옵션을 어떻게 지정할 것인지에 대해 설정하는 파일!
필드 : 파일시스템 장치명 / 마운트될 위치 / 파일시스템 종류 / 옵션(defaults) / 사용주기 결정 / 부팅시 파일시스템 점검 순서(fsck 순서)
*defaults : auto, exec, suid, ro, rw 등 모두 가지는 속성.
문제) 명령 fsck가 시스템 부팅 시 파일 시스템 점검을 위해 참조하는 필드 영역은?
/dev/sda1/backup dataext4defautls12
답) 네번째 밑줄
'유용한 모든 것' 카테고리의 다른 글
리눅스마스터 2급 2차 [프로세스] (0) | 2020.08.25 |
---|---|
리눅스마스터 2급 2차 [셸] (0) | 2020.08.25 |
리눅스마스터 2급 2차 [다시 봐야 할 개념] (0) | 2020.08.24 |
리눅스마스터 2급 2차 [프로세스 유틸리티] (0) | 2020.08.11 |
리눅스마스터 2급 1차 공부 (0) | 2020.08.10 |