Linux/Commands Part

file sysem

장성한군사 2012. 4. 19. 13:54

[파일 시스템]
01. 파일 시스템의 종류
파일 시스템에는 여러가지가 있다. 각각의 운영체제마다 다른 파일 시스템을 사용하고 있다. 대표적으로 윈도우에는 FAT32. NTFS 등을 사용하고, 리눅스에서는 ext2, ext3 등을 사용한다.
근래에는 ext3 버전을 사용한다. 이외에도 상당히 많은 파일 시스템이 있다. 각각의 파일 시스템은 장점과 단점이 있으므로, 운영체제와 용도에 맞게 선택하는 것이 좋다.
(1) minix
리눅스에서 처음 사용한 파일 시스템이다. 파일 이름은 최대 30자, 파일 시스템당 최대 64MB를 지원한다.
(2) ext2
ext3가 나오기 전까지 거의 대부분의 리눅스가 채택한 파일 시스템이다. 256바이트 길이의 파일 이름이 가능하고, 2GB의 단일 파일, 5TB의 디스크를 사용할 수 있다.
하지만, 예상치 못한 정전이나 기타 사유로 시스템이 비정상적으로 종료가 되었을 경우 부팅시 ext2 파일 시스템 검사 프로그램인 e2fsck를 실행하여 파일 시스템의 일관성 검사를 하게 된다.
이러한 작업은 데이터가 많은 파일 시스템의 경우 검사하는 시간이 오래 걸리고, 그 동안 아무 작업도 할 수 없게 된다.
(3) ext3
커널 2.4부터 지원하고 있는 파일 시스템으로 ext2의 파일 시스템에 저널링 기능을 추가한 파일 시스템이다. 이 저널링 기능을 이용한 ext3는 ext2 파일 시스템보다 데이터 신뢰성이 강화 되었고, 보다 빠른 속도로 작업을 수행할 수 있다.
(4) fat
MS-DOS 및 윈도우 운영 체제에서 쓰이는 파일 시스템이다.
(5) NTFS
윈도우 서버 및 XP, 비스타 운영체제에서 쓰이는 파일 시스템이다. 예전의 리눅스는 읽기 전요으로 지원되었지만, 최근에는 읽기/쓰기가 가능하다.
(6) iso9660
CD-ROM 표준 파일 시스템이다.
02. 파일 시스템관련 설정 파일과 명령어
파일 시스템과 관련된 설정 파일은 /etc/fstab 파일과 /etc/mtab 파일이 있다.
/etc/fstab : 부팅시 마운트 할 파일 시스템 설정
/etc/mtab : 현재 파일 시스템의 마운트 상황
(1) /etc/fstab
위에서 보는 것처럼 한 행이 마운트할 파일 시스템이 있고 6개의 항목으로 되어 있다.
장치(device)
마운트 포인트
파일 시스템 종류
마운트 옵션
백업
검사(우선 순위)
/LABEL=/
/
ext2
defaults
1
1
- 장치(devices) : 마운트 할 파일 시스템의 장치 파일 이름을 입력한다.
(예) /dev/hda1, /dev/cdrom
- 마운트 포인트 : 파일 시스템이 마운트될 디렉토리를 입력한다.
- 파일 시스템 종류: 마운트 할 파일 시스템의 종류를 입력한다.
(예) ext2, ext3, swap, isso9660
- 마운트 옵션 : 이 항목에는 다양한 옵션들이 존재하는데 각각의 옵션들을 콤마(,)를 이용해서 중복 입력이 가능하다 대부분 defaults를 이용한다.
옵 션
설 명
Defaults
rw, suid, dev, exec, auto, nouser, async, 옵션을 모두 선택한 것과 같다.
Auto
부팅시 자동으로 마운트
Noauto
부팅시 자동으로 마운트 하지 않는다.
Nosuid
uid와 gid가 적용되지 않는다.
ro
읽기 전용
rw
읽기/쓰기 허용
- 백업 : 백업 여부를 선택한다.
0 : 백업하지 않는다.
1 : 백업 가능한 파일 시스템
- 검사(우선 순위) : fsck를 이용한 파일 시스템 검사 옵션
0: 부팅시에 파일 시스템을 점검하지 않는다.
1: 루트 파일 시스템으로서 부팅시에 파일 시스템 점검을 한다.
2: 루트 파일 시스템 이외의 파일 시스템으로서 부팅시에 파일 시스템 점검을 한다.
(2) /etc/mtab
시스템에 마운트 되어있는 파일 시스템이나 장치들의 정보를 볼 수 있다. 마운트 상황이 변경되면 /etc/mtab 파일의 내용도 변경되므로 특별히 수정할 필요는 없다. 파일의 내용은 /etc/fstab 파일과 유사하다.(mount 명령어로 확인할 수 있다.)
(3) fdisk
fdisk라는 명령어를 이용하여 하드 디스크를 초기화 하고 파티션을 생성하는 것을 해보았을 것이다. 리눅스에서도 윈도우의 명령어는 같지만 약간 다르게 사용된다.
(4) badblocks : 배드 블록 점검
배드블럭이 존재하는 하드 디스크를 사용하게 되면 정사적인 운영중에도 갑자기 다운되거나 파일이 손상되는 등의 심각한 상황이 발생할 수 있다. 그래서 배드블럭을 검사하여 배드블럭이 존재하는 경우에는 안전한 하드 디스크로 교체하는 것이 좋다. 배드블럭 점검은 다음 과정의 mkfs 명령으로도 점검이 가능하다.
<사용 방법>
Badblocks [ -b 블록크기 ] [ -o 출력파일 ] [ -v ] [ -w ] 장치명
<옵션>
-b 블록크기 : 블록크기를 바이트 단위로 나타낸다.
-o 출력파일 : 배드블럭의 목록을 파일에 저장한다. 이 옵션이 없으면 모니터에 출력한다.
-v : 상세한 내용을 출력한다.
-w : 쓰기 모드를 테스트 한다. 이 옵션을 선택하면 장치상의 모든 블록에 써보고 다시 읽어, 내용을 비교함으로써 배드블럭을 찾아낸다. 만약 기존에 데이터가 있다면 모두 삭제 되므로 주의가 필요하다.
(예) badblocks –v
(5) mkfs
fdisk로 파일 시스템을 생성한다고 그곳에 데이터를 저장할 수는 없다.
mkfs 명령어는 파일 시스템을 생성한 것을 사용할 수 있게 하는 명령어 이다.
(mkfs를 사용하고, 마지막으로 mount 하면 데이터를 사용할수 있게 된다.)
<사용 방법>
mkfs [-V] [-t 파일시스템 종류] [파일시스템 옵션] 장치이름 [용량]
<옵션>
-V : 자세한 정보를 보여준다.
-t : 파일 시스템 종류 : 작업할 파일 시스템을 선택한다. 예) –t ext3
<파일 시스템 옵션>
-c : 파일 시스템을 만들기 전에 배드블럭 검사를 한다.
-l 파일 이름 : 파일로부터 배드블럭 목록을 읽는다.
-v : 작업 상태, 결과를 자세하게 보여준다. 예) mkfs –V –t ext3 /dev/hda1
(6) fsck : 파일 시스템 점검
시스템을 운영하면서 많은 파일들이 생성되고 삭제된다. 하지만 데이터가 쌓이고 데이터가 기록 되는 도중 정전이 일어난다거나 하는 예기치 못한 상황이 발생한다면 나의 소중한 파일들은 손상될 수도 있다. 그럴 경우 fsck를 이용하여 손상된 파일 시스템을 점검하고 복구할 수 있다.
<사용 방법>
fsck [ -AVRTNP] [-s] [-t 파일 시스템 종류] 파일 시스템
<옵션>
-A : /etc/fstab 파일에 있는 모든 파일 시스템을 한번씩 모두 점검한다.
-R : -A와 함께 사용되면 / 파일 시스템은 제외한다.
-T : 시작할 때 제목은 표시되지 않는다.
-N : 실행은 하지 않고 어떤 작업을 할 것인지만 보여준다.
-P : -A와 함께 사용되면 / 파일 시스템과 다음 파일 시스템을 병렬처리하여 점검한다.
-s : fsck 동작을 시리얼화 한다. 여러 파일 시스템을 점검해야 할 때 유용하다.
-V : 자세한 정보가 출력된다.
-t : 파일 시스템의 유형 : 기본적으로 ext2가 사용되는데 요즘엔 ext3 파일 시스템을 사용하므로 사용할 때 주의해야 한다.
◆ 하드디스크를 추가하여 사용할수 있는 작업까지는 후에 공부하도록 하자.