ファイル システムを維持するための最適なツールは fsck です 、Linux ファイル システムをチェックして修復します。デフォルトでは、fsck はシステムを 20 回再起動した後に実行されますが、システムを再起動して数週間または数か月実行する場合は、手動で実行する必要があります。ファイルシステムチェックの頻度は、tune2fs コマンドを使用して変更されます。ファイル システムのメンテナンスを実行するためのその他のユーティリティには、dumpe2fs と debugfs があります。 dumpe2fs ユーティリティは、指定されたデバイス上のファイル システムのスーパー ブロックおよびブロック グループ情報を出力します。 debugfs ユーティリティは、対話型のファイル システム デバッガです。
fsck コマンドの使用
fsck コマンドは、デバイス名、マウント ポイント、UUID、またはファイル システム ラベルを引数として受け入れます。引数が指定されていない場合、fsck は /etc/fstab にリストされているすべてのファイル システムをチェックします。マウントされたファイル システムで fsck を実行しないでください。ファイル システムに深刻な損傷を与える可能性があります。ファイル システムをアンマウントし、/dev/xvdd1 で fsck ユーティリティを実行するには:
# umount /dev/xvdd1
# fsck /dev/xvdd1 fsck from util-linux 2.23.2 E2fsck 1.42.9 )28-Dec-2013) Test: clean, 11/65536 files, 8859/262139 blocks
fsck ユーティリティが e2fsck ユーティリティを呼び出してファイル システムをチェックすることに注意してください。ファイル システム固有のコマンドは /sbin にあります:
# ls -l /sbin/*fsck* lrwxrwxrwx. 1 root root 5 Sep 16 2017 /sbin/btrfsck -> btrfs lrwxrwxrwx. 1 root root 8 Jan 7 2015 /sbin/dosfsck -> fsck.fat -rwxr-xr-x. 4 root root 256368 Aug 3 2017 /sbin/e2fsck -rwxr-xr-x. 1 root root 32880 Dec 1 23:28 /sbin/fsck -rwxr-xr-x. 1 root root 1185 Aug 6 2017 /sbin/fsck.btrfs -rwxr-xr-x. 1 root root 20032 Dec 1 23:28 /sbin/fsck.cramfs -rwxr-xr-x. 4 root root 256368 Aug 3 2017 /sbin/fsck.ext2 -rwxr-xr-x. 4 root root 256368 Aug 3 2017 /sbin/fsck.ext3 -rwxr-xr-x. 4 root root 256368 Aug 3 2017 /sbin/fsck.ext4 -rwxr-xr-x. 1 root root 57496 Jun 10 2014 /sbin/fsck.fat -rwxr-xr-x. 1 root root 75080 Dec 1 23:28 /sbin/fsck.minix lrwxrwxrwx. 1 root root 8 Jan 7 2015 /sbin/fsck.msdos -> fsck.fat lrwxrwxrwx. 1 root root 8 Jan 7 2015 /sbin/fsck.vfat -> fsck.fat -rwxr-xr-x. 1 root root 433 Aug 4 2017 /sbin/fsck.xfs
ファイル システムが破損している場合は、修復の試行中に一連の質問に回答するよう求められます。 –y を含めることができます すべての質問に対する答えとして「はい」を使用するオプション。 fsck への追加オプションが与えられます:
- -s :fsck 操作をシリアライズします。複数のファイル システムをチェックしていて、チェッカーがインタラクティブ モードである場合、これは良い考えです。
- -A :/etc/fstab ファイルを調べて、1 回の実行ですべてのファイル システムをチェックしてみてください。このオプションは通常、/etc/rc システム初期化ファイルから使用されます。ルート ファイル システムが最初にチェックされます。その後、ファイル システムは、/etc/fstab ファイルの 6 番目のフィールドで指定された順序でチェックされます。このフィールドの値が 0 のファイル システムはスキップされ、チェックされません。
- -R :–A フラグを使用してすべてのファイル システムをチェックする場合は、ルート ファイル システムをスキップします (既に読み書き可能にマウントされている場合)。
tune2fs の使用
tune2fs ユーティリティは、主にファイル システムのチェック オプションを設定し、ext2 ファイル システムを ext3 に変換するために使用されます。 tune2fs を使用する前後に、常に e2fsck ユーティリティを使用する必要があります。 ext2 ファイル システムを ext3 に変換するには、次のように入力します。
# tune2fs -j block_device
block_device 引数には、変換する ext2 ファイル システムが含まれます。 –j オプションは、ext3 ジャーナルをファイル システムに追加します。 tune2fs で最も一般的に使用されるオプションは次のとおりです。
- -c max-mount-counts :2 つのファイル システム チェック間の最大マウント数を調整してください。
- -C マウント カウント :ファイル システムがマウントされた回数を設定します。
- -i interval-before-checks[d|m|w] :2 つのファイル システム チェック間の最大時間を調整してください。
- -m 予約済みブロックの割合 :予約済みファイル システム ブロックの割合を設定します。
- -r 予約ブロック数 :予約済みファイル システム ブロックの数を設定します。
tune2fs コマンドを使用して、ext2、ext3、および ext4 ファイル システムでさまざまな調整可能なファイル システム パラメータを調整します。現在の値は -l を使用して表示されます オプション。例:
# tune2fs –l /dev/xvda1
または、dumpe2fs コマンドを使用してファイル システム パラメータを表示します。
# dumpe2fs /dev/xvda1