reiserfsck - ReiserFS
ファイルシステムのチェックツール
reiserfsck [
-afprVy ] [
--rebuild-sb |
--check |
--fix-fixable |
--rebuild-tree |
--clean-attributes ] [
-j |
--journal device ] [
-z |
--adjust-size ] [
-n |
--nolog ] [
-B |
--badblocks file ] [
-l |
--logfile file ]
[
-q |
--quiet ] [
-y |
--yes ] [
-S |
--scan-whole-partition ] [
--no-journal-available ]
device
reiserfsck はデバイス上の
ReiserFS
ファイルシステムを捜して、
必要なトランザクションを再現する。
さらに、ファイルシステムをチェックまたは修復する。
- device
- デバイスまたはパーティションに対応するスペシャルファイル
(例えば、/dev/hdXX は IDE
ディスクパーティションで、
/dev/sdXX は SCSI
ディスクパーティションである)。
- --rebuild-sb
- このオプションは
ReiserFS
パーティションのスーパーブロックを復旧する。
このオプションが必要なのは、
ReiserFS
ファイルシステムがあるにも関わらず、mount
が 「read_super_block: reiserfs
ファイルシステムが見つかりません
(can't find a reiserfs file
system)」と表示したときのみである。
しかし、何らかのパーティション編集プログラムを使用した後で
ファイルシステムが見つからなくなった場合は、
再分割のときに何か不具合が起こって
パーティションの開始位置が変更されたかも知れない
ということを思い出してほしい。
もしそうならば、間違った場所にスーパーブロックを再構築するのではなく、
始めにパーティションの正しい開始位置を見つけるべきである。
- --check
- デフォルトの動作であるこのオプションでは、
ファイルシステムの整合性をチェックするが、
壊れたデータが発見されても修正は行わない。
読み込みのみでマウントされたファイルシステムに対しても使うことができる。
- --fix-fixable
- このオプションは
--rebuild-tree
オプションなしで修正できる
壊れたデータを復旧する。
通常このオプションが必要なのは、
--check
オプションで「--fix-fixable
で
修復可能な壊れたデータが見つかった
(corruption that can be fixed with --fix-fixable)」
と表示されたときのみである。
このオプションで行われるのは、
データブロックへの誤ったポインタのゼロ化・
ディレクトリの st_size と
st_blocksの修正・
不正なディレクトリエントリの削除などである。
- --rebuild-tree
- このオプションは、デバイス上に見つかったリーフノード
(leaf node) を使って、
ファイルシステムツリー全体を再構築する。
通常このオプションが必要なのは、
reiserfsck --check で 「 --rebuild-tree
を付けて実行する必要がある
(Running with --rebuild-tree is required)」
と表示されたときのみである。
--rebuild-tree
オプションを付けて実行する場合は、
パーティション全体のバックアップコピーを取っておくことを強く推奨する。
いったん reiserfsck --rebuild-tree
を開始したら、
動作を完了させなければならない
(中断すべきではない)。
完了しないと、ファイルシステムはマウントできない状態のままにされる。
これはその後のデータの破壊を防ぐためである。
- --clean-attributes
- このオプションは
Stat-Data
アイテムの予約フィールドをクリアする。
かつては ReiserFS
に拡張属性がなかった。
拡張属性が実装されたとき、最初に古いパーティションを
何も書かれていない状態にする必要があった
-- カーネルの ReiserFS
のコードは
構造体の使われていないフィールドを考慮していなかった。
そのため、古い
(属性が実装される前の)
カーネルを ReiserFS
ファイルシステムとともに使っていて、
拡張属性を使いたい場合は、最初にファイルシステムを
何も書かれていない状態にするべきである。
- --journal device , -j device
- このオプションは、現在のファイルシステムジャーナルのデバイス名を指定する。
このオプションは、メインデータのデバイスとは
別のデバイスにジャーナルが存在する場合に必要である
(エキスパートオプション
--no-journal-available
を使用すれば、
このオプションを使わないこともできる)。
- --adjust-size, -z
- このオプションは、
最後に見つかるバイトのオフセットよりもファイルサイズが大きい場合に、
reiserfsck
にファイルサイズを修正させる。
つまりファイルの末尾のホール
(穴) が削除される。
最後に見つかるバイトのオフセットよりもファイルサイズが小さい場合は、
--fix-fixable
で修正される。
-
--badblocks file, -B file
- このオプションは不正ブロックのリストを、
指定された `file`
で与えられたブロックのリストに設定する。
ファイルシステムの不正ブロックのリストは、
新しいリストが追加される前に削除される。
--fix-fixable
を指定することで不正ブロックを修復できる
(debugreiserfs -B を参照)。
またブロックデバイスに不正なブロックがある場合は、
毎回 --rebuild-tree
オプションを付けなければならない。
-
--logfile file, -l file
- このオプションは、reiserfsck
に対して
壊れたデータに関する情報を標準エラー出力ではなく
指定したログファイルに書き出すようにさせる。
- --nolog, -n
- このオプションは、reiserfsck
に対して
壊れたデータについて報告しないようにさせる。
- --quiet, -q
- このオプションは、reiserfsck
に対して
進捗状況を表示しないようにさせる。
- --yes, -y
- このオプションは
reiserfsck に対して、
「これから実行することをユーザに提示した後で、
ユーザの了承を得る」という動作をさせないようにする。
reiserfsck
はユーザが了承すると仮定する。
安全のため、 --rebuild-tree
オプションと一緒に指定すると、
このオプションは動作しない。
-
-a, -p
- 通常このオプションは、fsck
-A により /etc/fstab
にリストされているパーティションを
自動チェックするときに受け渡される。
これらのオプションを使うと、
reiserfsck
は指定されたファイルシステムの情報を表示し、
スーパーブロックにあるエラーフラグが設定されているかをチェックし、
簡単なチェックをいくつか行う。
これらのチェックにより、壊れたデータが明らかになったり、
(修正可能な)
壊れたデータを指し示すフラグが
スーパーブロックに設定されているのが見つかった場合は、
reiserfsck
は修正可能データの修正モードに移行する。
修正不能な壊れたデータを示すフラグが、
スーパブロックに設定されているのが見つかった場合、
reiserfsck
はエラーを出して終了する。
- -V
- このオプションは
reiserfsprogs
のバージョンを表示して終了する。
-
-r, -f
- これらのオプションは無視される。
自分がやっていることが分からない場合は、
これらのオプションを使ってはならない。
これらのオプションを使った結果、
データが失われたとしても我々は責任はとらない。
- --no-journal-available
- このオプションを指定すると、ジャーナルデバイスが使用できない場合でも
reiserfsck
を続行することができる。
このオプションはジャーナルがメインデータデバイスにある場合は影響しない。
注意:
この操作の後には、
reiserfstune により
新しいジャーナルデバイスを指定しなければならない。
- --scan-whole-partition, -S
- このオプションは
--rebuild-tree のときに、
パーティションの使用されている領域だけでなく、
パーティション全体をスキャンさせる。
1. reiserfs パーティション /dev/hda1
に何か不具合があると思った場合、
または単に定期的なディスクチェックを行おうとした場合に
reiserfsck を使用する。
2.
reiserfsck --check --logfile check.log /dev/hda1
を実行する。
reiserfsck --check
がステータス 0
で終了した場合は、
エラーがなかったことを示している。
3.
reiserfsck --check がステータス 1
で終了して
(かつ修正可能な壊れたデータがあることが報告された)
場合は、
reiserfsck --fix-fixable --logfile
fixable.log /dev/hda1 を
実行すべきである。
4.
reiserfsck --check がステータス 2
で終了して
(かつ致命的な壊れたデータがあることが報告された)
場合は、
reiserfsck --rebuild-tree
を実行する必要がある。
reiserfsck --check
が何らかの理由で失敗した場合も、
reiserfsck --rebuild-tree
を実行すべきである。
ただしこの場合はバグレポートとして報告してほしい。
5.
reiserfsck --rebuild-tree
を実行する前に、
パーティション全体のバックアップを取っておくこと。
その後に
reiserfsck --rebuild-tree --logfile
rebuild.log /dev/hda1 を
実行すること。
6.
reiserfsck --rebuild-tree
のステップが失敗した場合、
または期待していた復旧が出来なかった場合は、
バグレポートとして報告してほしい。
プラットフォームや Linux
カーネルのバージョンを含む
できる限りの情報を提供してほしい。
我々は問題を解決する手助けをしようと思う。
reiserfsck
は以下の終了コードを使う:
0 - エラーなし。
1
- ファイルシステムのエラーが修正された。
2
- 再起動が必要である。
4
- ファイルシステムの致命的なエラーが
修正されないまま残されており、
reiserfsck --rebuild-tree
を実行する必要がある。
6
- ファイルシステムの修復可能なエラーが
修正されないまま残されており、
reiserfsck --fix-fixable
を実行する必要がある。
8 - 操作エラー。
16
- 使用法エラーまたは書式エラー。
このバージョンの
reiserfsck は Vitaly Fertman <
[email protected]>
によって書かれた。
バグは、できる限り多くの情報
(ハードウェア・カーネル・パッチ・設定・
表示された全てのメッセージ・ログファイル)
とともに、 ReiserFS
の開発者 <
[email protected]>
に報告してほしい。
関連する情報があるかもしれないので
syslog を調べてほしい。
修復の高速化とシグナル処理。
mkreiserfs(8),
reiserfstune(8) resize_reiserfs(8),
debugreiserfs(8),