강좌
클라우드/리눅스에 관한 강좌입니다.
자격증 분류

리눅스마스터1급 : 리눅스 파일시스템 점검 및 복구하는 fsck

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

리눅스마스터1: 리눅스 파일시스템 점검 및 복구하는 fsck




 

fsck

 

 

fsck(file system checker) 는 리눅스에서 파일 시스템을 검사해서 오류를 수정해 주는 프로그램이다.

 

 

 

윈도우즈의 scandisk와 비슷한 기능을 한다고 보면 된다.

 

 

 

리눅스 사용 중에 파일 시스템이 깨졌다는 표현을 많이 사용하는데, 이 때 깨진 파일 시스템을 복구하기 위해 가장 먼저, 그리고 가장 일반적으로 사용하는 명령어가 fsck이다

 

(이 명령어와 관련하여 필수적으로 e2fsck와 함께 알아두도록 한다)

 

 

1) 개요

 

 

 

 

 

fsck [-sAVRTMNP] [-C [-t 파일 시스템 유형] [파일 시스템옵션] [장치명] 또는 [마운트 포인트] ...

 

 

 

 

 

2) 옵션

 

옵션

설명

-s

fsck 동작을 시리얼화한다.

 

 

 

대화형 모드에서 여러 파일 시스템을 점검할 때 유용하다(주의: e2fsck는 기본값으로 대화형으로 실행한다.

 

 

 

e2fsck을 비대화형 모드로 실행하려면, 에러를 자동으로 치유하고자 하는 경우에는 -p 또는 -a 옵션을 주고 자동으로 치유하고 싶지 않은 경우에는 -n 옵션을 준다.

 

 

 

)

-t

검사할 파일 시스템의 형식을 지정한다.

 

 

 

A 옵션과 같이 사용되면 /etc/fstab 파일에 기술된 파일 시스템중 해당하는 형식의 파일 시스템들만 검사하게 된다.

 

 

 

파일 시스템 형식 앞에 no 를 붙이게 되면 해당 파일 시스템 형식을 제외한 다른 파일 시스템들을 검사한다.

 

 

 

 

-A

/etc/fstab 파일에 기술되어 있는 파일 시스템들을 지정된 순서에 맞게 모두 검사한다.

 

 

 

일반적으로 rc 스크립트(rc스크립트 참조)에 기술되어 시스템 부팅시 자동으로 검사하도록 설정된다.

 

 

 

 

-C [“fd”]

현재 검사의 진행 상태를 바 형태로 표시한다.

 

 

 

현재는 ext2, ext3 ext4의 경우에만 적용된다.

 

 

 

 

-M

마운트된 파일 시스템을 제외하고, 마운트된 파일 시스템에 대해 종료코드 0을 출력한다.

 

 

 

 

-N

실행하지 않고 단지 수행될 내용을 출력한다.

 

 

 

, 수행 내용을 시뮬레이션한다.

 

 

 

 

-P

-A 플래그와 같이 사용될 때 다른 파일 시스템과 함께 병렬 처리하여 루트 파일 시스템을 점검하도록 한다.

 

 

 

이것은 루트 파일 시스템에 의심스러운 상태라면 오류를 일으킬 수 있으므로 안전한 방법은 아니다.

 

 

 

 

-R

-A 플래그와 같이 사용될 때 루트 파일 시스템은 제외하도록 한다.

 

 

 

(이미 읽기-쓰기 가능으로 마운트되어 있는 경우)

-T

시작할 때 제목을 보여주지 않는다.

 

 

 

 

-V

실행되는 각 파일 시스템용 명령을 포함하여 자세한 출력을 수행한다.

 

 

 

 

 

 

파일 시스템 특정 옵션

-a

어떤 질문도 하지 않고 파일 시스템을 자동으로 보수한다.

 

 

 

 

-r

대화형 모드로 파일 시스템의 오류를 수정한다.

 

 

 

, 사용자에게 확인을 요구한다.

 

 

 

 

-n

몇몇 파일 시스템에 특정된 것으로, 문제를 수정하지 않고 단순히 그런 문제를 표준출력(stdout)으로 보고한다.

 

 

 

 

-y

몇몇 파일 시스템에 특정된 것으로, 감지된 파일 시스템 오류를 자동적으로 수정하도록 한다.

 

 

 

 

 

 

 

3) 설명

 

fsck/etc/fstab 파일에 설정되어 있는 파일 시스템을 기본 작업 대상으로 한다.

 

 

 

따라서 fsck는 수행 시에 /etc/fstab에 지정된 파일 시스템 타입으로 수행을 하게 되지만, -t 옵션을 사용하여 파일 시스템 타입을 지정할 수 있다.

 

 

 

만약 파일 시스템으로 주어진 값이 유효하지 않는 경우에는 기본값으로 ext2가 주어진다.

 

 

 

그리고 장치명이나 마운트 포인트를 여러개 지정하여 각기 다른 물리적 드라이브 상의 여러 파일 시스템을 검사하는 병렬 처리가 가능하다.

 

 

 

 

 

fsck로 파일 시스템의 점검과 복구를 할 때에는 반드시 mount 해제를 한 후에 작업을 해야 한다.

 

 

 

만약 mount 된 파일 시스템을 대상으로 fsck 작업을 하게 되면 파일 시스템이 손상될 수도 있다(mount를 해제하지 않더라도 경고 메시지에 yes를 입력하면 fsck를 진행할 수 있다).

 

 

루트(/) 파일 시스템의 경우 mount가 해제될 수 없으므로 루트 파일 시스템을 검사할 때에는 읽기 전용으로 마운트하여 검사를 진행하도록 한다.

 

 

 

다음과 같이 fsck 명령을 실행해 보자.

 

 

 

 

 

 

 

# umount /dev/sdb1

# fsck t ext4 /dev/sdb1

 

 

 

 

 

 

 

ext2, ext3, ext4 등에서 모두 fsck를 실행할 수 있는데, -t 옵션을 사용하지 않고 fsck.ext3, fsck.ext4 등과 같이 명령을 내릴 수도 있다.

 

 

 

fsck는 리눅스에서 사용가능한 파일 시스템 점검프로그램인 “fsck.파일 시스템 유형에 대한 전위(front-end) 프로그램일 뿐이기 때문이다.

 

 

 

현재 fsck.ext2, fsck.ext3, fsck.ext4, fsck.ext4dev, fsck.cramfs, fsck,vfat, fsck.msdos 명령이 사용 가능하다.

 

 

 

그리고 이 개별 명령어들은 각각의 명령어에 특정된 옵션들이 존재한다.

 

 

 

 

다음과 같이 복수의 옵션을 적용시켜 보자.

 

 

다음은 fsck의 실제 작업 없이 특정 파일 시스템의 점검이 어떻게 수행되는가를 확인하기 위해 fsck 명령에 N 옵션을 적용시킨 것이다.

 

 

 

 

 

 

 

 

# fsck N t ext4 /dev/sdb1

 

 

 

 

 

 

 

fsck의 종료 시의 종료코드의 종류와 의미는 다음과 같다.

 

 

 

fsck의 종료코드는 아래 값의 합으로 표시된다.

 

 

 

여러 파일 시스템을 한꺼번에 점검하는 경우에는 각 파일 시스템의 종료코드가 각각 출력된다.

 

 

 

 

 

종료코드

내용

0

에러 없이 정상적인 종료를 의미

1

파일 시스템을 복구하였음을 의미

2

파일 시스템이 복구되어 시스템을 재부팅해야 함을 의미

4

작업대상 파일 시스템에 문제가 있으나 복구하지 않고 그대로 두었음을 의미

8

실행 에러를 의미

16

사용법(Usage) 또는 문법(Syntax) 에러를 의미

32

fsck 작업이 사용자에 의해 취소되었음을 의미

128

공유 라이브러리(shared library) 에러를 의미

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,042 명
  • 현재 강좌수 :  35,846 개
  • 현재 접속자 :  93 명