スポンサーリンク

FSDB(8) FreeBSD システム管理者マニュアル FSDB(8)

名称

fsdb − FFS デバッグ/編集ツール

書式

fsdb [−d] [−f] [−r] fsname

解説

fsdb ユーティリティは fsname (通常は raw ディスクパーティション) を open し、そのファイルシステムの inode データを操作するためのコマンドを受け付け ます。コマンドは fsdb (inum X)> のプロンプトに対して入力します。ここでの X は現在選択されている i-number となります。最初に選択されている inode は ファイルシステムのルート (i-number 2) となります。コマンドプロセッサには editline(3) ライブラリを使用しており、コマンド行を編集することによってタ イピングの量を減らすことができます。コマンドループから抜けて終了する時に は、ファイルシステムのスーパブロックが dirty とマークされ、バッファリング されているブロックがあればファイルシステムに書き込まれます。

以下のオプションを使用可能です:

       −d

デバッグ情報 (元は fsck(8) のコードに由来するもの) を出力します。

−f
歴史的な理由により残されているもので、特に意味は持ちません。

−r
ファイルシステムを読み取り専用でオープンし、書き込みを行うコマン ドを抑止します。

コマンド

組み込みの editline(3) のコマンドの他に fsdb は以下のコマンドをサポートし ています:

       help

入力できるコマンドのリストを表示します。

inode i-number
新しい現在の inode として inode i-number を選択します。

back
以前の inode に戻ります。

clri i-number
i-number
をクリアします。

lookup name
cd
name
name
を現在のディレクトリの中で探し、その inode を現在の inode に 設定します。 name はマルチコンポーネントの名前か、スラッシュで始 めて検索をルートの inode から始めることを指定できます。パス名の中 のコンポーネントが見つからない場合、最後に有効であったディレクト リがアクティブな inode として使われます。このコマンドは開始する inode がディレクトリの場合のみ有効です。

active
print

アクティブな inode を表示します。

blocks
アクティブな inode のブロックリストを表示します。大きなファイルに 対しては表示出力が長くなることに注意してください。すべての間接ブ ロックポインタもまた表示されるからです。
uplink

アクティブな inode のリンク数をインクリメントします。

downlink
アクティブな inode のリンク数をデクリメントします。

linkcount number
アクティブな inode のリンク数を number に設定します。

ls
現在の inode のディレクトリエントリをリストします。このコマンドは 現在の inode がディレクトリである場合のみ有効です。

rm name
del
name
現在のディレクトリ inode からエントリ name を取り除きます。このコ マンドは現在の inode がディレクトリである場合のみ有効です。

ln ino name
現在のディレクトリ inode に inode ino へのリンクを name の名前で 作成します。このコマンドは現在の inode がディレクトリである場合の み有効です。

chinum dirslot inum
ディレクトリエントリ dirslot 中の i-number を inum に変更します。

chname dirslot name
ディレクトリエントリ dirslot 中の名前を name に変更します。このコ マンドではディレクトリエントリを拡張することはできません。名前が 現在存在するディレクトリスロットに収まる場合にのみ、エントリの名 前の変更が可能です。

chtype type
現在の inode のタイプを type に変更します。 type には file, dir, socket, fifo のいずれかが指定できます。

chmod mode
現在の inode のモードビットを mode に変更します。このサブコマンド ではファイルのタイプを変更することはできません。その場合は chtype を使ってください。

chflags flags
現在の inode のファイルフラグを flags に変更します。

chown uid
現在の inode の所有者を uid に変更します。

chgrp gid
現在の inode のグループを gid に変更します。

chgen gen
現在の inode の世代番号 (generation number) を gen に変更します。

mtime time
ctime
time
atime
time
それぞれ、現在の inode の修正時間、変更時間、アクセス時間を time に変更します。 timeYYYYMMDDHHMMSS[.nsec] の形式でなければなり ません。ここで、 nsec はオプションで指定できるナノ秒の値となりま す。もし、ナノ秒が指定されていないと、 mtimensec, ctimensec, atimensec のそれぞれのフィールドには 0 がセットされます。

quit, q, exit, <EOF>
プログラムを終了します。

関連項目

editline(3), fs(5), clri(8), fsck(8)

バグ

‘‘short’’ のシンボリックリンクの操作は何の効果もありません。特に、シンボ リックリンクのタイプは変更すべきではありません。

モードはシンボル名ではなく数字で指定してください。

多分 fsdb に実装されていないことで、もっとやりたいことが沢山あるでしょ う。

歴史

fsdb ユーティリティは fsck(8) のソースコードを使ってファイルシステムの操 作のコードのほとんどを実装しています。 fsdb の残りの部分は、最初 NetBSD において John T. Kohl によって書かれました。

FreeBSD への移植は Peter Wemm によって行われました。

警告

このツールは最大限に注意を払って使って下さい。 fsck(8) を使っても修復でき ないほど FFS ファイルシステムを壊す恐れがあります。

FreeBSD 10.0 September 14, 1995 FreeBSD 10.0

スポンサーリンク