| HOME / 정보공유 / AIX 명령어 모음

fsck
fsck fsck 명령 목적 파일 시스템의 일관성을 검사하고 대화식으로 파일 시스템을 복원합니다. 구문
fsck [ -n ] [ -p ] [ -y ] [ -dBlockNumber ] [ -f ] [ -ii-NodeNumber ] [ -o Options ] [ -tFile ] [ -V VfsName ] [ FileSystem1 - FileSystem2 ... ]
설명
주의: 시스템이 고장난 이후에는 항상 파일 시스템에 대해 fsck 명령을 수행하십시오. 정정 조치로 인해 데이터의 일부가 유실될 수도 있습니다. 각 일관성 정정을 위한 디폴트 조치는 운영자가 예 또는 아니오를 입력하기도록 기다리는 것입니다. 영향을 받는 파일 시스템에 대한 쓰기 사용권한이 없으면, fsck 명령은 실제 응답에 관계없이 아니오로 응답하는 것이 디폴트입니다.
주:
fsck 명령은 마운트된 파일 시스템에 대한 정정을 하지 않습니다.
fsck 명령은 수리 외의 이유로 마운트된 파일 시스템에 수행될 수 있습니다. 그러나, 파일 시스템이 마운트될 때 부정확한 오류 메세지가 리턴될 수 있습니다.
fsck 명령은 비지속적인 파일 시스템을 검사하여 대화식으로 복원합니다. 이 명령은 파일 시스템을 마운트하기 전에 수행해야 합니다. 파일 시스템이 상주하는 장치 파일을 읽을 수 있어야 합니다(예: /dev/hd0 device).일반적으로, 파일 시스템은 지속적이므로 fsck 명령은 단지 파일 시스템에서의 파일의 수, 사용된 블록 및 사용 가능한 블록에 대해 보고합니다. 파일 시스템이 비지속적이면, fsck 명령은 발견된 비지속성에 대한 정보를 표시하고 복원을 허용하도록 프롬프트합니다.
fsck 명령은 복원을 수행하는 데 있어 보존성이 있으며, 유효한 데이터가 유실될 가능성이 있는 조치는 피하려고 합니다. 그러나, fsck 명령이 손상된 파일의 파일을 권하는 경우도 있습니다. fsck 명령이 필요한 복원을 수행하도록 허용하지 않을 경우, 비지속적인 파일 시스템이 초래될 수도 있습니다. 비지속적인 파일 시스템을 마운트하면 시스템 고장이 발생할 수도 있습니다.
FileSystem 매개변수로 파일 시스템을 지정하지 않으면, fsck 명령은 check 속성이 참으로 설정되어 있는 파일 시스템이 있는지 /etc/filesystems 파일에 있는 모든 파일 시스템을 확인합니다. 다음과 같이 스탠자(stanza)에 한 행을 추가하여 이런 유형의 검사를 가능하게 할 수 있습니다.
check=true
fsck 명령은 여러 파일 시스템에서 동시에 검사를 수행할 수 있습니다. 이 프로시저를 사용하면 많은 수의 파일 시스템을 검사하는 데 걸리는 시간을 절약할 수 있습니다. 여러 파일 시스템을 인수의 일부로 지정할 경우, -(빼기 부호)를 사용하여 파일 시스템간을 분리시키십시오.
또한, /etc/filesystems 파일에 있는 파일 시스템을 그룹으로 묶어서 여러 개의 파일 시스템을 동시에 확인할 수 있습니다. 이를 수행하려면, /etc/filesystems 파일의 check 속성을 다음과 같이 변경하십시오.
check=Number
Number 매개변수는 fsck 명령에게 특정 파일 시스템이 포함된 그룹을 알려줍니다. 공통 로그 장치를 사용하는 파일 시스템은 동일한 그룹에 위치해 있어야 합니다. 각 그룹은 별도의 병렬 프로세스에서 검사됩니다. 파일 시스템은 한 번에 하나씩 /etc/filesystems 파일에 나열되어 있는 순서대로 검사됩니다. 모든 check=true 파일 시스템은 그룹 1에 있습니다. fsck 명령은 명령행 또는 /etc/filesystems 파일에 지정된 순서에 관계없이 다른 어떤 파일 시스템보다 먼저 루트 파일 시스템을 검사합니다.
fsck 명령은 다음의 비지속성 여부를 검사합니다.
여러 파일에 할당된 블록 또는 프래그먼트.
중첩하는 블록 또는 프래그먼트 번호가 들어 있는 i 노드.
범위를 벗어난 블록 또는 프래그먼트 번호가 들어 있는 i 노드.
파일에 대한 디렉토리 참조의 수와 파일의 링크 계수 사이의 불일치.
불법적으로 할당된 블록 또는 프래그먼트.
디스크 맵에서 사용 가능으로 표시된 블록 또는 프래그먼트 번호가 들어 있는 i 노드.
파손된 블록 또는 프래그먼트 번호가 들어 있는 i 노드.
i 노드에서 최종 디스크 주소가 아닌 프래그먼트. 이 검사는 압축된 파일 시스템에는 적용하지 않습니다.
프래그먼트가 들어 있는 32 KB가 넘는 파일이 검사는 압축된 파일 시스템에는 적용하지 않습니다.
크기는 다음사항을 검사합니다.
틀린 블록 수.
512 바이트의 배수가 아닌 디렉토리 크기.
이 검사는 압축된 파일 시스템에는 적용하지 않습니다.
디렉토리는 다음 사항을 검사합니다.
i 노드 맵에서 사용 가능으로 표시된 i 노드 번호가 들어 있는 디렉토리 항목.
범위를 벗어난 i 노드 번호.
도트(.) 링크 누락 또는 자체로 위치지정하지 않음.
도트 도트(..)링크 누락 또는 상위 디렉토리로 위치지정하지 않음.
참조되지 않은 파일 또는 도달할 수 없는 디렉토리.
비지속적 디스크 맵.
비지속적 i 노드 맵.
분리된(orphaned) 파일 및 디렉토리(도달할 수 없는 것)는 사용자가 허용하는 경우, 파일 시스템의 루트 디렉토리에 있는 lost+found 서브디렉토리에 배치하면 다시 연결됩니다. 지정된 이름은 i 노드 번호입니다. fsck 명령이 분리된(orphaned) 파일을 다시 연결하는 것을 허용하지 않으면, 파일을 파기할 권한을 요청합니다.
메세지 외에도, fsck 명령은 종료 값을 통해 확인 및 수리의 결과를 기록합니다. 이 종료 값은 다음 조건의 합계일 수 있습니다.
0 검사된 모든 파일 시스템이 이제 정상입니다.
2 fsck 명령이 검사 또는 복원을 완료하기 전에 인터럽트되었습니다.
4 fsck 명령이 파일 시스템을 변경했으므로 사용자는 시스템을 즉시 재시작해야 합니다.
8 파일 시스템에 복원되지 않은 손상이 있습니다.
시스템을 디스크에서 부트할 때, 부트 프로세스는 /, /usr, /var 및 /tmp 파일 시스템에서 -f 및 -p 플래그에 지정된 fsck 명령을 명시적으로 수행합니다. fsck 명령이 이러한 파일 시스템 중 하나에서 성공하지 못하면, 시스템은 부트되지 않습니다. 이러한 시스템을 부트하려면 제거 가능한 미디어에서 부트를 수행하고 유지보수 작업을 수행해야 합니다.
fsck 명령이 성공적으로 /, /usr, /var, 및 /tmp에서 수행되면, 정상적인 시스템 초기화가 계속 진행됩니다. 정상적인 시스템 초기화 중에 -f 및 -p 플래그가 지정된 fsck 명령은 /etc/rc 파일에서 수행됩니다. 이 명령 순서는 check 속성이 참(check=true)으로 설정된 모든 파일 시스템을 검사합니다. fsck 명령이 /etc/rc로부터 실행될 경우, 파일은 파일 시스템의 지속성을 보장할 수 없으며 시스템 초기화는 계속됩니다. 그러나, 비지속적인 파일 시스템의 마운트는 실패할 수 있습니다. 마운트가 실패하면 시스템 초기화가 불완전하게 될 수 있습니다.
주: 디폴트로, /etc/filesystem 스탠자에 /, /usr, /var 및 /tmp 파일 시스템의 check 속성은 거짓으로 설정됩니다(check=false). 속성은 다음과 같은 이유로 거짓으로 설정됩니다.
부트 프로세스는 명백히 fsck 명령을 /, /usr, /var 및 /tmp 파일 시스템에 대해 수행합니다.
/, /usr, /var 및 /tmp 파일 시스템은 /etc/rc 파일이 실행될 때, 마운트됩니다. fsck 명령은 마운트된 파일을 수정하지 않습니다. 또한, 마운트된 파일 시스템에서 수행된 fsck 명령은 신뢰할 수 없는 결과를 초래합니다.
웹 기반 시스템 관리자(wsm)에 있는 파일 시스템 응용프로그램을 사용하여 파일 시스템 특성을 변경할 수 있습니다. SMIT(시스템 관리 인터페이스 도구) smit fsck 단축 경로를 사용하여 이 명령을 수행할 수도 있습니다.
플래그
-dBlockNumber 지정된 디스크 블록에 대한 참조사항을 탐색합니다. fsck 명령은 지정된 블록이 들어 있는 파일을 발견할 때마다 i 노드 번호 및 그 번호를 참조하는 모든 경로 이름을 표시합니다. 이 플래그는 JFS2 파일 시스템에서는 지원되지 않습니다.
-f 단축 검사를 수행합니다. 정상적인 상황에서, 시스템을 올바로 종료하지 않고 시스템을 정지했을 때 영향을 받기 쉬운 파일 시스템은 시스템이 정지할 때 마운트한 파일 시스템뿐입니다. -f 플래그는 fsck 명령에게 성공적으로 마운트 해제된 파일 시스템은 검사하지 않도록 합니다. fsck 명령은 파일 시스템 수퍼 블록에 있는 s_fmod 플래그를 조사하여 이를 판별합니다.
이 플래그는 파일 시스템을 마운트할 때마다 설정되며 성공적으로 마운트 해제되면 지워집니다. 파일 시스템이 성공적으로 마운트 해제되면, 아무 문제점이 없습니다. 대부분의 파일 시스템이 성공적으로 마운트 해제되므로, 그러한 파일 시스템을 검사하지 않음으로써 검사 시간을 줄일 수 있습니다.
-ii-NodeNumber 지정된 i 노드에 대한 참조사항을 탐색합니다. fsck 명령은 지정된 i 노드에 대한 디렉토리 참조사항을 발견할 때마다, 참조사항의 전체 경로 이름을 표시합니다. 이 플래그는 JFS2 파일 시스템에서는 지원되지 않습니다.
-n fsck 명령의 모든 질문에 대한 응답을 no로 간주합니다. 지정한 파일 시스템을 쓰기 위해 열지 않습니다.
-oOptions 쉼표로 구분된 옵션을 fsck 명령으로 전달합니다. 이 옵션은 파일 시스템 구현 특성이 될 것으로 간주됩니다. 단, 모든 파일 시스템을 자원하는 다음 사항들은 예외입니다.
mountable
fsck 명령을 성공적으로 종료시키며, 문제의 파일 시스템이 마운트가 가능(정리 상태)할 경우 값 0을 리턴합니다. 파일 시스템이 마운트가 불가능할 경우, fsck 명령은 값 8을 리턴하면서 종료합니다.
mytype
해당 파일 시스템의 유형이 /etc/filesystems 파일 또는 명령행의 -V 플래그가 지정하는 유형과 같을 경우, fsck 명령은 성공적으로(0) 종료됩니다. 그 외의 경우에는 8이 리턴됩니다. 예를 들어, fsck -o mytype -V jfs /는 / (루트 파일 시스템)이 저널 파일 시스템인 경우 0으로 종료됩니다.
-p 사소한 문제점에 대해서는 메세지를 표시하지 않고 자동으로 해결합니다. 이 플래그는 -y 플래그가 보증하는 도매 사용권을 보증하지 않으며, 시스템이 정상적으로 시작될 때 자동 검사를 수행하는 데 유용합니다. 이 플래그는 시스템이 자동으로 수행을 시작할 때마다 시스템 시동 프로시저의 일부분으로 사용해야 합니다. 또한, 그룹별 병렬 검사도 허용합니다. 1차 수퍼 블록이 훼손되면, 2차 수퍼 블록이 검증되어 1차 수퍼 블록으로 복사됩니다.
-tFile fsck 명령이 테이블을 보관하기 위한 메모리를 충분히 확보할 수 없으면, 현재 확인되고 있는 파일 외에 File 매개변수를 파일 시스템의 스크래치 파일로 지정합니다. -t 플래그를 지정하지 않았는데 fsck 명령이 스크래치 파일을 필요로 하면, 스크래치 파일의 이름을 입력하라고 프롬프트합니다. 단, -p 플래그를 지정한 경우, fsck 명령은 성공하지 못합니다. 스크래치 파일이 특수 파일이 아니면, fsck 명령이 종료할 때 이 파일도 제거됩니다.
-VVfsName /etc/filesystems 파일을 사용하는 대신 파일 시스템에 대해 VFSName 변수가 지정한 가상 파일 시스템의 설명을 사용하여 설명을 판별합니다. 명령행에 -V VfsName 플래그를 지정하지 않으면, /etc/filesystems 파일을 확인하여 대응하는 스탠자의 vfs=Attribute을 올바른 파일 시스템의 유형으로 간주합니다.
-y fsck 명령의 모든 질문에 대한 응답을 '예'로 가정합니다. 이 플래그는 fsck 명령이 필요하다고 생각되는 모든 조치를 취할 수 있도록 합니다. 이 플래그는 심각하게 손상된 파일 시스템에만 사용하십시오.
예제
모든 디폴트 파일 시스템을 검사하려면, 다음과 같이 입력하십시오.
fsck
이 명령은 check=true로 표시되어 있는지 /etc/filesystems 파일의 모든 파일 시스템을 검사합니다. 이러한 양식의 fsck 명령은 파일 시스템을 변경하기 전에 사용자에게 사용권한을 요구합니다.
디폴트 파일 시스템을 사용하여 사소한 문제점을 자동으로 수정하려면, 다음과 같이 입력하십시오.
fsck -p
고유의 파일 시스템을 검사하려면 다음과 같이 하십시오.
fsck /dev/hd1
이 명령은 /dev/hd1 장치에 위치한 마운트 해제 파일 시스템을 검사합니다.
파일
/usr/sbin/fsck fsck 명령을 포함합니다.
/etc/filesystems 알려진 파일 시스템을 나열하고 그 특성을 정의합니다.
/etc/vfs 가상 파일 시스템 유형에 대한 설명을 포함합니다.
/etc/rc 시스템을 시작할 때 수행되는 명령(fsck 명령 포함)을 포함합니다.
관련 정보
dfsck 명령, fsdb 명령, istat 명령, mkfs 명령, ncheck 명령, rc 명령, shutdown 명령.
filesystems 파일, filsys.h 파일.