Provided by: manpages-ja_0.5.0.0.20180315+dfsg-1_all
名前
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)