fsck 명령

용도

파일 시스템 지속성을 검사하고 대화식으로 파일 시스템을 수리합니다.

구문

fsck [ -n ] [ -p ] [ -y ] [ -d블록 번호 ] [ -f ] [ -ii-노드 번호 ] [ -o 옵션 ] [ -t파일 ] [ -V VfsName ] [ FileSystem1 - FileSystem2 ... ]

설명

주의: 시스템 오작동 후 항상 파일 시스템에서 fsck 명령을 실행하십시오. 정정 조치를 수행할 경우 일부 데이터 유실이 발생할 수 있습니다. 각 일관성 정정에 대한 기본 조치는 운영자가 입력할 때까지 대기하는 것입니다.yes또는no. 영향을 받는 파일 시스템에 대한 쓰기 권한이 없는 경우, fsck 명령은no실제 응답에도 불구하고 응답하십시오.
주:
  1. fsck 명령은 마운트된 파일 시스템은 정정하지 않습니다.
  2. fsck 명령은 수리 외의 이유로 마운트된 파일 시스템에서 실행될 수 있습니다. 그러나 파일 시스템이 마운트될 때 부정확한 오류 메시지가 리턴될 수 있습니다.

fsck 명령은 일치하지 않는 파일 시스템을 확인하여 대화식으로 복구합니다. 파일 시스템을 마운트하기 전에 이 명령을 실행하지 마십시오. 파일 시스템이 상주하는 장치 파일을 읽을 수 있어야 합니다(예: /dev/hd0 장치). 일반적으로 파일 시스템은 일관성이 있고, fsck 명령은 단순히 파일의 수, 사용된 블록 및 파일 시스템에서 사용 가능 블록에 대해 보고만 합니다. 파일 시스템이 불일치하는 경우에는, fsck 명령은 발견된 불일치에 대한 정보를 표시하고 이를 수리하기 위한 권한을 요청하는 프롬프트를 표시합니다.

fsck 명령은 수리할 때 조심스럽게 하고 유효한 데이터의 유실을 초래할 수도 있는 조치는 피하려고 합니다. 그러나, 특정 경우에는, fsck 명령은 손상된 파일의 파괴를 권장합니다. fsck 명령이 필요한 수리를 수행하도록 허용하지 않을 경우 비지속적 파일 시스템이 발생할 수 있습니다. 비지속적 파일 시스템을 마운트하면 시스템 고장이 발생할 수도 있습니다.

JFS2 파일 시스템에 스냅샷이 있는 경우 fsck 명령은 스냅샷을 보존하려고 시도합니다. 이 조치가 실패하면 스냅샷이 스냅된 파일 시스템의 모든 사전 이미지를 포함한다고 보장할 수 없습니다. fsck 명령은 스냅샷 및 스냅샷 논리 볼륨을 삭제합니다. fsck 명령이 파일 시스템을 수정하는 경우 내부 스냅샷이 삭제됩니다.

FileSystem 매개변수를 사용하여 파일 시스템을 지정하지 않으면 fsck 명령은 check 속성이 True로 설정된 /etc/filesystems 파일에 나열된 모든 파일 시스템을 검사합니다. 다음과 같이 스탠자에 행을 추가하여 이러한 유형의 검사를 사용 가능하게 할 수 있습니다.

check=true
/etc/filesystems 파일에서 파일 시스템을 그룹화하여 다중 파일 시스템에 대한 검사를 수행할 수도 있습니다. 이를 수행하려면 다음과 같이 /etc/filesystems 파일에서 check 속성을 변경하십시오.
check=Number

Number 매개변수는 fsck 명령에 특정 파일 시스템을 포함하는 그룹을 알립니다. 공통 로그 장치를 사용하는 파일 시스템은 동일한 그룹에 배치되어야 합니다. 파일 시스템은 한 번에 하나씩 그룹 순으로 그 다음에는 /etc/filesystems 파일에 나열되는 순서대로 검사됩니다. 모든 check=true 파일 시스템은 그룹 1에 있습니다. fsck 명령은 명령행 또는 /etc/filesystems 파일에 지정된 순서에 관계없이 다른 모든 파일 시스템 전에 루트 파일 시스템을 검사하려고 시도합니다.

fsck 명령은 다음 비지속성에 대해 검사합니다.

  • 복수의 파일에 할당된 블록 또는 프래그먼트
  • 중첩되는 블록 또는 프래그먼트 번호를 포함하는 i-노드
  • 범위를 벗어난 블록 또는 프래그먼트 번호를 포함하는 i-노드
  • 파일에 대한 디렉토리 참조 번호와 파일의 링크 개수 간 불일치
  • 잘못 할당된 블록 또는 프래그먼트
  • 디스크 맵에서 사용 가능으로 표시된 블록 또는 프래그먼트 번호를 포함하는 i-노드
  • 손상된 블록 또는 프래그먼트 번호를 포함하는 i-노드
  • i-노드에서 최종 디스크 주소가 아닌 프래그먼트. 이 검사는 압축된 파일 시스템에는 적용되지 않습니다.
  • 프래그먼트를 포함하는 32KB 초과 파일. 이 검사는 압축된 파일 시스템에는 적용되지 않습니다.
  • 크기 검사:
    • 잘못된 블록 개수
    • 512바이트의 배수가 아닌 디렉토리 크기.
    이러한 검사는 압축된 파일 시스템에는 적용되지 않습니다.
  • 디렉토리 검사:
    • i-노드 맵에서 사용 가능으로 표시된 i-노드 번호를 포함하는 디렉토리 항목
    • 범위를 벗어난 i-노드 번호
    • 누락되었거나 자신을 위치지정하지 않는 점(.) 링크
    • 누락되었거나 상위 디렉토리를 위치지정하지 않는 이중점(..) 링크
    • 참조되지 않는 파일 또는 도달할 수 없는 디렉토리
  • 비지속적 디스크 맵
  • 비지속적 i-노드 맵.

분리된 파일 및 디렉토리(도달할 수 없음)는 허용되는 경우 파일 시스템의 루트 디렉토리에 있는 lost+found 서브디렉토리에 배치하면 다시 연결됩니다. 지정되는 이름은 i-노드 번호입니다. fsck 명령이 분리된 파일을 다시 연결하는 것을 허용하지 않으면 이 명령은 해당 파일의 영구 삭제할 수 있는 사용 권한을 요청합니다.

해당 메시지에 외에도 fsck 명령은 그 종료값을 통해 검사 및 수리의 결과를 기록합니다. 이 종료값은 다음 조건의 합계일 수 있습니다.

항목 설명
0 검사된 모든 파일 시스템이 이제 정상입니다.
2개 fsck 명령이 검사 또는 수리를 완료하기 전에 인터럽트되었습니다.
4 fsck 명령이 파일 시스템을 변경했습니다. 사용자는 즉시 시스템을 재시작해야 합니다.
8 파일 시스템에 수리되지 않은 손상이 있습니다.

fsck 명령에는 파일 시스템의 기본 논리적 볼륨 장치에 대한 배타적 액세스 권한이 필요합니다. 기본 장치가 사용 가능하지 않아서 fsck가 실패하는 경우 장치를 열 수 있게 된 후 fsck가 재시도됩니다.

시스템이 디스크에서 부트되는 경우 부트 프로세스는 /, /usr, /var/tmp 파일 시스템에서 -f-p 플래그를 지정한 fsck 명령을 명시적으로 실행합니다. fsck 명령이 이러한 파일 시스템 중 어느 한 곳에서라도 실패하는 경우 시스템은 부트되지 않습니다. 이러한 시스템이 부트되기 전에 이동식 미디어에서 부트를 수행하고 유지보수 작업을 수행을 해야 합니다.

fsck 명령이 /, /usr, /var/tmp에서 성공적으로 실행되는 경우 정상 시스템 초기화가 계속됩니다. 정상 시스템 초기화 중에 -f-p 플래그와 함께 지정된 fsck 명령이 /etc/rc 파일에서 실행됩니다. 이 명령 순서는 check 속성이 True로 설정된 모든 파일 시스템을 확인합니다 (check=true) 에 있습니다. /etc/rc 파일에서 실행된 fsck 명령이 파일 시스템의 일관성을 보장할 수 없는 경우 시스템 초기화가 계속됩니다. 그러나 비지속적 파일 시스템의 마운트는 실패할 수 있습니다. 마운트가 실패하면 시스템 초기화가 미완료될 수 있습니다.
주: 기본적으로 /, /usr, /var/tmp 파일 시스템의 check 속성은 False (check=false) /etc/filesystem 스탠자에 있습니다. 이 속성은 다음과 같은 이유로 거짓으로 설정됩니다.
  1. 부트 프로세스가 /, /usr, /var/tmp 파일 시스템에서 fsck 명령을 명시적으로 실행합니다.
  2. /etc/rc 파일이 실행될 때 /, /usr, /var/tmp 파일 시스템이 마운트됩니다. fsck 명령은 마운트된 파일 시스템을 수정하지 않습니다. 또한 마운트된 파일 시스템에서 실행되는 fsck 명령은 신뢰할 수 없는 결과를 생성합니다.

SMIT(System Management Interface Tool) smit fsck 단축 경로를 사용하여 이 명령을 실행할 수 있습니다.

플래그

항목 설명
-d블록 번호 지정된 디스크 블록에 대한 참조를 검색합니다. fsck 명령은 지정된 블록이 들어 있는 파일을 발견할 때마다 i-노드 번호 및 그 번호를 참조하는 모든 경로 이름을 표시합니다. JFS2 파일 시스템의 경우 지정된 블록을 참조하는 i-노드 번호가 표시되지만 해당 경로 이름은 표시되지 않습니다.
-f 단축 검사를 수행합니다. 정상적인 상황에서 올바른 시스템 종료 없이 시스템을 정지시킴으로 인해 영향을 받게 될 가능성이 높은 파일 시스템은 시스템이 정지할 때 마운트되는 파일 시스템뿐입니다. -f 플래그는 fsck 명령에게 성공적으로 마운트 해제된 파일 시스템을 검사하지 않도록 프롬프트합니다. fsck 명령은 파일 시스템 수퍼 블록에서 s_fmod 플래그를 검사하여 이를 판별합니다.

이 플래그는 파일 시스템이 마운트될 때마다 설정되고 성공적으로 마운트 해제되면 지워집니다. 파일 시스템이 성공적으로 마운트 해제되면 문제점이 있을 가능성이 거의 없습니다. 대부분의 파일 시스템은 성공적으로 마운트 해제되므로 그러한 파일 시스템을 검사하지 않음으로써 검사 시간을 줄일 수 있습니다.

-ii-노드 번호 지정된 i-노드에 대한 참조를 검색합니다. fsck 명령은 지정된 i-node에 대한 디렉토리 참조를 만날 때마다 참조의 전체 경로 이름을 표시합니다.
-n 다음과 같이 가정no fsck 명령이 묻는 모든 질문에 대한 응답입니다. 쓰기 위해 지정된 파일 시스템을 열지 않습니다.
-o 옵션 쉼표로 분리된 옵션을 fsck 명령에 패스합니다. 현재 JFS에 대해 지원되는 옵션은 다음과 같습니다(이들 옵션은 최신 파일 시스템에서 사용되지 않으며 무시될 수 있음).
마운트 가능 (mountable)
해당 파일 시스템이 마운트 가능(정리 상태)한 경우 fsck 명령이 값 0을 리턴하고 성공적으로 종료되도록 합니다. 파일 시스템이 마운트 불가능한 경우 fsck 명령은 값 8을 리턴하면서 종료됩니다.
mytype
문제의 파일 시스템이 /etc/filesystems 파일에 지정된 것과 동일한 유형이거나 명령행에서 -V 플래그에 의해 지정된 것과 동일한 유형인 경우 fsck 명령이 성공 (0) 으로 종료되도록 합니다. 그렇지 않은 경우에는 8이 리턴됩니다. 예를 들면 다음과 같습니다.fsck -o mytype -V jfs/ / (루트 파일 시스템) 가 저널 파일 시스템인 경우 값 0으로 종료합니다.
-p 사소한 문제점에 대한 메시지는 표시하지 않지만 그러한 문제점을 자동으로 수정합니다. 이 플래그는 -y 플래그가 수행하는 도매 라이센스를 부여하지 않으며 시스템이 정상적으로 시작될 때 자동 검사를 수행하는 데 유용합니다. 시스템이 자동으로 실행될 때마다 이 플래그를 시스템 시작 프로시저의 일부로 사용해야 합니다. 1차 수퍼 블록이 손상된 경우 2차 수퍼 블록이 검증되어 1차 수퍼 블록에 복사됩니다.
-t파일 fsck 명령이 해당 테이블을 보존하기에 충분한 메모리를 확보할 수 없는 경우, File 매개변수를 점검 중인 파일 시스템 이외의 파일 시스템에서 스크래치 파일로 지정합니다. -t 플래그를 지정하지 않고 fsck 명령에 스크래치 파일이 필요한 경우 스크래치 파일의 이름에 대해 프롬프트합니다. 그러나 -p 플래그를 지정한 경우에는 fsck 명령이 실패합니다. 스크래치 파일이 특수 파일이 아닌 경우 fsck 명령이 종료되면 이 스크래치 파일은 제거됩니다.
-V VfsName /etc/filesystems 파일을 사용하여 설명을 판별하는 대신 파일 시스템에 대해 VFSName 변수로 지정된 가상 파일 시스템의 설명을 사용합니다. 명령행에 -V VfsName 플래그가 지정되지 않은 경우, /etc/filesystems 파일이 검사되고 일치하는 스탠자의 vfs=Attribute 가 올바른 파일 시스템 유형으로 가정됩니다.
-y fsck 명령이 묻는 모든 질문에 대해 예 응답을 가정합니다. 이 플래그는 fsck 명령이 필요하다고 간주하는 모든 조치를 수행하게 합니다. 심각하게 손상된 파일 시스템에서만 이 플래그를 사용하십시오.

보안

RBAC 사용자 및 신뢰할 수 있는 AIX 사용자 주의: 이 명령은 권한 있는 작업을 수행할 수 있습니다. 특권 사용자만 특권 조작을 실행할 수 있습니다. 권한 부여 및 권한에 대한 자세한 내용은 보안의 권한 있는 명령 데이터베이스를 참조하세요. 이 명령과 연관된 특권 및 권한 부여 리스트는 lssecattr 명령 또는 getcmdattr 부속 명령을 참조하십시오.

  1. 모든 디폴트 파일 시스템을 검사하려면 다음을 입력하십시오.
    fsck
    이 명령은 다음과 같이 표시된 모든 파일 시스템을 확인합니다.check=true/etc/filesystems 파일에 있습니다. 이 fsck 명령 양식은 사용자가 파일 시스템을 변경하기 전에 권한이 있는지 물어봅니다.
  2. 디폴트 파일 시스템으로 사소한 문제점을 자동 수정하려면 다음을 입력하십시오.
    fsck -p
  3. 특정 파일 시스템을 검사하려면 다음을 입력하십시오.
    fsck /dev/hd1
    이 명령은 /dev/hd1 장치에 있는 마운트 해제된 파일 시스템을 검사합니다.

파일

항목 설명
/usr/sbin/fsck fsck 명령을 포함합니다.
/etc/filesystems 알려진 파일 시스템을 나열하고 해당 특징을 정의합니다.
/etc/vfs 가상 파일 시스템 유형에 대한 설명을 포함합니다.
/etc/rc 시스템을 시작할 때 실행되는 명령(fsck 명령 포함)을 포함합니다.