すべての(関連する)ファイルシステム-ブートごとにfsckを強制する方法は?


14

私は、debian 6および3パーティション(FATおよび2x ext2)を持つファンレスPC(実際には数百台)で作業しています。システムには電源ボタンがないので、ほとんどの人は、プラグインを引っ張ってinit 0(または同等の)ではなく「シャットダウン」する傾向があります。その結果、ファイルシステムはかなり急速にエラーを蓄積します。

「shutdown -rF」を使用してfsckを強制しようとしましたが、これは機能していないようです。マウントする前に、各マウントポイント/ FSをチェックするようにシステムに指示する方法があるかどうか疑問に思っています。

/ etc / fstabでfsckパラメーターを設定しようとしました。通常、これにより「エラーが見つかりました。fsckを手動で実行する」メッセージ。

他に試すべきオプションはありますか?


1
A)ユーザーは誰でしたか?B)常に画面に表示される顕著な「シャットダウン」ボタンを追加できましたか?C)あるいは、ユーザーを教育できましたか?D)マシンの前面に電源ボタンがないのはなぜですか?
unforgettableidSupportsMonica

この質問は、同じユーザーによるunix.stackexchange.com/questions/180488/…とほぼ同じです。
unforgettableidSupportsMonica

回答:


16

/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

1つのオプション(forcefsckまたはFSCKFIX)は、他のオプションを意味しません。


これは「fsckを手動で実行」条件を処理しますか?
ethrbunny 14

確かに、私は速すぎて読んで、答えを更新しました。
有限のグレーグリーン14

FSCKFIX = yesとの値の両方を設定しましたcheckfs.sh。どちらの場合も、(init 6を介して)再起動するとfsckは実行されませんでした。ここに何かが欠けているに違いない。
ethrbunny 14

で何も変更しないでくださいcheckfs.sh。/etc/defaults/rcSを編集してtouch /forcefsck再起動する前に実行するだけです。最後のコマンドは、再起動する前またはブートした直後にfsck initスクリプトが完了した後に実行する必要があります。
有限のグレーグリーン14

うーん、運がありません。「マウントされた未チェックのファイルシステム」メッセージに続いて、「delete inode reference」エラーが多数表示されます。これまでのところ、/ etc / fstabを変更するだけで効果がありました。あなたの提案が機能しないように私が何をしているかわからない。
ethrbunny 14

7

私は答えを編集しています:

コマンドは次のとおりです。

sudo tune2fs -c 1 /dev/sdX

マンページによると、tune2fsの-c引数は、パーティションのマウントのインスタンス数をカウントします。したがって、1はすべてのマウントインスタンスの後に強制的にfsをチェックします。

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


2
ほとんどの場合、コマンドだけでは十分ではありません。少なくとも最小限の説明を書いてください。
peterh -復活モニカ

7

fsck.mode=forceブートローダーにカーネルパラメーターを追加します。このオプションをGRUB_CMDLINE_LINUX_DEFAULT=内の変数に追加します/etc/default/grub。ルートとして、新しいgrub構成ファイルを生成します。

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

このパラメーターはforcefsck、マウントポイントのルート内にファイルを作成するのと同じ効果があります。

checkfs.shスクリプトを使用するソリューションはDebianにより適していますが、他のディストリビューションでは機能しません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.