9. i-node の詳細を調べる

debugfs には stat コマンドがあり、 これを使うと i-node の詳細を表示することができます。 復旧リストにあるそれぞれの i-node に対して stat コマンドを実行してください。例えば、i-node 番号 148003 を調べようとする 場合は、次のようにします。

  debugfs:  stat <148003>
  Inode: 148003   Type: regular    Mode:  0644   Flags: 0x0   Version: 1
  User:   503   Group:   100   Size: 6065
  File ACL: 0    Directory ACL: 0
  Links: 0   Blockcount: 12
  Fragment:  Address: 0    Number: 0    Size: 0
  ctime: 0x31a9a574 -- Mon May 27 13:52:04 1996
  atime: 0x31a21dd1 -- Tue May 21 20:47:29 1996
  mtime: 0x313bf4d7 -- Tue Mar  5 08:01:27 1996
  dtime: 0x31a9a574 -- Mon May 27 13:52:04 1996
  BLOCKS:
  594810 594811 594814 594815 594816 594817
  TOTAL: 6

復旧したいファイルがたくさんあるなら、上記の手続きを自動化したいと お思いでしょう。lsdel で作成した復旧リストが lsdel.out ファイルに入っているとするなら、まず次のようにします。

  # cut -c1-6 lsdel.out | grep "[0-9]" | tr -d " " > inodes

これによって作成された inodes ファイルには、 復旧すべき i-node の i-node 番号だけが一行にひとつずつ記述されています。 この情報をファイルに保存したのは、その方が後々便利だからです。そして 次に、以下のようにします。

  # sed 's/^.*$/stat <\0>/' inodes | debugfs /dev/hda5 > stats

以上で stats ファイルに、stat コマンドの出力結果が全て記録されます。