FSCKは自動的に実行されません。

FSCKは自動的に実行されません。

私の/etc/fstabデフォルトのOSパーティション:

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

エラーが発生すると、オプションの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

私はDebianを使用しています。助けてくれてありがとう

関連情報