UFS ファイルとファイルシステムのコピー (手順)
この章では、各種のバックアップコマンドを使用して、UFS ファイルとファイルシステムをディスク、テープ、フロッピーディスクにコピーする方法について説明します。
この章で説明する手順は次のとおりです。
ファイルシステムをコピーするためのコマンド
ファイルシステム全体をバックアップして復元する場合は、第 49 章「UFS バックアップおよび復元コマンド (参照情報)」で説明した ufsdump コマンドと ufsrestore コマンドを使用します。個々のファイル、ファイルシステムの一部、またはファイルシステム全体をコピーまたは移動する場合は、ufsdump と ufsrestore コマンドの代わりに、この章で説明する手順を使用できます。
表 50-1 バックアップコマンドの用途
作業 | コマンド名 | 参照先 |
---|---|---|
ファイルシステムをテープにバックアップする | ufsdump コマンド | |
ファイルシステムのスナップショットを作成する | fssnap | |
ファイルシステムをテープから復元する | ufsrestore | |
ファイルを他のシステムに転送する | pax、 tar、または cpio | |
ファイルまたはファイルシステムをディスク間でコピーする | dd コマンド | |
ファイルをフロッピーディスクにコピーする | tar |
次の表に、各種のバックアップおよび復元コマンドを示します。
表 50-2 バックアップコマンドの概要
コマンド名 | ファイルシステム境界の認識 | 複数ボリュームバックアップのサポート | 物理コピー / 論理コピー |
---|---|---|---|
volcopy | する | する | 物理 |
tar | しない | しない | 論理 |
cpio | しない | する | 論理 |
pax | する | する | 論理 |
dd コマンド | する | しない | 物理 |
ufsdump/ufsrestore | する | する | 論理 |
次の節では、各方法の長所と短所を説明し、コマンドの使用方法および例を示します。
ファイルシステムをディスク間でコピーする
ファイルシステムをディスク間でコピーするには、次の 2 つのコマンドを使用します。
volcopy
dd
次の節では、dd コマンドを使用してファイルシステムをディスク間でコピーする方法について説明します。
ファイルシステムのリテラルコピーを作成する
dd コマンドでは、UFS ファイルシステムのリテラル (ブロックレベル) コピーを別のファイルシステムやテープに作成します。デフォルトでは、dd コマンドはその標準入力を標準出力にコピーします。
注 - 可変長テープドライブで dd コマンドを使用するときは、必ず適切なブロックサイズを指定してください。
標準入力、標準出力、またはその両方の代わりに、デバイス名を指定できます。次の例では、フロッピーディスクの内容が /tmp ディレクトリ内のファイルにコピーされます。
$ dd < /floppy/floppy0> /tmp/output.file 2400+0 records in 2400+0 records out |
dd コマンドは、読み込みブロック数と書き込みブロック数をレポートします。+ の次の数値は、部分的にコピーされたブロックの数です。デフォルトのブロックサイズは 512 バイトです。
dd コマンドの構文は、他のほとんどのコマンドとは異なっています。オプションは keyword=value のペアで指定します。この場合、keyword は設定するオプションで、value はそのオプションの引数です。たとえば、標準入力と標準出力を次の構文に置き換えることができます。
$ dd if=input-file of=output-file |
上記の例のリダイレクト記号の代わりに keyword=value の形式で指定するには、次のように入力します。
$ dd if=/floppy/floppy0 of=/tmp/output.file |