Linux

[리눅스] fsck 명령어 완벽 가이드 사용법

인생아 2024. 10. 2. 19:18
반응형

리눅스 시스템에서 파일 시스템은 안정적이어야 하며, 시스템이 갑자기 종료되거나 파일 시스템이 손상될 때 이를 점검하고 복구하는 것이 중요하다. 이때 fsck (file system check) 명령어는 파일 시스템을 점검하고 오류를 복구하는 데 사용된다. fsck는 다양한 파일 시스템에서 사용할 수 있으며, 각 파일 시스템에 맞는 특정 검사 도구를 자동으로 호출한다.

fsck는 파일 시스템을 점검하고, 파일 시스템에 손상이 있는지 확인한 뒤, 이를 수정하는 명령어다. 특히 예상치 못한 전원 차단이나 시스템 충돌 후 파일 시스템을 검사할 때 유용하다. 이 명령어는 부팅 시 자동으로 실행될 수 있으며, 사용자가 직접 실행할 수도 있다.

fsck의 기본 사용법

fsck [옵션] [디스크나 파티션 경로]

여기서 옵션은 파일 시스템 검사 및 복구 방법을 설정하는 데 사용된다. 디스크나 파티션 경로는 점검할 대상의 경로를 지정한다. 주로 /dev/sda1와 같은 형태의 파티션을 점검한다.

자주 사용하는 옵션

  • -a: 사용자 입력 없이 자동으로 복구를 시도한다.
  • -r: 복구 전 사용자의 확인을 요청한다.
  • -y: 모든 질문에 대해 자동으로 'yes'라고 응답하여 복구를 진행한다.
  • -n: 실제로 수정하지 않고 점검만 진행한다.
  • -C: 진행 상황을 표시한다.

각 옵션별 예시

1. 자동 복구 (-a)

사용자의 입력 없이 자동으로 복구할 때 사용하는 옵션이다.

user@linux:~$ sudo fsck -a /dev/sda1
fsck from util-linux 2.34
e2fsck 1.45.6 (20-Mar-2020)
/dev/sda1: clean, 52120/3276800 files, 1294521/13107200 blocks

위 결과는 파일 시스템에 손상이 없거나, 자동으로 복구가 완료되었을 때의 메시지다.

2. 사용자 확인 요청 (-r)

복구 전 사용자의 확인을 요청하는 옵션이다.

user@linux:~$ sudo fsck -r /dev/sda1
fsck from util-linux 2.34
e2fsck 1.45.6 (20-Mar-2020)
/dev/sda1 contains errors, check it? (y/n) y
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
/dev/sda1: clean, 52120/3276800 files, 1294521/13107200 blocks

사용자에게 복구 여부를 확인한 후, 복구 작업을 진행하는 것을 볼 수 있다.

3. 자동 'yes' 응답 (-y)

모든 질문에 대해 자동으로 'yes'라고 응답하며 복구를 진행하는 옵션이다.

user@linux:~$ sudo fsck -y /dev/sda1
fsck from util-linux 2.34
e2fsck 1.45.6 (20-Mar-2020)
/dev/sda1: clean, 52120/3276800 files, 1294521/13107200 blocks

이 옵션을 사용하면, 사용자 개입 없이 복구가 진행되므로 대규모 파일 시스템을 빠르게 복구할 때 유용하다.

4. 점검만 수행 (-n)

실제로 수정하지 않고 점검만 수행하는 옵션이다.

user@linux:~$ sudo fsck -n /dev/sda1
fsck from util-linux 2.34
e2fsck 1.45.6 (20-Mar-2020)
/dev/sda1: clean, 52120/3276800 files, 1294521/13107200 blocks

수정을 원치 않는 경우나, 점검 후 수정 여부를 결정할 때 유용하다.

5. 진행 상황 표시 (-C)

점검 중 진행 상황을 표시하는 옵션이다.

user@linux:~$ sudo fsck -C /dev/sda1
fsck from util-linux 2.34
Checking in progress... (10% completed)
/dev/sda1: clean, 52120/3276800 files, 1294521/13107200 blocks

대형 파일 시스템을 점검할 때, 진행 상태를 확인할 수 있어 유용하다.

실습: fsck 명령어 실행 예시

다음은 리눅스 터미널에서 fsck 명령어를 사용하여 파일 시스템을 점검하는 예제다. 이 예시에서는 /dev/sda1 파티션을 점검하고 자동으로 복구하는 과정을 보여준다.

user@linux:~$ sudo fsck -y /dev/sda1
fsck from util-linux 2.34
e2fsck 1.45.6 (20-Mar-2020)
/dev/sda1: clean, 52120/3276800 files, 1294521/13107200 blocks

위 예제에서 fsck/dev/sda1 파티션을 검사하고, 손상이 없거나 자동 복구된 후 결과를 출력한다. 파일 시스템이 정상적일 경우 "clean" 메시지가 출력된다.

중요한 상황에서의 fsck 사용

만약 시스템이 부팅되지 않거나 파일 시스템 오류가 발생했다면, 다음 단계를 따라 시스템을 복구할 수 있다. 부팅 후 초기화 모드로 진입하거나 시스템 복구 모드에서 fsck를 실행할 수 있다. 또한 파일 시스템을 마운트 해제한 상태에서 fsck를 실행해야 파일 시스템에 문제가 생기지 않으므로, 부팅 중이 아닐 때 실행하는 것이 안전하다.

fsck 사용 시 주의 사항

  1. 마운트 해제된 상태에서 실행: fsck는 마운트된 파일 시스템에서 실행하면 안 된다. 파일 시스템을 마운트 해제한 후에 점검해야 한다. 만약 루트 파일 시스템을 점검해야 한다면, 복구 모드에서 실행하는 것이 안전하다.
  2. 자동 복구 사용 주의: -y 옵션을 사용할 때는 모든 복구 작업을 자동으로 처리하기 때문에, 중요한 데이터를 잃을 수 있으니 신중해야 한다.

결론

리눅스의 fsck 명령어는 파일 시스템의 일관성을 유지하고 오류를 복구하는 중요한 도구다. 시스템 관리자는 주기적으로 파일 시스템을 점검하여 데이터 손실을 방지하고, 예상치 못한 오류가 발생했을 때 빠르게 복구할 수 있도록 대비해야 한다. 위에서 설명한 명령어와 옵션을 활용해 시스템을 더욱 안전하게 유지할 수 있다.

참고사이트

 

반응형