この章では、各種のバックアップコマンドを使用して、UFS ファイルとファイルシステムをディスク、テープ、フロッピーディスクにコピーする方法について説明します。
この章で説明する手順は次のとおりです。
UFS ファイルシステム全体をバックアップして復元する必要があるときは、第 27 章UFS バックアップおよび復元コマンド (参照情報)で説明されている ufsdump および ufsrestore コマンドを使用します。個々のファイル、ファイルシステムの一部、またはファイルシステム全体をコピーまたは移動する場合は、ufsdump と ufsrestore コマンドの代わりに、この章で説明する手順を使用できます。
表 28–1 バックアップコマンドの用途
作業 |
コマンド |
参照先 |
---|---|---|
UFS ファイルシステムをテープにバックアップします。 |
ufsdump | |
ファイルシステムのスナップショットを作成します。 |
fssnap | |
UFS ファイルシステムをテープから復元します。 |
ufsrestore コマンド | |
ファイルをほかのシステムに転送します。 |
pax、tar、または cpio | |
ファイルまたはファイルシステムをディスク間でコピーします。 |
dd | |
ファイルをフロッピーディスクにコピーします。 |
tar |
次の表に、各種のバックアップおよび復元コマンドを示します。
表 28–2 バックアップコマンドの概要
コマンド名 |
ファイルシステム境界の認識 |
複数ボリュームバックアップのサポート |
物理コピー / 論理コピー |
---|---|---|---|
volcopy |
はい |
はい |
物理 |
tar |
いいえ |
いいえ |
論理 |
cpio |
いいえ |
はい |
論理 |
pax |
はい |
はい |
論理 |
dd |
はい |
いいえ |
物理 |
ufsdump/ufsrestore |
はい |
はい |
論理 |
fssnap |
なし |
なし |
論理 |
次の表では、これらのコマンドの一部の長所と短所を説明します。
表 28–3 tar、pax、cpio コマンドの長所と短所
次の節では、これらのコマンドの使用例を紹介します。
ファイルシステムをディスク間でコピーするには、次の 2 つのコマンドを使用します。
volcopy
dd
volcopy の詳細は、volcopy(1M) のマニュアルページを参照してください。
次の節では、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 |
ディスクをコピーする際には次の点に注意してください。
ボリュームマネージャーの制御下にあるディスクをコピーする場合は、この手順を使わないでください。
UFS ファイルシステムのデータをあるディスクまたはシステムから別のディスクまたはシステムへコピーする場合にもっとも多く使用されるのは、ufsdump コマンドおよび ufsrestore コマンドを使用する方法です。これらのコマンドの使用方法の詳細は、第 23 章UFS ファイルシステムのバックアップと復元 (概要)を参照してください。
システムを複製するには、フラッシュアーカイブを作成し、それを複製先のシステムにコピーします。フラッシュアーカイブの作成方法の詳細は、『Oracle Solaris 10 9/10 インストールガイド (Solaris フラッシュアーカイブの作成とインストール)』を参照してください。
EFI ディスクラベル付きディスクをコピーする場合は、例 28–2 を参照してください。
それでもなお、dd コマンドによるディスクコピーを検討する場合は、次の点に注意してください。
コピー元とコピー先のディスクが、同じディスクジオメトリを保持していることを確認します。
コピー対象の UFS ファイルシステムを fsck ユーティリティーを使って検査します。
dd コマンドを使ってディスクをコピーする際に、システムがシングルユーザーモードになっていることを確認します。
スーパーユーザーになるか、同等の役割を引き受けます。
(省略可能) システムがリブート時に必要に応じてコピー先ディスクを認識するように、/reconfigure ファイルを作成します。
# touch /reconfigure |
システムをシャットダウンします。
# init 0 |
コピー先ディスクをシステムに接続します。
システムをブートします。
ok boot -s |
# dd if=/dev/rdsk/device-name of=/dev/rdsk/device-name bs=block-size |
マスターディスクデバイスのオーバーラップスライスを指定します。通常はスライス 2 です。
コピー先ディスクデバイスのオーバーラップスライスを指定します。通常はスライス 2 です。
ブロックサイズ (128K バイト、256K バイトなど) を指定できます。ブロックサイズの値を大きくすると、ディスクのコピーに要する時間を短縮できます。
詳細は、dd(1M) のマニュアルページを参照してください。
新しいファイルシステムを検査します。
# fsck /dev/rdsk/device-name |
コピー先ディスクのルート (/) ファイルシステムをマウントします。
# mount /dev/dsk/device-name /mnt |
/etc/vfstab ファイルのあるディレクトリに移動します。
# cd /mnt/etc |
テキストエディタを使用して、コピー先ディスクの /etc/vfstab ファイルを編集して、正しいデバイス名を参照するようにします。
たとえば、c0t3d0 のインスタンスをすべて c0t1d0 に変更します。
コピー先ディスクのルート (/) ディレクトリに移動します。
# cd / |
コピー先ディスクのルート (/) ファイルシステムをマウント解除します。
# umount /mnt |
システムをシャットダウンします。
# init 0 |
コピー先ディスクからシングルユーザーモードでブートします。
# boot diskn -s |
installboot コマンドをコピー先ディスクで実行する必要はありません。これは、ブートブロックがオーバーラップスライスの一部としてコピーされるためです。
コピー先ディスクの構成を解除します。
# sys-unconfig |
構成を解除すると、システムが停止します。
再びコピー先ディスクからブートし、ホスト名や時間帯などのシステム情報を与えます。
# boot diskn |
システムがブートしたら、スーパーユーザーとしてログインしてシステム情報を確認します。
hostname console login: |
次の例では、VTOC ラベル付きのマスターディスク /dev/rdsk/c0t0d0s2 をコピー先ディスク /dev/rdsk/c0t2d0s2 にコピーする方法を示します。
# touch /reconfigure # init 0 ok boot # dd if=/dev/rdsk/c0t0d0s2 of=/dev/rdsk/c0t2d0s2 bs=128k # fsck /dev/rdsk/c0t2d0s2 # mount /dev/dsk/c0t2d0s2 /mnt # cd /mnt/etc # vi vfstab (Modify entries for the new disk) # cd / # umount /mnt # init 0 # boot disk2 -s # sys-unconfig # boot disk2 |
以前の Solaris リリースでは、ディスク全体がスライス 2 (s2) で表されていました。EFI ラベル付きディスクの場合、複製後のディスクに一意の UUID を割り当てる必要があるため、1T バイトを超えるサイズのディスクを複製 (コピー) する場合、若干異なる方法を使用する必要があります。複製済みディスク用の新しいラベルは、必ず作成してください。作成しないと、その他のソフトウェア製品によって UUID の重複が検出された時点で、EFI ラベル付きディスクのデータが破壊されることがあります。
次に例を示します。
EFI ラベル付きディスクを複製します。次に例を示します。
# dd if=/dev/rdsk/c0t0d0 of=/dev/rdsk/c0t2d0 bs=128k |
複製対象のディスクの prtvtoc 出力を fmthard コマンドにパイプして、複製済みディスク用の新しいラベルを作成します。次に例を示します。
# prtvtoc /dev/rdsk/c0t0d0 | fmthard -s - /dev/rdsk/c0t2d0 |
EFI ディスクラベルの詳細は、「EFI ディスクラベル」を参照してください。
cpio (コピーインとコピーアウト) コマンドを使用して、個々のファイル、ファイルグループ、またはファイルシステム全体をコピーできます。この節では、cpio コマンドを使ってファイルシステム全体をコピーする方法について説明します。
cpio コマンドは、ファイルのリストを 1 つの大型出力ファイルにコピーするアーカイブプログラムです。また、復元しやすいように、個々のファイルの間にヘッダーを挿入します。cpio コマンドを使用すると、ファイルシステム全体を別のスライス、別のシステム、またはテープやフロッピーディスクなどのメディアデバイスにコピーできます。
cpio コマンドは、メディアの終わりを認識し、別のボリュームを挿入するように促すプロンプトを表示するので、複数のテープやフロッピーディスクが必要なアーカイブを作成するにはもっとも効率のよいコマンド (ufsdump 以外では) です。
cpio コマンドの使用時には、しばしば ls や find のコマンドを使用してコピーするファイルを選択し、その出力を cpio コマンドにパイプします。
スーパーユーザーになるか、同等の役割を引き受けます。
目的のディレクトリに移動します。
# cd filesystem1 |
find コマンドと cpio コマンドを組み合わせて使用して、filesystem1 から filesystem2 へディレクトリツリーをコピーします。
# find . -print -depth | cpio -pdm filesystem2 |
現在の作業ディレクトリで処理を始めます。
ファイル名を出力します。
ディレクトリ階層を下降し、すべてのファイル名を出力します。
ファイルのリストを作成します。
必要に応じてディレクトリを作成します。
ディレクトリ上で正しい変更時刻を設定します。
詳細は、cpio(1) のマニュアルページを参照してください。
指定したディレクトリ名からファイルがコピーされます。シンボリックリンクは保持されます。
また、-u オプションも指定できます。このオプションは、無条件にコピーを実行します。u オプションを指定しない場合、古いファイルが、新しいファイルで置換されません。このオプションは、ディレクトリごとコピーするときに、コピーするファイルの一部がすでにターゲットのディレクトリ中に存在する場合に便利です。
コピー先ディレクトリの内容を表示して、コピーに成功したかどうかを確認しま す。
# cd filesystem2 # ls |
ソースディレクトリが不要な場合は削除します。
# rm -rf filesystem1 |
# cd /data1 # find . -print -depth | cpio -pdm /data2 19013 blocks # cd /data2 # ls # rm -rf /data1 |
tar、pax、および cpio コマンドを使用すると、ファイルとファイルシステムをテープにコピーできます。どのコマンドを選択するかは、コピーする目的に応じて異なります。3 つのコマンドはすべて raw デバイスを使用するので、使用する前にテープ上でファイルシステムをフォーマットまたは作成する必要はありません。
使用するテープドライブとデバイス名は、各システムのハードウェアの構成によって異なります。テープデバイス名の詳細は、「使用するメディアの選択」を参照してください。
tar コマンドを使用してファイルをテープにコピーする前に、次の情報について知っておかなければなりません。
tar コマンドに -c オプションを指定してファイルをテープにコピーすると、テープに入っているすべての既存のファイルまたはテープの現存の位置以降にある既存のファイルすべてが破壊 (上書き) されます。
ファイルをコピーするとき、ファイル名の一部にファイル名置換ワイルドカード文字 (? と *) を使用できます。たとえば、接尾辞 .doc が付いたすべての文書をコピーするには、ファイル名引数として *.doc と入力します。
tar アーカイブからファイルを抽出するときには、ファイル名置換ワイルドカードは使用できません。
コピーするファイルの存在するディレクトリに移動します。
書き込み可能なテープをテープドライブに挿入します。
ファイルをテープにコピーします。
$ tar cvf /dev/rmt/n filenames |
アーカイブの作成を指定します。
各ファイルがアーカイブされるたびに、その名前を表示します。
アーカイブを指定したデバイスまたはファイルに書き込むように指定します。
コピーするファイルとディレクトリを指定します。ファイルが複数の場合は、各ファイルをスペースで区切ります。
指定した名前のファイルがテープにコピーされ、テープ上の既存のファイルが上書きされます。
テープをドライブから取り出します。ファイル名をテープのラベルに記入します。
コピーしたファイルがテープ上に存在することを確認します。
$ tar tvf /dev/rmt/n |
tar テープ上のファイルを表示する方法については、「テープ上のファイルのリストを表示する方法 (tar)」を参照してください。
次の例では、3 つのファイルをテープドライブ 0 のテープにコピーします。
$ cd /export/home/kryten $ ls reports reportA reportB reportC $ tar cvf /dev/rmt/0 reports a reports/ 0 tape blocks a reports/reportA 59 tape blocks a reports/reportB 61 tape blocks a reports/reportC 63 tape blocks $ tar tvf /dev/rmt/0 |
テープをテープドライブに挿入します。
$ tar tvf /dev/rmt/n |
テープ上のファイルのリストが表示されます。
t オプションと一緒に使用すると、テープ上のファイルに関する詳細情報が表示されます。
テープデバイスを示します。
次の例では、ドライブ 0 のテープに含まれるファイルのリストを表示します。
$ tar tvf /dev/rmt/0 drwxr-xr-x 0/0 0 Jul 14 13:50 2010 reports/ -r--r--r-- 0/0 206663 Jul 14 13:50 2010 reports/reportC -r--r--r-- 0/0 206663 Jul 14 13:50 2010 reports/reportB -r--r--r-- 0/0 206663 Jul 14 13:50 2010 reports/reportA |
テープをテープドライブに挿入します。
$ tar xvf /dev/rmt/n [filenames] |
指定したアーカイブファイルからのファイルの抽出を指定します。指定したドライブのテープに含まれるすべてのファイルが現在のディレクトリにコピーされます。
各ファイルを取り出すたびに、その名前を表示します。
アーカイブを含むテープデバイスを示します。
取り出すファイルを指定します。ファイルが複数の場合は、各ファイルをスペースで区切ります。
詳細は、tar(1) のマニュアルページを参照してください。
ファイルがコピーされたことを確認します。
$ ls -l |
次の例では、ドライブ 0 のテープからすべてのファイルを取り出す方法を示します。
$ cd /var/tmp $ tar xvf /dev/rmt/0 x reports/, 0 bytes, 0 tape blocks x reports/reportA, 0 bytes, 0 tape blocks x reports/reportB, 0 bytes, 0 tape blocks x reports/reportC, 0 bytes, 0 tape blocks x reports/reportD, 0 bytes, 0 tape blocks $ ls -l |
テープから抽出されるファイル名は、アーカイブに格納されているファイル名と同一でなければなりません。ファイルの名前やパス名が不明な場合は、まずテープ上のファイルのリストを表示します。テープ上のファイルをリスト表示する方法については、「テープ上のファイルのリストを表示する方法 (tar)」を参照してください。
コピーするファイルの存在するディレクトリに移動します。
書き込み可能なテープをテープドライブに挿入します。
ファイルをテープにコピーします。
$ pax -w -f /dev/rmt/n filenames |
書き込みモードを有効にします。
テープドライブを識別します。
コピーするファイルとディレクトリを指定します。ファイルが複数の場合は、各ファイルをスペースで区切ります。
詳細は、pax(1) のマニュアルページを参照してください。
ファイルがテープにコピーされたことを確認します。
$ pax -f /dev/rmt/n |
テープをドライブから取り出します。ファイル名をテープのラベルに記入します。
次の例は、pax コマンドを使用して、現在のディレクトリ内のファイルをすべてコピーする方法を示します。
$ pax -w -f /dev/rmt/0 . $ pax -f /dev/rmt/0 filea fileb filec |
コピーするファイルの存在するディレクトリに移動します。
書き込み可能なテープをテープドライブに挿入します。
ファイルをテープにコピーします。
$ ls | cpio -oc > /dev/rmt/n |
cpio コマンドにファイル名のリストを渡します。
cpio コマンドがコピーアウトモード (-o) で動作し、ASCII 文字形式 (-c) でヘッダー情報を書き込むように指定します。これらのオプションによりほかのベンダーのシステムとの互換性を保ちます。
出力ファイルを指定します。
ディレクトリ内のすべてのファイルは、指定したドライブ内のテープにコピーされ、テープ上の既存のファイルが上書きされます。コピーされた合計ブロック数が表示されます。
ファイルがテープにコピーされたことを確認します。
$ cpio -civt < /dev/rmt/n |
cpio コマンドがファイルを ASCII 文字形式で読み込むように指定します。
cpio コマンドがコピーインモードで動作することを指定します。この時点ではファイルをリストするだけです。
ls -l コマンドの出力と同様の形式で出力を表示します。
指定したテープドライブ内のテープ上にあるファイルの内容リストを表示します。
既存の cpio アーカイブの入力ファイルを指定します。
テープをドライブから取り出します。ファイル名をテープのラベルに記入します。
次の例では、 /export/home/kryten ディレクトリ内のすべてのファイルをテープドライブ 0 のテープにコピーする方法を示します。
$ cd /export/home/kryten $ ls | cpio -oc > /dev/rmt/0 1280 blocks $ cpio -civt < /dev/rmt/0 -r--r--r-- 1 kryten staff 206663 Jul 14 13:52 2010, filea -r--r--r-- 1 kryten staff 206663 Jul 14 13:52 2010, fileb -r--r--r-- 1 kryten staff 206663 Jul 14 13:52 2010, filec drwxr-xr-x 2 kryten staff 0 Jul 14 13:52 2010, letters drwxr-xr-x 2 kryten staff 0 Jul 14 13:52 2010, reports 1280 blocks |
テープの内容リストを表示するには、cpio コマンドがアーカイブ全体を処理する必要があるため、かなりの時間がかかります。
次の例では、ドライブ 0 のテープに含まれるファイルのリストを表示します。
$ cpio -civt < /dev/rmt/0 -r--r--r-- 1 kryten staff 206663 Jul 14 13:52 2010, filea -r--r--r-- 1 kryten staff 206663 Jul 14 13:52 2010, fileb -r--r--r-- 1 kryten staff 206663 Jul 14 13:52 2010, filec drwxr-xr-x 2 kryten staff 0 Jul 14 13:52 2010, letters drwxr-xr-x 2 kryten staff 0 Jul 14 13:52 2010, reports 1280 blocks |
相対パス名を使用してアーカイブを作成した場合、入力ファイルはそれを取り出すときに現在のディレクトリ内のディレクトリとして作成されます。ただし、絶対パス名を指定してアーカイブを作成した場合は、それと同じ絶対パス名を使用してシステム上でファイルが再び作成されます。
絶対パス名を使用すると、自分のシステム上にある元のファイルを上書きすることになるので危険です。
ファイルを置きたいディレクトリに移動します。
テープをテープドライブに挿入します。
$ cpio -icvd < /dev/rmt/n |
標準入力からファイルを取り出します。
cpio コマンドがファイルを ASCII 文字形式で読み込むように指定します。
取り出されたファイルを ls コマンドの出力と同様の形式で表示します。
必要に応じてディレクトリを作成します。
出力ファイルを指定します。
ファイルがコピーされたことを確認します。
$ ls -l |
次の例では、ドライブ 0 のテープからすべてのファイルを取り出す方法を示します。
$ cd /var/tmp cpio -icvd < /dev/rmt/0 answers sc.directives tests 8 blocks $ ls -l |
ファイルを置きたいディレクトリに移動します。
テープをテープドライブに挿入します。
テープからファイルのサブセットを取り出します。
$ cpio -icv "*file" < /dev/rmt/n |
標準入力からファイルを取り出します。
cpio コマンドを使用してヘッダーを ASCII 文字形式で読み込むように指定します。
取り出されたファイルを ls コマンドの出力と同様の形式で表示します。
パターンに一致するすべてのファイルを現在のディレクトリにコピーするように指定します。複数のパターンを指定できますが、個々のパターンを二重引用符で囲まなければなりません。
入力ファイルを指定します。
詳細は、cpio(1) のマニュアルページを参照してください。
ファイルがコピーされたことを確認します。
$ ls -l |
次の例では、末尾に接尾辞 chapter が付いているすべてのファイルをドライブ 0 のテープから取り出します。
$ cd /home/smith/Book $ cpio -icv "*chapter" < /dev/rmt/0 Boot.chapter Directory.chapter Install.chapter Intro.chapter 31 blocks $ ls -l |
リモートテープドライブを使用するには、次の前提条件を満たしている必要があります。
ローカルホスト名 (および、オプションでコピーを実行するユーザーのユーザー名) が、リモートシステムの /etc/hosts.equiv ファイルに記述されている必要がある。または、コピーを実行するユーザーが、リモートマシン上の自分のホームディレクトリをアクセス可能にし、かつ $HOME/.rhosts 内にローカルマシン名を記述しておく必要がある。
詳細は、hosts.equiv(4) のマニュアルページを参照してください。
リモートシステムのエントリがローカルシステムの /etc/inet/hosts ファイル内またはネームサービスの hosts ファイル内になければならない。
リモートコマンドの実行に必要なアクセス権を保持していることを確認するには、次のように入力します。
$ rsh remotehost echo test |
test と表示された場合、リモートコマンドの実行に必要なアクセス権を保持しています。Permission denied と表示された場合は、手順 1 の内容を確認してください。
ファイルを置きたいディレクトリに移動します。
テープをテープドライブに挿入します。
$ tar cvf - filenames | rsh remote-host dd of=/dev/rmt/n obs=block-size |
テープアーカイブを作成し、アーカイブに含まれるファイルをリスト表示し、テープデバイスを指定します。
tar ファイルのエントリに関する追加情報を表示します。
可変部としてテープデバイスの代わりに指定します。
コピーするファイルを指定します。ファイルが複数の場合は、各ファイルをスペースで区切ります。
tar コマンドの出力をパイプを通してリモートシェルに渡します。
出力デバイスを指定します。
ブロック係数を指定します。
テープをドライブから取り出します。ファイル名をテープのラベルに記入します。
# tar cvf - * | rsh mercury dd of=/dev/rmt/0 obs=126b a answers/ 0 tape blocks a answers/test129 1 tape blocks a sc.directives/ 0 tape blocks a sc.directives/sc.190089 1 tape blocks a tests/ 0 tape blocks a tests/test131 1 tape blocks 6+9 records in 0+1 records out |
テープをテープドライブに挿入します。
一時ディレクトリに移動します。
$ cd /var/tmp |
$ rsh remote-host dd if=/dev/rmt/n | tar xvBpf - |
dd コマンドを使用してテープデバイスからファイルを取り出すために起動するリモートシェルです。
入力デバイスを指定します。
dd コマンドの出力を tar コマンドにパイプして、ファイルを復元します。
ファイルが抽出されたことを確認します。
$ ls -l |
$ cd /var/tmp $ rsh mercury dd if=/dev/rmt/0 | tar xvBpf - x answers/, 0 bytes, 0 tape blocks x answers/test129, 48 bytes, 1 tape blocks 20+0 records in 20+0 records out x sc.directives/, 0 bytes, 0 tape blocks x sc.directives/sc.190089, 77 bytes, 1 tape blocks x tests/, 0 bytes, 0 tape blocks x tests/test131, 84 bytes, 1 tape blocks $ ls -l |
ファイルやファイルシステムをフロッピーディスクにコピーする前に、フロッピーディスクをフォーマットする必要があります。フロッピーディスクをフォーマットする方法については、第 2 章リムーバブルメディアの管理 (手順)を参照してください。
tar コマンドを使用して、UFS ファイルを 1 枚のフォーマット済みフロッピーディスクにコピーします。
UFS ファイルを複数のフォーマット済みフロッピーディスクにコピーする必要があれば、cpio コマンドを使用します。cpio コマンドはメディアの終わりを認識し、次のフロッピーディスクの挿入を促すプロンプトを表示します。
tar に -c オプションを指定してフォーマット済みフロッピーディスクにファイルをコピーすると、フロッピーディスク上の既存のファイルは破壊 (上書き) されます。
tar イメージを格納済みのフロッピーディスクはマウントできません。
複数のボリュームを扱う場合は、cpio コマンドを使用します。tar コマンドは 1 つのボリュームに対してのみ使用するユーティリティーです。
詳細は、tar(1) のマニュアルページを参照してください。
コピーするファイルの存在するディレクトリに移動します。
書き込み保護されていないフォーマット済みフロッピーディスクをドライブに挿入します。
フロッピーディスクを使用可能な状態にします。
$ volcheck |
必要に応じて、再度フォーマットします。
$ rmformat -U /dev/rdiskette Formatting will erase all the data on disk. Do you want to continue? (y/n)y |
ファイルをフロッピーディスクにコピーします。
$ tar cvf /vol/dev/aliases/floppy0 filenames |
指定した名前のファイルがフロッピーディスクにコピーされ、フロッピーディスク上の既存のファイルがすべて上書きされます。
ファイルがコピーされたことを確認します。
$ tar tvf /vol/dev/aliases/floppy0 |
ファイルのリストを表示する方法については、「フロッピーディスク上のファイルのリストを表示する方法 (tar)」を参照してください。
フロッピーディスクをドライブから取り出します。
ファイル名をフロッピーディスクラベルに記入します。
次の例では、evaluation* という名前のファイルをフロッピーディスクにコピーする方法を示します。
$ cd /home/smith $ volcheck $ ls evaluation* evaluation.doc evaluation.doc.backup $ tar cvf /vol/dev/aliases/floppy0 evaluation* a evaluation.doc 86 blocks a evaluation.doc.backup 84 blocks $ tar tvf /vol/dev/aliases/floppy0 |
次の例では、フロッピーディスク上のファイルのリストを表示します。
$ volcheck $ tar tvf /vol/dev/aliases/floppy0 rw-rw-rw-6693/10 44032 Jun 9 15:45 evaluation.doc rw-rw-rw-6693/10 43008 Jun 9 15:55 evaluation.doc.backup $ |
ファイルを置きたいディレクトリに移動します。
フロッピーディスクをドライブに挿入します。
フロッピーディスクを使用可能な状態にします。
$ volcheck |
$ tar xvf /vol/dev/aliases/floppy0 |
フロッピーディスク上のすべてのファイルが現在のディレクトリにコピーされます。
ファイルが取り出されたことを確認します。
$ ls -l |
フロッピーディスクをドライブから取り出します。
次の例では、フロッピーディスクからすべてのファイルを取り出します。
$ cd /home/smith/Evaluations $ volcheck $ tar xvf /vol/dev/aliases/floppy0 x evaluation.doc, 44032 bytes, 86 tape blocks x evaluation.doc.backup, 43008 bytes, 84 tape blocks $ ls -l |
次の例では、フロッピーディスクから個々のファイルを取り出します。指定したファイルはフロッピーディスクから取り出され、現在の作業ディレクトリに格納されます。
$ volcheck $ tar xvf /vol/dev/aliases/floppy0 evaluation.doc x evaluation.doc, 44032 bytes, 86 tape blocks $ ls -l |
大量のファイルをフロッピーディスクにコピーする場合は、いっぱいになったフロッピーディスクを別のフォーマット済みフロッピーディスクと交換するように促すプロンプトを表示させることができます。cpio コマンドにはこの機能があります。使用する cpio コマンドはファイルをテープにコピーする場合と同じですが、テープデバイス名ではなく /vol/dev/aliases/floppy0 をデバイスとして指定する点が異なります。
cpio コマンドの使用方法については、「ディレクトリ内のすべてのファイルをテープにコピーする方法 (cpio)」を参照してください。