리눅스 파일시스템의 발전
- ext : 미닉스의 MFS를 확장한 파일 시스템
: 블록과 아이노드 트랙을 다루기 위해 연결리스트 사용
- ext2 : ext를 보완하기 위한 파일 시스템
: 최대 크기 2TB
- ext3 : 저널링을 도입한 파일 시스템
(데이터를 디스크에 저장하기전 저널에 먼저 기록하고 문제 발생시 저널을 참조하여 데이터 복구)
- ext4 : ext3의 파편화 문제를 해결한 파일 시스템
- 기타 파일 시스템
: msdos, iso9660 (CD읽기 전용), ufs, SySv, vfat, ntfs, hfs
- 일시적인 목적을 위한 가상 파일 시스템
: swap, tmpfs, proc, rootfs
: tmpfs (메모리에 임시파일 저장)
: proc (커널의 현재 상태를 나타내기 위함)
: rootfs (시스템 초기화 및 관리)
- 시스템이 지원하는 파일 시스템 확인
: /proc/filesystems
장치인식
장치인식 / 인식해제 (mount / umount)
- 마운트 : 외부장치 접근을 위해 리눅스에 인식시키고 특정한 디렉터리와 연결하는 과정
- mount : 장치를 마운트 시키는 명령어
- 마운트 포인트
: mount명령어에 의해 장치가 마운트 되는 디렉터리
- 자동마운트 장치의 마운트 포인트
: /media/사용자/마운트포인트
mount
- 외부장치를 인식하여 사용하기 위한 명령어
- mount -t 파일시스템 장치이름 마운트포인트
umount
- 외부장치의 연결해제
- umount 장치이름or마운트포인트
/etc/fstab
- 파일 시스템 마운트 테이블이 기록된 파일
: 시스템 부팅시 마다 읽어 장치를 마운트
: 장치이름 / 마운트포인트 / 파일시스템 / 옵션 / 덤프 여부 / 파일 점검 여부
- 옵션
: deafults / auto / noauto / ro / rw / user / nouser / exec / noexec / usrquota / grpquota
: 자동 마운트 및 읽기전용 마운트, 일반 사용자 가능 마운트, 실행파일 실행 허용 마운트 등
- 덤프여부
: 내용 확인을 위해 주기억 장치의 일부를 프린터로 출력하는 것
디스크관리
하드디스크 설치 과정
- 장착 -> 파티션 생성(fdisk) -> 파일 시스템 생성(mkfs) -> 하드디스크 마운트 (mount)
리눅스의 파티션
- 연결방식
: Primary master / Primary Slave / Secondary Master / Secondary Slave
- 장착된 하드디스크의 디렉터리 표현
: IDE = /dev/hda~d1~n
: SATA = /dev/sda~d1~n
=> 몇번째 하드(a~z)의 몇번째 파티션(1~n) 인지 표기
=> ex) /dev/hda1 (첫번째 하드디스크의 첫번째 파티션)
파티션
- 네이티브 파티션
: 데이터 저장이 가능한 파티션
: 주 파티션 (데이터가 저장되는 기본 파티션 / 최대 3개)
: 논리 파티션 (주 파티션 3개 이후에 생성되는 파티션 / 최대 12개)
: 확장 파티션 (데이터 저장 공간이 아님 / 논리 파티션을 담는 역할)
- 스왑 파티션
: 시스템 메모리 공간이 부족할 경우 가상 메모리로 사용되는 파티션
: 시스템내에 하나만 존재하며 일반적으로 실제 메모리의 2배 정도로 저장
fdisk 디렉터리 / 옵션 장치명
- 파티션 생성
- 옵션
: b 크기 = 섹터의 크기
: l = 정보출력
- 내부명령어
: d = 파티션 삭제
: l = 정보출력 (m = 상세출력 / p = 테이블 내용 출력)
: n = 파티션 생성
: q = 작업 내용 저장하지 않고 종료 (w = 설정 정보 저장하고 종료)
: v = 파티션 테이블 검사
=> ex) fdisk /dev/sdb -> 내부명령어 사용
mkfs 파일시스템 디렉터리 / 옵션 장치명
- 파일 시스템 생성
- 옵션
: t 파일시스템 디렉터리 = 파일시스템 지정 (기본값 ext2)
=> 약식 사용 : mkfs.ext4 / mkfs.ext3
=> ex) mkfs -t ext4 /dev/sdb1
디스크 마운트
1. /mnt 디렉터리내에 디렉터리 생성
2. mount -t 파일시스템 디렉터리(/dev/) 디렉터리(/mnt/)
=> mount -t ext4 /dev/sdb1 /mnt/sdb1
3. 마운트 정보 출력
: /etc/fstab
디스크 쿼터
- 사용자마다 일정한 크기의 디스크 공간과 생성 가능한 파일 수 제한
: 특정 사용자의 과다한 디스크 사용을 방지하기 위한 기능
- 디스크 쿼터 종류
: 사용자쿼터 / 그룹쿼터
- 과정
: 쿼터 속성 설정 -> 쿼터 비활성화(quoataoff) -> 쿼터 데이터베이스 파일 생성(quotacheck) -> 쿼터 활성화(quotaon)
-> 사용자에 쿼터 지정 (edquota)
- 쿼터 정보 확인
: quota
- 다른 사용자에게 쿼터 복사
: edquota -p
- 쿼터 정보 출력
: repquota
파일 시스템별 쿼터 속성 설정
- ext2
: 사용자 쿼터 = usrquota
: 그룹 쿼터 = grpquota
- ext3 / ext4
: 사용자 쿼터만
= usrjquota=aquota, user, jqfmt=vlsv0
: 그룹 쿼터만
= grpjquota=aquota, group, jqfmt=vlsv0
: 사용자와 그룹 모두
= usrjquota=aquota, user, grpjquota=aquota, group, jqfmt=vlsv0
quotaoff 옵션 / quotaon 옵션 파일시스템이름
- 쿼터 비활성화 / 활성화
: 쿼터 정보 지정 및 기본 정보를 변경을 위해 비활성화 필요
: 디스크 쿼터를 시스템에 적용하기 위해 활성화 필요
- 옵션
: a = /etc/fstab에 지정된 모든 파일 시스템의 쿼터 종료
: u / g = 사용자 쿼터 정보 확인 / 그룹 쿼터 정보 확인
: v = 쿼터 과정중의 메세지 출력
quotacheck 옵션
- 쿼터에 대한 정보 확인 / 데이터베이스 파일 생성
- 옵션
: a / u / g = 모든 / 사용자 / 그룹
: v = 과정에서 발생하는 메시지 출력
: m = 재마운트 방지
edquota 옵션 사용자or그룹계정
- 사용자나 그룹계정에 쿼터 지정
- 옵션
: u / g = 사용자 / 그룹 쿼터 지정
: t = 유예시간 지정
: p = 설정 복사 (쿼터 복사)
- 출력결과
: Filesystem = 파일시스템 이름
: blocks (soft, hard) = 현재 사용자가 사용중인 디스크 용량(kb)
soft / hard = 지정 크기 초과시 경고메시지 / 지정 크기만의 공간만 사용 가능
: inodes (soft, hard) = 현재 사용자가 생성한 파일의 수
soft / hard = 지정 파일수 초과시 경고메시지 / 지정한 파일수만 생성 가능
quota 옵션 사용자or그룹이름
- 쿼터 정보 확인
- 옵션
: u /g
repquota 옵션 사용자or그룹이름
- 모든 사용자의 쿼터 정보 출력
- 옵션
: a / u / g = 모든 / 사용자 / 그룹
: v = 사용량이 없는 쿼터의 정보도 출력
기타 디스크 관리명령어
df [옵션] [파일시스템]
- 파일시스템의 사용현황과 가용현황 등 정보 출력
- 옵션
: k / m / h = 용량을 kb / mb / kb mb gb 단위로 출력
: T = 파일 시스템의 종류 출력
: t 파일시스템 = 지정된 파일 시스템의 용량 출력
du [옵션] [디렉터리명]
- 특정 디렉터리의 차지용량 출력
- 옵션
: a 디렉터리 = 지정된 디렉터리와 하위 디렉터리에 대해 출력
: s = 디렉터리 내용을 제외한 전체용량만 출력
: k / m / h = 용량을 kb / mb / kb mb gb 단위로 출력
dmesg
- 시스템 부팅시 시스템 장치인식과 오류 검사, 파일시스템 마운트 수행하는데 이를 출력
: 가장 최근에 부팅시 발생한 메시지 확인
fsck 옵션 디바이스이름
- 파일시스템 검사
- 옵션
: a = 시스템 검사 후 문제 발견시 자동 복구
: y = 모든 질문에 자동 yes
: c = 배드블록을 검사하여 배드 블록 발견시 배드 블록 리스트에 추가
: f = 강제검사
: v = 검사 과정 출력
e2fsck 옵션 디바이스이름
- fsck의 확장 명령어로, ext2, ext3, etx4 를 검사하기 위한 명령어
- 옵션
: q = 검사 후 자동 복구
: y = 모든 질문에 자동 yes
: c = 배드블록을 검사하여 배드 블록 발견시 배드 블록 리스트에 추가
: j ext3 or ext4 = 저널링 파일 시스템 지정
: f = 강제검사
: v = 검사 과정 출력
- 파일 시스템 복구
: e2fsck -b 백업슈퍼블록위치 디바이스이름
badblocks [옵션] 디바이스이름
- 배드 블록 검사 결과 출력
- 옵션
: o 파일명 = 검출된 배드 블록의 번호를 파일에 저장
: v = 점검 과정 출력
기본 슈퍼 블록
- 파일 시스템에 대한 전체적인 정보를 가지는 블록
: mke2fs 명령어 실행시 생성
: 손상시 파일 시스템 사용 불가
백업 슈퍼 블록
- 기본 슈퍼 블록의 손상을 대비해 유지하는 블록
: 백업 슈퍼 블록을 이용하여 기본 슈퍼 블록 복구
= 기본 슈퍼 블록의 번호를 알아야함
dumpe2fs
- 백업 슈퍼 블록의 번호 추출
: 파일 시스템의 정보 출력가능
=> dumpe2fs /dev/sdb1 | grep superblock
dd if=파일명 of=파일명 bs=바이트수 [count=횟수]
- data duplicator의 약어로 데이터 복사를 위한 명령어
: 데이터 복사 / 두 디스크의 크기가 같아야함
- if=읽어들일 파일 of=읽어들일 내용을 출력할 파일
bs=한번에 읽어들일 바이트수 count=복사할 블록의 수
'Certification > 리눅스마스터' 카테고리의 다른 글
리눅스 기초 - 네트워크 관리 (0) | 2020.12.16 |
---|---|
리눅스 기초 - 프로세스 (0) | 2020.12.16 |
리눅스 기초 - 패키지와 파일 압축 (0) | 2020.12.15 |
리눅스 기초 - 디렉터리와 파일관리(2) (0) | 2020.12.15 |
리눅스 기초 - 디렉터리와 파일관리(1) (0) | 2020.12.15 |