FSCK가 자동으로 실행되지 않습니다.

FSCK가 자동으로 실행되지 않습니다.

/etc/fstab기본 OS 파티션:

UUID=5ee65c50-5672-42a6-9dcf-8bdba30c38aa  /   ext4    defaults,noatime,nodiratime,data=writeback,errors=remount-ro    0   1

오류가 발생하면 옵션 중 하나가 파티션을 읽기 전용으로 마운트하도록 설정됩니다.

OS가 자동으로 실행되도록 fsck하고 문제를 해결한 다음 오류가 발견되면 재부팅하고 파티션을 읽기 전용으로 설정하고 싶습니다. 이미 FSCKFIX=yes시도해 보았지만 /etc/defaults/rcS작동하지 않습니다!

작동하게 할 수 있는 유일한 방법은 bash 기능을 실행하는 것입니다.rc.local:

TIMEOUT=30
check_disk() {
    DEV=/dev/mmcblk0p2

    local TPREV=$(date +%s);
    while :
    do
        ro=`awk '$4~/(^|,)ro($|,)/' /proc/mounts | grep "/dev/root"`
        if [ ! -z "${ro}" ]
        then
            echo -e "parition is readonly; running fsck now \n"
            fsck -y ${DEV}
            reboot
            break
        fi

        # Timeout
        local TNOW=$(date +%s)
        if ((TNOW - TPREV>=TIMEOUT)); then
            break
        fi

        sleep 1
    done
}

check_disk &

x seconds를 실행한 fstab후에 파티션이 다시 마운트되기 때문에 for를 반복해야 합니다 rc.local.

저는 데비안을 사용하고 있습니다. 도와 주셔서 감사합니다

관련 정보