この節では、SunOS 4 と SunOS 5.7 間のバックアップと復元コマンドの変更点と、ufsdump, ufsrestore、dd、tar、および cpio コマンドの使用方法について説明します。
SunOS 4 は、ファイルをバックアップおよび復元するためのユーティリティ dump、restore、tar、cpio、dd、bar そしてアンバンドルの Backup CoPilot プログラムをサポートしています。このリリースは、bar と Backup CoPilot を除くユーティリティのすべてをサポートしています。SunOS 4 の bar ファイルは、SunOS 5.7 システムで復元することができますが、新しい bar ファイルを作成することはできません。 dump(8) と restore(8) コマンドは、ufsdump(1M) と ufsrestore(1M) に名前が変更されました。SunOS 4 の dump コマンドで作成されたファイルは、SunOS 5.7 システム上に ufsrestore で復元できます。
SunOS 5.7 ソフトウェアにはファイルシステムをコピーするための 2 つのユーティリティ volcopy(1M) と labelit(1M) が追加されました。
ufsdump コマンドは、SunOS 4 の dump コマンドと同じコマンド構文を使用します。ufsdump は 表 9-15 のオプションも使用できます。
表 9-15 dump コマンドで使用できない ufsdump コマンドのオプション
オプション |
機能 |
---|---|
-l |
自動ロード。(ダンプを完了する前に) テープの終端に達したら、ドライブをオフラインにして、テープドライブが再び準備できるまで最高 2 分間待つ。これによって、自動ロード (スタックローダ) テープドライブに新しいテープをロードする時間を与える。2 分以内にドライブが準備できたらロードを続ける。2 分待っても準備ができない場合は、オペレータに他のテープをロードするよう要求して待つ。 |
-o |
オフライン。ダンプが完了するか、またはテープやディスクの終わりに達すると、ドライブをオフラインにして、テープを巻き戻すか、ディスクを取り出す。これは、別のプロセスがドライブを使用し、データを上書きしないようにするためである。 |
-S |
ダンプの大きさを見積る。ダンプするのに必要なスペースの合計を求める。そして、ダンプの見積りサイズをバイト数で出力する。これは、増分バックアップにもっとも有効である。 |
dump と異なり、ufsdump は媒体の終端を検出できるため、-s サイズオプションを使用してダンププログラムに媒体の終端に達する前に次のテープに移らせる必要はありません。ただし、restore コマンドの古いバージョンとの互換性を確保するために、ufsdump では -s オプションを使用できます。
ufsdump は現在では媒体の終端を検出できますが、-s オプションで媒体の大きさを指定しない限り、ダンプに必要なフロッピーディスクやテープの数を予測する方法はありません。したがって、媒体の大きさを指定しない限り、バックアップの開始時に表示されるメッセージは、必要なフロッピーディスクやテープの数を表示しません。
-w と -W オプションは、SunOS 5.7 では多少異なります。SunOS 4 では、これらのオプションは、/etc/fstab ファイルに指定されたバックアップ間隔に従って、バックアップのスケジュールが行われたすべてのファイルシステムを表示しました。SunOS 5.7 でこれに相当するファイルである /etc/vfstab には、バックアップ間隔を指定する手段がないため、これらのオプションは各ファイルシステムが毎日バックアップされるものと仮定しています。したがってこれらのオプションは、その日のうちにバックアップされていないファイルシステムをすべて表示します。
ネットワークでバックアップを実行するときは (ローカルファイルシステムをリモートテープドライブへバックアップする)、テープドライブを備えたシステムに適したデバイス命名規則を使用します。テープドライブを備えたシステムが SunOS 5.7 システムの場合、デバイス命名規則に従ってテープドライブを識別します。それ以外の場合、SunOS 4 の規則に従います。
SunOS 5.7 の ufsrestore コマンドは、SunOS 4 の restore コマンドに似ています。SunOS 4 の dump コマンドで作成した古いバックアップはすべて復元できます。ただし例外があり、フロッピーディスクから、複数のボリュームのバックアップを復元することはできません。restore を起動するバックアップスクリプトがある場合は、ufsrestore を起動するスクリプトに変更してください。
SunOS 4 の dd コマンドでは、サイズの接尾辞 -w (word の -w) は、サイズ単位が 4 バイトであることを意味します。SunOS 5.7 の dd コマンドでは、-w は 2 バイト単位であることを意味します。さらに、SunOS 5.7 では、-unblock と -block 変換オプションをサポートしています。
tar と cpio コマンドはバイナリ以外のフォーマットを使用するため、これらのコマンドは、SVR4 の実装間でデータ交換が可能な唯一のユーティリティです。ufsdump や dd などの他のバックアップユーティリティは、ベンダに固有のもので、ある SVR4 の実装で正常に動作しても別の SVR4 でうまく動作するかどうかは保証されません。
tar コマンドはこのリリースでは変更されていないため、SunOS 4 コマンドと同じオプションとコマンド構文を使用できます。しかし、SunOS 5.7 ソフトウェアのデバイス命名方法が変更されているため、tarfile (または、device) 引数が影響を受けます。-f 関数修飾子を使用するときは、デバイス引数を /dev/rmt/unit として指定します。ここで、unit はテープドライブ番号と密度です。表 9-16 は、テープデバイス名のテープドライブ密度を表す文字を示します。
表 9-16 テープデバイス名のテープドライブ密度
密度 |
説明 |
---|---|
指定なし |
デフォルトの「適切な」 (最高) 密度 |
l |
低密度 |
m |
中密度 |
h |
高密度 |
c |
圧縮 |
u |
超高密度 |
tar コマンドでは、/dev/rmt8 をデフォルト出力デバイスとして使用しません。-f 修飾子を使用せず、 TAPE
環境変数が設定されていないときには、tar コマンドは /etc/default/tar ファイルに設定されたデフォルトを使用します。
SunOS 5.7 の cpio コマンドは、SunOS 4 のオプションとコマンド構文をサポートします。cpio は、表 9-17 に示す多くの新しいオプションを使用できるようにするため拡張されました。
表 9-17 追加された cpio オプション
オプション |
オプションで使用できるコマンド |
説明 |
---|---|---|
-A |
cpio -o |
アーカイブにファイルを追加する。 |
-k |
cpio -i |
壊れたファイルヘッダと検出した入出力エラーをスキップする。このオプションは壊れた、または順序通りでない媒体からファイルをコピーする。 |
-L |
cpio -o または cpio -p |
シンボリックリンクをたどる。 |
-V |
cpio -i, cpio -o または cpio -p |
特殊な冗長表示。読み取った、または書き込んだ各ファイルに対してドットを表示する。このオプションは、ファイル名を表示しないで、cpio が動作中であることを保証する。 |
-C bufsize |
cpio -i または cpio -o |
bufsize で指定するバイト数単位で、入出力をレコードに分割する。ここで、bufsize は正の整数。-C または -B を指定しないと、デフォルトのバッファサイズは 512 バイト。 |
-E filename |
cpio -i |
アーカイブから抽出するファイル名を含むファイルを指定し入力する。 |
-H header |
cpio -i または cpio -o |
header で指定するフォーマットのヘッダ情報を読み取るか、または書き込む。header には、bar (読み取り専用)、 crc、 CRC、 odc、 tar、 TAR、ustar、 USTAR のいずれかを指定できる。 |
-I filename |
cpio -i |
入力アーカイブとして filename を読み取る。 |
-M message |
cpio -i -I filename または cpio -o -O filename |
媒体を切り替えるときに使用するメッセージを定義する。 |
-O filename |
cpio -o |
出力を filename へリダイレクトする。 |
-R userid |
cpio -i または cpio -p |
各ファイルの所有権とグループ情報を userid に再度割り当てる。 |
cpio による実行では、-i (コピーイン)、-o (コピーアウト)、または -p (パス) の 3 つのオプションの内のどれか 1 つだけを指定する必要あります。