- メディアイメージを使う利点
フロッピーディスクや CD-ROM をHDDにイメージとしてコピーする、というのが要旨です。これに一体どんな利点があるでしょうか?すぐには思い浮かばないかもしれませんが何かの役に立つかも!
- dd によるメディアイメージの作成 - /usr/bin/dd
では早速、フロッピーディスクをイメージファイルに落としてみます (落とすという表現は古くさいのかも・・)。
input-file と output-file を間違えないようにして dd を使用します。
39 galley tachi> volcheck 40 galley tachi> dd if=/vol/dev/aliases/floppy0 of=/home/tachi/image_01.img 書き込まれたレコード数 2880+0 読み出されたレコード数 2880+0 41 galley tachi> ls -l ~/image_01.img -rw-r--r-- 1 tachi staff 1474560 11月 7日 01:14 /home/tachi/image_01.img 42 galley tachi>
|
次に、cdrom メディアのイメージファイル化を行ってみます。(ちなみに sample は Solaris 8 Companion CD です。)
これで cdrom も一個のファイルになります。
10 galley tachi> dd if=/vol/dev/aliases/cdrom0 of=/home/tachi/image_02.img 書き込まれたレコード数 650240+0 読み出されたレコード数 650240+0 11 galley tachi> ls -l ~/image_02.img -rw-r--r-- 1 tachi staff 332922880 11月 7日 01:53 /home/tachi/image_02.img 12 galley tachi>
|
この時注意したい事は、作成されるイメージファイルはマウントされたファイルシステムのイメージであり、cdrom 全体のイメージでは無い場合がある、ということです。RockRidge フォーマットには詳しくないので上手く説明できませんが、例えば SPARC 用の Solaris 8 Installation CD は x86 上では正しくマウントできません。このような場合は作成されるイメージファイルも不完全なものになってしまいます。
- dd によるメディアイメージの復元
作成したイメージファイルを元のメディアに戻してみます。
以下はフロッピーディスクの場合です。
48 galley tachi> eject -p /vol/dev/rdiskette0/5.8_d1 は現在手動で取り出せます。 49 galley tachi> volcheck 50 galley tachi> dd if=/home/tachi/image_01.img of=/vol/dev/aliases/floppy0 書き込まれたレコード数 2880+0 読み出されたレコード数 2880+0 51 galley tachi>
|
cdrom の場合は CD-R に書きこむことになりますが、これは別の機会に検証してみたいと思います。
- lofi によるイメージのドライブ - /usr/sbin/lofiadm
では、いよいよ lofi です。lofi を使用する事によりイメージファイルをメディアそのもののように扱う事が出来ます。
# lofiadm -a /home/tachi/image_01.img /dev/lofi/1 # lofiadm -a /home/tachi/image_02.img /dev/lofi/2 # lofiadm Block Device File /dev/lofi/1 /home/tachi/image_01.img /dev/lofi/2 /home/tachi/image_02.img #
|
フロッピーディスクのイメージファイルと cdrom のイメージファイルを順番に追加 (というよりも登録というべきかも) しています。
次に lofi デバイスをマウントしてみます。
# mkdir /tmp/floppy /tmp/cdrom # mount -F pcfs /dev/lofi/1 /tmp/floppy # mount -F hsfs /dev/lofi/2 /tmp/cdrom #
|
ファイルシステムはそれぞれのイメージファイルに適したものを指定する必要があります。
マウントが成功すれば、このイメージファイルをメディアとして参照できます。
# ls -l /tmp/floppy 合計 17 -rwxrwxrwx 1 root other 429 12月 11日 1999年 APPEND.BAT -rwxrwxrwx 1 root other 2944 12月 11日 1999年 COMMENT.BAT -rwxrwxrwx 1 root other 0 1月 1日 1970年 ESCD.RF -rwxrwxrwx 1 root other 148 12月 11日 1999年 IDENT -rwxrwxrwx 1 root other 579 12月 11日 1999年 MAKEDIR.BAT drwxrwxrwx 1 root other 512 12月 11日 1999年 RC.D -rwxrwxrwx 1 root other 496 12月 11日 1999年 REPLACE.BAT drwxrwxrwx 1 root other 512 12月 11日 1999年 SOLARIS -rwxrwxrwx 1 root other 1309 12月 11日 1999年 SOLARIS.MAP drwxrwxrwx 1 root other 512 12月 11日 1999年 X # ls -l /tmp/cdrom 合計 18 -rw-r--r-- 1 root sys 1227 12月 10日 1999年 README drwxrwxr-x 13 root sys 2048 12月 10日 1999年 components -rwxr-xr-x 1 root sys 4597 12月 10日 1999年 installer -rwxr-xr-x 1 root sys 636 12月 10日 1999年 volstart #
|
ちょっと嬉しくないですか?o(^^)o
- lofi のドライブ解除
lofi デバイスの解除は、デバイスのアンマウント、lofi からの削除 (登録抹消と呼びたい) の順序で行います。
# umount /tmp/cdrom # umount /tmp/floppy # lofiadm -d /dev/lofi/2 # lofiadm -d /dev/lofi/1 # lofiadm Block Device File #
|
以上の手順でイメージファイルを操作可能です。
何か用途は思い浮かびましたでしょうか?