데비안 6 및 3 파티션 (FAT 및 2x ext2)이있는 팬이없는 PC (사실 수백 대)로 작업하고 있습니다. 시스템에는 전원 버튼이 없으므로 대부분의 사람들은 init 0 (또는 동등한) 대신 ‘종료’하기 위해 플러그를 잡아 당기는 경향이 있습니다. 결과적으로 파일 시스템은 오류를 매우 빠르게 생성합니다.
fsck를 강제하기 위해 ‘shutdown -rF’를 사용하려고 시도했지만 작동하지 않는 것 같습니다. 마운트하기 전에 각 마운트 지점 / FS를 확인하도록 시스템에 지시하는 방법이 있는지 궁금합니다.
/ etc / fstab에서 fsck 매개 변수 설정을 시도했습니다. 이것은 일반적으로 ‘오류를 발견했습니다. fsck manual ‘메시지를 실행하십시오.
다른 옵션이 있습니까?
답변
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)은 다른 옵션을 의미하지 않습니다.
답변
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
스크립트 를 사용하는 솔루션은 데비안에 더 적합하지만 다른 배포판에서는 작동하지 않습니다.
답변
내 답변을 편집 중입니다.
명령은 다음과 같습니다.
sudo tune2fs -c 1 /dev/sdX
맨 페이지에 따르면 tune2fs의 -c 인수는 파티션에 대한 마운트 인스턴스 수를 계산합니다. 따라서 1은 매 장착 인스턴스마다 fs를 강제로 확인합니다.
( http://man7.org/linux/man-pages/man8/tune2fs.8.html )