2010. 4. 19. 15:27

리눅스 시스템의 부팅시 파일무결성 체크 강제로 하기

리눅스 서버를 강제로 전원버튼을 눌러서 셧다운 시킨후
다시 부팅시키거나 할 때에는

리눅스 부팅시 파일 무결성 체크를 할 것인지 물어보게 되어 있습니다.

위의 경우처럼 강제로 서버를 리부팅했을때에는 root 디렉토리 밑에
(1) 숨김파일로 .autofsck 라는 파일 생성되고 이것은 다음 부팅시에 아래의 메시를 보이면서 5초안에 Y 를 누르면 파일 무결성 체크를 진행하게 됩니다.
-rw-r--r--    1 root root          0 Apr  1 17:33 .autofsck

Press Y within 3 seconds to force file system integrity check
(2) 또는 강제로 root 디렉토리 밑에 forcefsck 라는 파일을 만들어두면 다음 부팅시에 자동으로 파일무결성 체크를 진행하게 됩니다.
[root@localhost /]# cd /
[root@localhost /]# ls -l f*
-rw-r--r-- 1 root root 0  4월 19 15:17 forcefsck

reboot 명령어를 했을 때 다음 부팅시 강제체크한다는 메시지를 볼 수 있을 겁니다.


여기서 팁은 강제로 파일 무결성을 체크하도록 하는 것입니다.
실제로 리눅스가 부팅되는 과정에서 /etc/rc.d 밑의 rc.sysinit 파일이 수행되게 되는데
이 스크립트 안에 관련된 내용이 있습니다.
이것을 수정해야 하고 /forcefsck 파일을 touch /forcefsck 명령어로 파일만 생성시켜 주면됩니다.

[root@localhost rc.d]# cd /etc/rc.d
[root@localhost rc.d]# ls -l rc.sy*
-rwxr-xr-x 1 root root 27420  3월  6  2009 rc.sysinit

서버가 리부팅되고 나서는 rc.sysinit 스크립트안에 /.autofsck 와 /forcefsck 파일 두개를 지우는 내용이 포함되어 있으므로, 서버가 리부팅될때마다 무조건 체크하기 위해서는 /forcefsck 파일을 지우는 부분을 rc.sysinit 스크립트안에서 지워줘야 합니다.

/etc/rc.sysinit 파일 내용중

# Clean out /.
rm -f /fastboot /fsckoptions /forcefsck /.autofsck /forcequotacheck /halt \
        /poweroff &> /dev/null

위 부분을 아래와 같이 수정

# Clean out /.
rm -f /fastboot /fsckoptions /.autofsck /forcequotacheck /halt \
        /poweroff &> /dev/null

이렇게 되면 다음 리눅스 서버가 부팅 될 때마다 무조건 파일무결성 체크를 진행하게 됩니다. ^^

※ 참고적으로 fsck 라는 명령어는 파일시스템을 unmount 한 상태에서 진행해야 됩니다. !!
만약 마운트 되어 있는 상태의 파티션에다가 fsck (파일시스템체크) 명령어를 내리게 되면
그 파티션은 날라갑니다 !! 정말 주의 해야 합니다.