리눅스 시스템에서 파일 시스템은 안정적이어야 하며, 시스템이 갑자기 종료되거나 파일 시스템이 손상될 때 이를 점검하고 복구하는 것이 중요하다. 이때 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 사용 시 주의 사항
- 마운트 해제된 상태에서 실행: fsck는 마운트된 파일 시스템에서 실행하면 안 된다. 파일 시스템을 마운트 해제한 후에 점검해야 한다. 만약 루트 파일 시스템을 점검해야 한다면, 복구 모드에서 실행하는 것이 안전하다.
- 자동 복구 사용 주의: -y 옵션을 사용할 때는 모든 복구 작업을 자동으로 처리하기 때문에, 중요한 데이터를 잃을 수 있으니 신중해야 한다.
결론
리눅스의 fsck 명령어는 파일 시스템의 일관성을 유지하고 오류를 복구하는 중요한 도구다. 시스템 관리자는 주기적으로 파일 시스템을 점검하여 데이터 손실을 방지하고, 예상치 못한 오류가 발생했을 때 빠르게 복구할 수 있도록 대비해야 한다. 위에서 설명한 명령어와 옵션을 활용해 시스템을 더욱 안전하게 유지할 수 있다.
참고사이트
'Linux' 카테고리의 다른 글
[리눅스] userdel 명령어 완벽 가이드 사용법(계정 삭제) (0) | 2024.10.05 |
---|---|
[리눅스] useradd 명령어 완벽 가이드 사용법(계정 생성) (0) | 2024.10.05 |
[리눅스] reboot 명령어 완벽 가이드 사용법 (0) | 2024.10.05 |
[리눅스] shutdown 명령어 완벽 가이드 사용법 (2) | 2024.10.03 |
[리눅스] fdisk, parted 명령어 완벽 가이드 사용법 (0) | 2024.10.02 |
[리눅스] mount, umount 명령어 완벽 가이드 사용법 (0) | 2024.10.02 |
[리눅스] jobs 명령어 완벽 가이드 사용법 (0) | 2024.10.02 |
[리눅스] fg 명령어 완벽 가이드 사용법 (0) | 2024.10.02 |