부팅 할 때마다 fsck를 실행하는 방법-모든 (관련된) 파일 시스템?


14

데비안 6 및 3 파티션 (FAT 및 2x ext2)이있는 팬이없는 PC (사실 수백 대)로 작업하고 있습니다. 시스템에는 전원 버튼이 없으므로 대부분의 사람들은 init 0 (또는 동등한) 대신 '종료'하기 위해 플러그를 잡아 당기는 경향이 있습니다. 결과적으로 파일 시스템은 오류를 매우 빠르게 생성합니다.

fsck를 강제하기 위해 'shutdown -rF'를 사용하려고 시도했지만 작동하지 않는 것 같습니다. 마운트하기 전에 각 마운트 지점 / FS를 확인하도록 시스템에 지시하는 방법이 있는지 궁금합니다.

/ etc / fstab에서 fsck 매개 변수 설정을 시도했습니다. 이것은 일반적으로 '오류를 발견했습니다. fsck manual '메시지를 실행하십시오.

다른 옵션이 있습니까?


1
A) 사용자는 누구입니까? B) 화면에 항상 표시되는 눈에 띄는 "종료"버튼을 추가 할 수 있습니까? C) 또는 사용자에게 교육을 제공 할 수 있습니까? D) 왜 기기에 전원 버튼이 없었습니까?
unforgettableidSupportsMonica

이 질문은 같은 사용자에 의해 거의 중복되지 않은 unix.stackexchange.com/questions/180488/… 입니다.
unforgettableidSupportsMonica

답변:


16

in /etc/init.d/checkfs.sh은 행 if [ -f /forcefsck ] || grep -s -w -i "forcefsck" /proc/cmdline이므로 forcefsck커널 명령 행에서 제공하거나 /forcefsck종료시 파일을 생성 하면 다음에 다시 부팅 할 때 fsck가 발생합니다.

수동 fsck 실행을 방지하려면 편집 후 다음 / etc / default / rcS 항목에서 주석을 해제하고 no를 변경 fsck하여 -y옵션으로 오류를 자동으로 수정 하도록 요청 하십시오 yes.

# automatically repair filesystems with inconsistencies during boot
FSCKFIX=yes

한 옵션 (forcefsck 또는 FSCKFIX)은 다른 옵션을 의미하지 않습니다.


'Run fsck manual'조건을 처리합니까?
ethrbunny

실제로, 나는 너무 빨리 읽고 내 대답을 업데이트했습니다.
유한 그레이 그린

FSCKFIX = yes와의 값을 모두 설정했습니다 checkfs.sh. 두 경우 모두 (init 6을 통해) 재부팅했을 때 fsck가 실행되지 않았습니다. 나는 여기서 뭔가를 놓치고 있어야합니다.
ethrbunny

의 내용을 변경하지 말고 checkfs.sh/ etc / defaults / rcS 만 편집하고 touch /forcefsck재부팅 전에 실행하십시오 . 마지막 명령은 재시작 할 때마다 또는 부팅 직후에 실행되어야 하지만 fsck init 스크립트가 완료되었습니다.
유한 그레이 그린

흠 .. 운이 없다. 'mounting unchecked filesystem'메시지 다음에 많은 'inode reference 삭제'오류가 계속 발생합니다. 지금까지 / etc / fstab을 변경하는 것만이 효과가있었습니다. 귀하의 제안이 작동하지 않도록 내가 뭘하고 있는지 잘 모르겠습니다.
ethrbunny

8

fsck.mode=force부트 로더에 Kernel 매개 변수를 추가하십시오 . 이 옵션을 GRUB_CMDLINE_LINUX_DEFAULT=inside 변수에 추가하십시오 /etc/default/grub. 루트로서 새 grub 구성 파일을 생성하십시오.

[root@host]# grub-mkconfig -o /boot/grub/grub.cfg

이 매개 변수는 forcefsck마운트 지점의 루트 내에 파일 을 작성하는 것과 동일한 효과를 갖습니다 .

checkfs.sh스크립트 를 사용하는 솔루션은 데비안에 더 적합하지만 다른 배포판에서는 작동하지 않습니다.


7

내 답변을 편집 중입니다.

명령은 다음과 같습니다.

sudo tune2fs -c 1 /dev/sdX

맨 페이지에 따르면 tune2fs의 -c 인수는 파티션에 대한 마운트 인스턴스 수를 계산합니다. 따라서 1은 매 장착 인스턴스마다 fs를 강제로 확인합니다.

( http://man7.org/linux/man-pages/man8/tune2fs.8.html )


2
대부분의 경우 명령만으로는 충분하지 않습니다. 최소한의 설명도 작성하십시오.
peterh-Reinstate Monica
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.