Provided by: manpages-ja_0.5.0.0.20140515+dfsg-2_all ![bug](/img/bug.png)
![bug](/img/bug.png)
名前
debugfs - ext2/ext3 ファイルシステムデバッガ
書式
debugfs [ -Vwci ] [ -b blocksize ] [ -s superblock ] [ -f cmd_file ] [ -R request ] [ -d data_source_device ] [ device ]
説明
debugfs は対話的なファイルシステムのデバッガである。 ext2 ファイルシステムの状態の調査・変更に利用でき る。 device は、ext2 ファイルシステムを含むデバイスに対応する スペシャルファイルである。(例: /dev/hdXX)
オプション
-w ファイルシステムを read/write モードでオープンする。 このオプションを指定しない場合は、 ファイルシ ステムは read-only モードでオープンされる。 -c ファイルシステムを catastrophic (甚大な破損が起こった場合の) モードでオープンする。 このモードでは inode とグループビットを最初に読み込まない。 これは重度に破損したファイルシステムに対しては有効な ことがあるが、 一方このため catastrophic モードではファイルシステムを read-only でしかオープンでき ない。 -i device が e2image プログラムによって作成された ext2 イメージファイルであることを指定する。 ext2 イ メージファイルは、スーパーブロック・ ブロックグループディスクリプタ・ブロックアロケーションビット マップ・ inode アローケションビットマップ・inode テーブルしか持たないので、 debugfs の多くのコマン ドが正しく機能しない。 警告: 安全性のチェックは行わない。 また、 -d オプションによって data_source_device を指定せずに、 ls, dump などのコマンドを実行した場合には debugfs は変な風に失敗 するかもしれない。 debugfs はデバッグ用のツールなので、洗練された部分のみであるとは限らない! -d data_source_device -i オプションと共に使用され、 読み込みブロックが ext2 イメージファイルに見つからない場合には、 指 定された data_source_device が使用される。 このデバイスにはデータ・ディレクトリ・間接 (indirect) ブロックが含まれる。 -b blocksize 通常のように正しいブロックサイズを検出する動作を行わず、 指定したブロックサイズをそのファイルシス テムに用いる。 -s superblock ファイルシステムのスーパーブロックを、デフォルトの 1 ではなく、 指定したブロック番号から読ませる。 -s オプションを指定した場合、 -b オプションも指定しなければならない。 -f cmd_file debugfs に、 cmd_file からコマンドを読み込ませ、実行させる。 コマンドの実行を終了すると、 debugfs は終了する。 -R request request というひとつのコマンドを実行し、終了する。 -V debugfs のバージョンを表示して終了する。
ファイル指定
debugfs のコマンドの多くは、 debugfs が現在オープンしているファイルシステムにおける inode (パス名ではな い) を示す filespec という引数を取る。 filespec には 2 種類の表記法がある。ひとつは、inode 番号を <> で囲 む方法である (例: <2>)。 もうひとつはパス名で指定する方法である。 パス名が「/ (スラッシュ)」ではじまる場 合、 debugfs が現在オープンしているファイルシステムのルートからの相対パスを表す。 「/」で始まらない場 合、カレントワーキングディレクトリからの相対パスを表す。 カレントワーキングディレクトリは debugfs の cd コマンドによって変更できる。
コマンド
debugfs がサポートするコマンドの一覧を以下に示す。 bmap filespec logical_block filespec で指定した inode における論理ブロック番号 logical_block に対応する物理ブロック番号を表示 する。 cat filespec filespec で指定した inode の内容を標準出力へダンプする。 cd filespec カレントワーキングディレクトリを filespec で指定したディレクトリに変更する。 chroot filespec ルートディレクトリを filespec で指定したディレクトリに変更する。 close 現在オープンしているファイルシステムをクローズする。 clri file file で指定した inode の内容をクリアする。 dump [-p] filspec out_file filespec で指定した inode の内容を out_file で指定したファイルにダンプする。 -p オプションを与える と、 out_file の所有者 (owner)、所有グループ (group)、パーミッション (permission) を filespec と同 じにする。 expand_dir filespec filespec で指定したディレクトリを展開する。 feature [fs_feature] [-fs_feature] ... スーパーブロックの様々なファイルシステム属性をセット/クリアする。 要求のあった属性をセット/クリア した後は、 ファイルシステム属性の現在状態の一覧を表示する。 find_free_block [count [goal]] goal から始まる最初の count 分の空きブロックを探し、その空きブロックをアロケート (allocate) する。 find_free_inode [dir [mode]] 空き inode を探し、その inode をアロケートする。 dir を指定すると、 これはその inode を置くべき ディレクトリの inode と解釈される。 さらに mode を指定すると、 これは新しい inode のパーミッション と解釈される。 (mode にディレクトリであることを指定するビットが立っている場合、 アロケートルーチン の挙動は異なるものになる。) freeb block [count] ブロック番号 block をアロケートされていないものとしてマークする。 省略可能な引数 count を指定する と、ブロック番号 block から始まる count 分のブロックをアロケートされていないものとしてマークする。 freei filespec filespec で指定した inode を解放する。 help debugfs(8) で利用できるコマンドのリストを表示する。 icheck block ... コマンドラインに与えたブロック (複数指定可) を利用している inode のリストを表示する。 imap filespec filespec で指定された inode の (inode テーブルにおける) inode データ構造の場所を表示する。 init_filesys device blocksize device 上に、デバイスサイズ blocksize の ext2 ファイルシステムを作成する。 このコマンドは、すべて のデータ構造を完全に初期化するわけではない。 これをしたい場合は mke2fs(8) プログラムを用いること。 このコマンドは、単にスーパーブロックとブロックディスクリプタを設定する 低レベルライブラリを呼び出 すだけである。 kill_file filespec filespec で指定した inode と、 その inode が使用しているブロックをアロケートから外す (deallocate)。 なお、その inode に対応するディレクトリエントリは削除しないことに注意。 ファイルを unlink したい場合は rm コマンドを参照のこと。 lcd directory debugfs プロセスのカレントワーキングディレクトリを ネイティブファイルシステム (訳註: 作業対象のも のではなく、 debugfs が呼び出され、稼働しているファイルシステム) 上の directory に変更する。 ln filespec dest_file filespec を指すリンク dest_file を作成する。 この際 inode の参照数 (reference counts) は変更しない ことに注意。 logdump [-acs] [-b<block>] [-i<filespec>] [-f<journal_file>] [output_file] ext3 ジャーナルの内容をダンプする。 デフォルトではジャーナル inode はスーパーブロックで指定され る。 しかし -i オプションで上書きすることも可能である。 -i オプションは使用されるジャーナルを指定 する inode 指定子を使う。 ジャーナルデータが書かれたファイルは、 -f オプションを使って指定すること ができる。 そして -s オプションはスーパーブロックにあるバックアップ情報を使って、 ジャーナルをアロ ケートする。 -a オプションを指定すると、 logdump プログラムは全てのディスクリプタブロックの内容を表示する。 -b オプションを指定すると、 logdump プログラムは指定されたブロックを参照する全てのジャーナルレコード を表示する。 -c オプションを指定すると、 -a と -b オプションで選択された全てのデータブロックの内容 を表示する。 ls [-l] [-d] filespec filespec で指定したディレクトリ内にあるファイルをリスト表示する。 -l フラグを指定すると、より詳細 な書式でファイルをリスト表示する。 -d フラグを指定すると、 このディレクトリにある削除エントリ (deleted entry) をリスト表示する。 modify_inode filespec filespec で指定した inode にある inode 構造体の内容を変更する。 mkdir filespec ディレクトリを作成する。 mknod filespec [p|[[c|b] major minor]] スペシャルデバイスファイル (名前付きパイプ、キャラクタデバイス、ブロックデバイス) を作成する。 キャラクタデバイスおよびブロックデバイスを作成する場合は、 デバイス番号として major および minor を指定しなければならない。 ncheck inode_num ... 指定した inode 番号それぞれに対応するパス名のリストを表示する。 open [-w] [-e] [-f] [-i] [-c] [-b blocksize] [-s superblock] device 編集の対象とするファイルシステムをオープンする。 -f フラグをつけると、通常ではオープンできないよう な、 不明なファイルシステムや非互換なファイルシステムでも 強制的にオープンする。 -e フラグをつける とファイルシステムを排他モードでオープンする。 -b, -c, -i, -s, -w オプションを指定した場合の動作 は、 debugfs にコマンドラインオプションを指定した場合と同じである。 pwd カレントワーキングディレクトリを表示する。 quit debugfs を終了する。 rdump directory destination directory と (通常のファイル・シンボリックリンク・ その他のディレクトリを含む) そのディレクトリの 全ての内容を、 destination という名前のディレクトリに再帰的にダンプする。 destination はネイティブ ファイルシステム上に存在するディレクトリでなければならない。 rm pathname pathname で指定したパス名を unlink する。 pathname の示す inode が何も参照しなくなった場合には、 ファイルのアロケートを外す。 このコマンドは unlink() システムコールのように動作する。 rmdir filespec filespec で指定したディレクトリを消去する。 setb block [count] ブロック番号 block をアロケートされているものとしてマークする。 省略可能な引数 count を指定する と、ブロック番号 block から始まる count 分のブロックをアロケートされているものとしてマークする。 seti filespec inode ビットマップに、 filespec で指定した inode が使用中であるとマークする。 set_inode_field filespec field value filespec で指定された inode を変更し、inode フィールド field が値 value を持つようにする。 このコ マンドで設定が可能な、正しい inode フィールドのリストは、 set_inode_field -l コマンドによって表示 できる。 set_super_value field value スーパーブロックフィールド field を value にする。このコマンドで設定が可能な、 正しいスーパーブ ロックフィールドのリストは、 set_super_value -l コマンドによって表示できる。 show_super_stats [-h] スーパーブロックとブロックグループディスクリプタの内容を表示する。 -h フラグが与えられると、 スー パーブロックの内容だけを表示する。 stat filespec filespec で指定した inode の inode 構造体の内容を表示する。 testb block [count] ブロック番号 block がブロックビットマップにおいてアロケートになっているかどうか調べる。 省略可能な 引数 count を指定すると、ブロック番号 block から始まる count 分のブロックを検査する。 testi filespec filespec で指定した inode が inode ビットマップにおいてアロケートになっているかどうか調べる。 unlink pathname pathname で指定した、ある inode を指すリンクを削除する。 なおこの際、inode 参照数は変更しないこと に注意。 write source_file out_file ファイルシステム内に out_file で指定したファイルを作成し、 source_file の内容をそのファイルにコ ピーする。
環境変数
DEBUGFS_PAGER, PAGER debugfs(8) はいくつかのコマンドの出力を常にページャプログラムにパイプする。 そのようなコマンドとし ては、 show_super_stats, list_directory, show_inode_info, list_deleted_inodes, htree_dump がある。 特定のページャを環境変数 DEBUGFS_PAGER で明示的に指定することができる。 この環境変数が設定されてい ない場合は、環境変数 PAGER で指定される。 1 つのページャが常に使われるので、 less(1) ページャは特に適さない点に注意すること。 less(1) はコマ ンドの表示を表示する前にスクリーンをクリアしたり、 ページャが終了するときにスクリーンへの出力をク リアしてしまうからである。 多くのユーザは less(1) ページャをいろいろな目的に使うのを好んでいる。 これが環境変数 DEBUGFS_PAGER で、より一般的な環境変数 PAGER を上書きできる理由である。
著者
debugfs は Theodore Ts'o <tytso@mit.edu> によって作成された。
関連項目
dumpe2fs(8), e2fsck(8), mke2fs(8)