RESCUE(8)

名称
rescue - /rescue にある緊急用ユーティリティ

解説
/rescue ディレクトリには、ひどく損傷したシステムを復旧するのに使うための、 一般的なユーティリティのコレクションが納められています。 FreeBSD 5.2 から、 ダイナミックリンクされたルートへと移行したため、アップグレードの 失敗やディスクエラーのために、 /bin や /sbin にある標準ツールが機能しなくなるという可能性が現実的となりました。 /rescue にあるツールはスタティックリンクされているため、損傷に対してより強く なっているはずです。 しかし、スタティックリンクされているために、 /rescue にあるツールは、標準のユーティリティよりも機能が貧弱です。 特にロケール、 pam(3) 、 及び nsswitch ライブラリを全面的に利用することはできません。

もしシステムが起動に失敗して、次のようなプロンプトを表示した場合:

    Enter full pathname of shell or RETURN for /bin/sh:

まず最初に、標準のシェルである /bin/sh の起動を試みます。 これに失敗したら、 rescue シェルである /rescue/sh の起動を試みます。 システムを復旧するには、最初にルートパーティションを読み書き可で 再マウントする必要があります。 これは次の mount(8) コマンドで行うことが出来ます。

    /rescue/mount -uw /

次の段階は、 /bin 、 /sbin 、 及び /usr/lib の中身を二重チェックして、可能なら FreeBSD の緊急用の、もしくは “ライブファイルシステム” CD-ROM (例えば、公式リリース版の FreeBSD ISO イメージの disc2 ) をマウントし、ファイルをコピーします。 いったん /bin/sh 、 /bin/ls 、 及び他の標準ユーティリティを首尾よく実行できるようになったなら、 標準のシステムで再起動を試みてください。

/rescue のツールは crunchgen(1) を使ってコンパイルされており、これにより標準のユーティリティに比べると、 かなりコンパクトに出来ます。 容量が厳しい環境で FreeBSD システムをビルドするのに、 /rescue を標準の /bin と /sbin ディレクトリの代替として使うことが出来ます。単純に /bin と /sbin を、 /rescue へのシンボリックリンクに変更するのです。 /rescue はスタティックリンクされているので、そのような環境では /usr/lib の大部分を省略してしまうことも可能です。

今までの /stand とは対照的に、 /rescue は FreeBSD のソース及びバイナリの標準のアップグレードにより更新されます。

関連ファイル
/rescue
    rescue 階層のルート。

関連項目
crunchgen(1), crash(8)

歴史
rescue ユーティリティは FreeBSD 5.2 に初めて登場しました。

作者
-nosplit rescue システムは Tim Kientzle <kientzle@acm.org> によって作成されました。 このマニュアルページは Simon L. Nielsen <simon@FreeBSD.org> によって、 Tim Kientzle <kientzle@acm.org> のテキストを基にして書かれました。

バグ
rescue ツールの大部分は、相当に麻痺した状態のシステムでも動作します。 これの最もひどい例外は rescue 版の vi(1) で、 今のところ termcap(5) ファイルにアクセスできるように、 /usr がマウントされている必要があります。 うまくいけば、そのうちフェイルセーフな termcap(3) エントリが、 ncurses(3) ライブラリに追加されるでしょう。 そうすれば /usr がすぐにはマウントできないシステムでも、 /rescue/vi が使用できるようになります。 それまでは、ファイルの編集が必要なのに /usr がマウントできない場合、 rescue 版の ed(1) エディタが /rescue/ed として使用できます。