RESTORE(8) — UNIX Programmer’s Manual
名称
restore − インクリメンタルファイルシステムのリストア
形式
/etc/restore key [ name ... ]
解説
restore は、 dump(8) コマンドによりダンプされたテープを読み取ります。 その働きは、 key 引数によりコントロールされます。 key は、機能を表わす1つの文字と、(可能な場合)1つ以上の機能を修飾する 文字からなる文字列です。このコマンドへの他の引数は、リストアすべき ファイルを指定するためのファイル、またはディレクトリ名です。 h キーを指定しない場合(下記を参照)には、ディレクトリ名の表示は、 ファイルと(再帰的に)そのディレクトリのサブディレクトリを参照します。
key の機能は、次に示す文字により指定されます。
r テープが読み取られ、カレントディレクトリにロードされます。 これは安易に行なわないでください。 r キーは、完全なダンプテープをクリアされているファイルシステムに リストアするため、あるいは、フルレベルを 0 に指定してリストアした あとにインクリメンタルダンプしたテープをリストアするためだけに 使用してください。したがって、
/etc/newfs/dev/rrp0g eagle
/etc/mount/dev/rp0g /mnt
cd /mnt
restore r
は、完全なダンプをリストアするための典型的な手順です。この上に インクリメンタルダンプを得るための別の restore も行うことができます。インクリメンタルリストアのパスの間、情報の 受け渡しのために、 restore はファイル restoresymtab をルートディレクトリに残すことに注意してください。このファイルは 最後のインクリメンタルダンプしたテープがリストアされたあと、 取り除かなければなりません。
dump(8)、 newfs(8)、 restore という一連のコマンドは、ファイルシステムのサイズを変更するために 使用されます。
R 全面的なリストア(上記の r キー参照)を再開すべき多重ボリュームセットの特定のテープを要求します。 これは restore を一時中断し、その後再開します。
x 指定されたファイルがテープから取り出されます。もし指定されたファイル名が、 テープに書かれている内容のディレクトリと一致し、さらに h キーが指定されていなければ、ディレクトリは繰り返し取り出されます。 所有者、変更時刻、モードが(可能な限りにおいて)リストアされます。 ファイル引数の指定がなければルートディレクトリが取り出され、その結果、 h キーが指定されていない限り、テープのすべての内容が取り出されることになります。
t 指定されたファイル名がテープ上に存在すればリストします。引数が何も指定されて いなければルートディレクトリがリストされ、その結果、 h キーが指定されていない限り、テープのすべての内容がリストされることになります。 t キーは、古い dumpdir プログラムの機能を置き換えます。
i このモードにより、ダンプテープからファイルの相互的なリストアができます。 テープからディレクトリ情報を読み込んだ後、 restore は、ユーザが取り出したいファイルを選択するためにディレクトリツリーの 中を自由に移動できるシェルに似たインターフェイスを提供します。使用可能な コマンドは、以下に示す通りです。引数を必要とするこれらのコマンドでは、 デフォルトはカレントディレクトリです。
ls [arg] − カレントディレクトリ、あるいは特定のディレクトリをリストします。 ディレクトリには“/”が付加されます。取り出しを指示されたものには “∗”が前に置かれます。長さのあるキーがセットされていたら、それぞれ の入力の i ノード番号もリストされます。
cd arg − 現在使用しているディレクトリを指定した引数に変更します。
pwd − 現在使用しているディレクトリのパス名をフルネームで印刷します。
add [ arg ] − カレントディレクトリあるいは指定した引数が、取り出されるファイルの リストに追加されます。ディレクトリが指定されていれば、そのディレクトリ とその下のファイルは抽出リストに追加されます(ただし、コマンド行に h キーが指定されていない場合に限ります)。抽出リストにあるファイルは、 ls によってリストされるときに“∗”が前に置かれます。
delete [arg] − 抽出されるファイルのリストからカレントディレクトリあるいは 引数で指定されたものが削除されます。ディレクトリが指定された 場合は、そのディレクトリとその下のファイルは抽出リストから削除 されます(ただし、コマンド行に h キーが指定されていない場合に限ります)。 ディレクトリからその大部分のファイルを取り出す最も効果的な方法は、 抽出リストにディレクトリを追加し、その後で必要としないファイル を削除することです。
extract − 抽出リストにあるすべてのファイルは、ダンプテープから取り出されます。 restore は、ユーザがどのボリュームをマウントしたいのかを尋ねます。 わずかのファイルを抽出する最も方法は、最後のボリュームから始めて、 最初のボリュームに向かうことです。
setmodes − 抽出リストに追加されたすべてのディレクトリは、それらの所有者、モード、 および時刻がセットされます。テープから取り出されるものは、何もありません。 これは、リストアが終了前に中断された後で、一掃する場合に便利です。
verbose − v キーの意味はトグルです。このキーがセットされたら、 ls コマンドで i ノード番号をリストするようにさせます。また、これは restore に取り出されるそれぞれのファイルについての情報を印刷させます。
help − 使用可能なコマンドの要約をリストします。
quit − たとえ抽出リストが空ではなくても、リストアはただちに中止します。
次の文字は、機能を選択する文字に加えて使用することができます。
b restore の次の引数は、テープのブロックサイズ(Kバイト)として使用されます。 -b オプションが指定されない場合、 restore は、テープのブロックサイズを動的に決めます。
f restore の次の引数は、/dev/rmt? の代わりにアーカイブ名として使用することができます。 ファイル名が“−”の場合、 restore は標準入力を読み込みます。したがって、 dump(8)と restore は、次のコマンドでファイルシステムをダンプし、リストアする パイプラインの中で使用できます。
dump 0f − /usr | (cd /mnt; restore xf −)
v 通常、 restore はなにも出力せずに実行されます。 v (verbose)キーは、処理するそれぞれのファイル名をファイルタイプに 続けて印字します。
y restore は、テープエラーが起こったときにリストアの作業を破棄するかどうかを 尋ねません。不良のテープブロックはスキップされ、できる限りの処理を 続けます。
m restore は、ファイル名ではなく、i ノード番号によって取り出します。取り出す ファイルの数が少ないときにはこれは便利です。それは、ファイルへの フルパス名を生成しなくてもよくなるからです。
h restore は、参照するファイルではなく、実際のディレクトリを取り出します。 これは、テープからの完全なサブツリー階層的リストアを防ぎます。
s restore の次の引数は、多重ファイルダンプテープ上にあるファイルを選択する数字です。 ファイルのナンバリングは、1 から開始しています。
診断
キー文字不良についての苦情。
読み込みエラーが起こったときの苦情。 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 tape too low
インクリメンタルリストアを行っているとき、前回のインクリメント テープの前に書き込まれたテープ、あるいは、インクリメントレベルが 低すぎるテープがロードされています。
Incremental tape too high
インクリメンタルリストアを行なっているとき、前回のインクリメント テープが終了した範囲から始まらないテープ、あるいは、インクリメント レベルが高すぎるテープがロードされています。
Tape read error while restoring <filename>
Tape read error while skipping over inode <inumber>
Tape read error while trying to resynchronize
テープ読み込みエラーが起こりました。ファイル名が指定されている場合は、 おそらくその内容のどこかが不良です。i ノードがスキップされ、あるいは テープが再び同期をとろうとしている場合、取り出されたファイルには変化は ありません。ファイルはテープに存在しないのかもしれません。
resync restore, skipped <num> blocks
テープ読み込みエラーの後、 restore は再び同期をとらなければならないことがあります。このメッセージは、 スキップされたブロック数をリストします。
関連ファイル
/dev/rmt?デフォルトのテープドライブ
/tmp/rstdir∗ディレクトリを含んでいるファイルがテープにある
/tmp/rstmode∗ディレクトリに対する所有者、モード、タイムスタンプ
./restoresymtableインクリメンタルリストアの間で渡された情報
関連事項
rrestore(8C), dump(8), newfs(8), mount(8), mkfs(8)
バグ
restore は、アクティブなファイルシステムで作成されたダンプテープから インクリメンタルリストアを実行すると混乱することがあります。
レベル 0 のダンプは、全面的なリストアの後で行わなければなりません。 リストアはユーザコードで実行されるので、i ノード割り当てを コントロールできません。したがって、ファイルの内容に変更がなくとも 新しい i ノード番号を反映したディレクトリの新しいセットを確保する 必要があります。
NEWS-OSRelease 3.3