日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.2-RELEASE-K, 8.0-RELEASE-K は、プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.2-RELEASE-K, 8.0-RELEASE-K は、全翻訳済み)
6.4-STABLE-K, 7.2-STABLE-K, 8.0-STABLE-K は現在、 作成中で日々更新されています。 最新の snapshots を元に作成しています。
RESTORE(8) FreeBSD システム管理者マニュアル RESTORE(8)
名称
restore, rrestore - dump コマンドで作ったバックアップからファイルやファイ
ルシステムをリストアする
書式
restore -i [-cdhmNuvy] [-b blocksize] [-f file] [-s fileno]
restore -R [-cdNuvy] [-b blocksize] [-f file] [-s fileno]
restore -r [-cdNuvy] [-b blocksize] [-f file] [-s fileno]
restore -t [-cdhNuvy] [-b blocksize] [-f file] [-s fileno] [file ...]
restore -x [-cdhmNuvy] [-b blocksize] [-f file] [-s fileno] [file ...]
rrestore は restore の別名です。
( 4.3BSD 形式のオプションは後方互換性のために実装されていますが、ここでは
説明していません。)
解説
restore ユーティリティは dump(8) と逆の動作を行います。ファイルシステムの
完全なリストアを行うには、まず、フルバックアップのリストアから始め、続い
てその上にインクリメンタルバックアップをリストアします。フルまたは部分
バックアップから、単一のファイルやディレクトリの部分ツリーのみをリストア
することも可能です。 restore ユーティリティは、ネットワークを介した動作も
可能です。これを行うには、以下で説明されている -f フラグを参照してくださ
い。コマンドに与えるその他の引数は、リストアされるファイルを指定するため
のファイルやディレクトリ名です。 -h フラグを指定していない限り (下記参
照)、ディレクトリ名を指定することで、そのディレクトリ中のファイルや (再帰
的に) サブディレクトリを指定することになります。
以下のいずれか 1 つ (複数指定不可) のフラグが必要です:
-i バックアップからの対話的なリストアを行います。バックアップから
ディレクトリ情報を読み取ると、 restore はユーザに展開すべきファイ
ルを選択させるために、シェルに似たインタフェースでコマンドを受け
付けます。以下のコマンドが使用可能です。引数が必要なコマンドにお
いて引数を省略すると、デフォルトとしてカレントディレクトリが使わ
れます。
add [arg] カレントディレクトリまたは指定した引数のファイルを、
リストアするファイルのリストに付け加えます。ディレク
トリ名を指定した場合には、そのディレクトリの下のすべ
てのファイルが展開リストに加えられます (コマンドライ
ンに -h フラグが指定されなかった場合)。 ls でファイル
のリストを表示するときに、展開リストに含まれている
ファイルの頭には ``*'' がつけられています。
cd arg カレントディレクトリを指定したディレクトリに移動しま
す。
delete [arg]
カレントディレクトリまたは引数で指定したファイル名の
ファイルを、展開するファイルのリストから削除します。
ディレクトリ名を指定した場合には、そのディレクトリの
下のすべてのファイルが展開リストから削除されます (コ
マンドラインに -h フラグが指定されなかった場合)。ディ
レクトリ中のほとんどのファイルを展開する場合には、
ディレクトリ全体を展開リストに加えたあとで不要なファ
イルだけを削除するのが一番便利なやりかたです。
extract 展開ファイルリストにあるすべてのファイルをバックアッ
プから展開します。 restore ユーティリティは、どのボ
リュームをマウントしたいかをユーザにたずねます。数個
のファイルのみを展開するのにもっとも早い方法は、最終
ボリュームから開始して最初のボリュームへと戻ることで
す。
help 利用できるコマンドの簡単な説明を表示します。
ls [arg] カレントディレクトリまたは指定されたディレクトリのリ
ストを表示します。ディレクトリ名の後ろには ``/'' が付
け加えられ、展開リストにあるファイルの前には ``*'' が
加えられます。冗長フラグがセットされていた場合には、
各ディレクトリエントリにあわせて inode 番号も表示され
ます。
pwd カレントディレクトリのフルパス名を表示します。
quit 即座に中断します。展開リストに何かファイルがあったと
しても終了します。
setmodes 展開リストにあるすべてのディレクトリの所有者、モー
ド、時刻がセットされるのみで、バックアップからはなに
も展開されません。これは、リストアを途中で中断してし
まった時の後始末に有用です。
verbose 冗長フラグ -v の意味を反転します。冗長フラグがセット
されている場合には、 ls コマンドは、すべてのエントリ
に対してその inode 番号を表示します。また、 restore
コマンドは、ファイルを展開するたびにその情報を表示し
ます。
what ダンプヘッダ情報を表示します。これには、日付、レベ
ル、ラベル、ダンプの元となったファイルシステムとホス
トが含まれます。
-R フルリストアを再開するために、マルチボリュームのテープのうち特定
のものをリストアすることを要求します (下記 -r フラグを参照)。これ
はリストア動作を中断したときに使われます。
-r リストア (ファイルシステムの再構築) を行います。レベル 0 バック
アップのリストアの前には、リストア先となるファイルシステムは
newfs(8) で初期化しておき、マウントして、そのディレクトリへ cd(1)
で移動しておく必要があります。レベル 0 バックアップのリストアに成
功したら、 -r フラグを指定することで、それに加えて必要なインクリ
メンタルバックアップをリストアすることができます。 -r フラグは対
話的なファイルリストアを行わないため、注意して扱わないと損害を与
えることがあります (ディスクは言うに及ばず、精神的にも)。次のよう
に実行します:
newfs /dev/da0s1a
mount /dev/da0s1a /mnt
cd /mnt
restore rf /dev/sa0
restore は、インクリメンタルリストアのための情報を、ルートディレ
クトリの restoresymtable に記録します。このファイルは、すべての増
分をリストアしたあとで削除すべきです。
restore ユーティリティを、 newfs(8) や dump(8) と組み合わせること
で、ファイルシステムのサイズやブロックサイズといったパラメータを
変更するのに使うことができます。
-t 指定したファイル名のファイルがバックアップ中にあれば、その名前を
表示します。ファイル名引数がない場合にはルートディレクトリを表示
するため、 -h フラグを指定していない限り、バックアップ中のすべて
のファイルを表示することになります。このフラグは、古くからあった
dumpdir(8) のかわりの機能を持つことに注意してください。
-x メディアから、指定したファイルが読み出されます。指定ファイルが
ディレクトリで、そのディレクトリの内容がバックアップ中に存在し、
かつ -h フラグが指定されていないときには、ディレクトリの内容が再
帰的に展開されます。 (可能であれば) ファイルの所有者、修正日時、
モードもリストアされます。もし引数が与えられていなければルート
ディレクトリを展開するため、 -h フラグを指定していない限り、結果
的にバックアップ全体が展開されます。
以下の追加オプションを指定可能です:
-b blocksize
ダンプレコードあたりのキロバイト数です。 -b が指定されないとき
は、 restore はメディアのブロックサイズを動的に求めようとします。
-c 通常 restore は、ダンプ対象のファイルシステムフォーマットが新しい
か古い (4.4 以前) かを動的に決定します。 -c フラグはこのチェック
を無効にし、古いフォーマットのダンプからのみ読み込むことを許しま
す。
-d 冗長なデバッグ出力を標準エラーへ送ります。
-f file
バックアップを file から読み込みます; file は、 /dev/sa0 (テープ
ドライブ) や /dev/da1c (ディスクドライブ) といったスペシャルデバ
イスファイル、通常のファイル、 `-' (標準入力) のいずれかです。
ファイル名が ``host:file'' や ``user@host:file'' という形式である
場合は、 restore は rmt(8) を用いて指定したファイルを指定のホスト
から読み取ります。
-h ディレクトリ名を指定された場合に、その中のファイルではなく、ディ
レクトリそのものを展開するようにします。これによって、ダンプから
ディレクトリのサブツリーを階層的に展開してしまうことを防ぎます。
-m 展開を、ファイル名ではなく inode 番号によって行います。これは数個
のファイルのみを展開したい場合で、ファイルの完全なパス名を再生す
ることを防ぎたい場合に有用です。
-N 通常通り展開しますが、実際には変更をディスクへ書き込みません。ダ
ンプメディアの完全性の確認や他のテスト目的に使用可能です。
-s fileno
マルチファイルテープの fileno から読みます。ファイル番号は 1 から
始まります。
-u 特定のタイプのファイルを作成する時に、リストア先ディレクトリに既
に同名のファイルが存在する場合には、リストアは警告診断を生成し得
ます。この動作を抑制するために、 -u (アンリンク) フラグを指定する
と、リストアは古いエントリを削除してから新しいエントリを作成しよ
うとします。
-v 普通、 restore は何も表示せずにリストア動作を行います。 -v (ver
bose, 冗長) フラグを指定すると、扱うファイルのタイプとファイル名
が表示されます。
-y エラーが発生したときに、リストア動作を中断するかどうかの問い合わ
せを行いません。これによって、不良ブロックをスキップして、可能な
かぎり動作を継続します。
診断
リードエラーが発生すると restore ユーティリティはメッセージを表示します。
もし、 -y が指定されているか、あるいはユーザが `y' の応答をしたならば、
restore はリストアを続行しようとします。
バックアップが 1 巻より多くのテープボリュームに格納されていたならば、
restore は次のボリュームをマウントすべき時点でそれをユーザに知らせます。
もし、 -x あるいは -i フラグが指定されていたら、 restore は、ユーザがマウ
ントしたいのはどのボリュームであるかを問い合わせます。少数のファイルを最
も早く展開する方法は、最終ボリュームから開始して、最初のボリュームへ向け
て作業を進めることです。
restore は数多くの一貫性検査を行っていて、それを表示します。ほとんどの検
査結果の表示は自明であるか、あるいは「決して起こらない」ものです。良くあ
るエラーを以下に示します。
Converting to new file system format.
古い形式のファイルシステムで作られたダンプテープがロードされまし
た。その場合、自動的に新しいファイルシステムの形式に変換されま
す。
<filename>: not found on tape
指定したファイル名はテープのディレクトリには記録されていました
が、テープのなかに本体が見当たりませんでした。このような事態が起
きるのは、ファイルを探している間にテープのリードエラーが発生した
場合や、稼働中のファイルシステムにおいて作成したダンプテープを
使った場合です。
expected next file <inumber>, got <inumber>
ディレクトリに記録されていなかったファイルが示されます。稼働中の
ファイルシステムにおいて作成したダンプを使った場合に発生すること
があります。
Incremental dump too low
インクリメンタルリストアを行う際に、ダンプが直前のインクリメンタ
ルダンプよりも以前に書かれたものであったり、増分レベルが低すぎる
ダンプがロードされた場合に表示されます。
Incremental dump too high
インクリメンタルリストアを行う際に、ダンプが直前のインクリメンタ
ルダンプの続きの範囲から開始していなかったり、あるいは増分レベル
が高すぎるダンプがロードされた場合に表示されます。
Tape read error while restoring <filename>
Tape read error while skipping over inode <inumber>
Tape read error while trying to resynchronize
テープ (あるいはその他の媒体) のリードエラーが発生しました。ファ
イル名が表示されていたならば、その内容はおそらく部分的に不正なも
のになっているでしょう。もし inode がスキップされたり、テープの
resynchronize (再同期) が試みられていたならば、展開されたファイル
には問題はありません。しかし、テープ上からいくつかのファイルを見
付けることができないかもしれません。
resync restore, skipped <num> blocks
ダンプのリードエラーが発生した後に、おそらく restore は自分自身で
再同期をとらなければなりません。このメッセージはスキップしたブ
ロックの個数を表示します。
環境変数
TAPE バックアップを読み取るデバイス。
TMPDIR 一時ファイルが作成されるディレクトリの名前。
関連ファイル
/dev/sa0 デフォルトのテープドライブ
/tmp/rstdir* テープ中のディレクトリを保持するファイル
/tmp/rstmode* ディレクトリの所有者、モード、タイムスタンプ
./restoresymtable インクリメンタルリストア間で渡される情報
関連項目
dump(8), mount(8), newfs(8), rmt(8)
バグ
使用中のファイルシステムから作成されたダンプからインクリメンタルリストア
を行うと、 restore ユーティリティが誤動作を起こすことがあります。
フルリストアの終了後にはレベル 0 ダンプを行う必要があります。 restore は
ユーザコードで動作するので、inode の割り当てを制御することができません。
したがって、ファイルの内容が変更されていない場合でも、新しい inode 割り当
てを新しいディレクトリ集合に反映させるためには、フルダンプを行わなければ
なりません。
ネットワークを介したリストアを行う場合、 root 権限で restore を実行する必
要があります。これは、以前の dump と restore のセキュリティ上の歴史による
ものです。 (restore は root に setuid されて使われるように書かれています
が、 restore のコードから全てのバグが取れているとは思わないので、 setuid
にて使用する場合は自己の責任において行って下さい。)
一時ファイル /tmp/rstdir* と /tmp/rstmode* は、ダンプの日付とプロセス ID
に基づいて、ユニークに生成されます ( mktemp(3) を参照してください)。ただ
し -r または -R が使用された場合は例外です。これは、中断された -r の動作
を -R によって再開可能とするためであり、別々の処理において同一の一時ファ
イルを使用することが必要であるためです。他の場合には、ファイルはユニーク
です。これは、同時に 2 個の異なったダンプが開始する可能性があるためであ
り、別々の処理が衝突しないようにすべきだからです。
歴史
restore ユーティリティは 4.2BSD から登場しました。
4th Berkeley Distribution May 1, 1995 4th Berkeley Distribution