« LinuxでCDを焼く | トップページ | ハッシュの値に配列を格納する »

2007-07-20

Linuxで仮想CDドライブ

CDをハードディスクに保存して、
そのCDをマウントして使う。
仮想CDって言うんですか?
Windowsの携速?
とかVirtualCD?
みたいな事をしてみる。
CDをファイルにコピーして、
それをマウントする。
CDの内容を
/home/tagosuck/tagosucd.iso
にコピーします。
$ dd if=/dev/cdrom of=/home/tagosuck/tagosuck.iso
エラーが大量に出力されます。
最後に、
入力/出力エラーです
と出ます。
が、気にせず続行します。
# mount -t iso9660 -o loop /home/tagosuck/tagosucd.iso /mnt/tagosucd0
マウントできたか見てみる。
$ ls -l /mnt/tagosucd0
私は、
自宅でサーバー用途とデスクトップ用途、
端末用CUIノート、
会社でサーバー用途で、
軽く使っているだけで、
仕事でLinux用アプリケーションを
開発したりする
ヘビーユーザーではないので、
プロの仕事は望まないでください。
自己責任でお願いします。
専門用語とか、
製品名とかもよく知りません。
間違っているところがあったら、
コメントください。

ちょっと詳しく

ddコマンドでCDをコピー

$ dd if=/dev/cdrom of=/home/tagosuck/tagosucd.iso
ddコマンドは
コピーしたりして
ファイルを作ります。
if=: コピー元 [/dev/cdrom]
of=: コピー先 [/home/tagosuck/tagosucd.iso]
bs=: ブロックサイズ(byte)
count=: ブロック数(bs=1024 count=65536なら64Mbyte)
コピー元デバイスは、
/dev/zero ( 0で埋める )
/dev/random ( 乱数で埋める、ランダムデータがない時に、乱数の生成を待つ )
/dev/urandom ( 乱数で埋める、ランダムデータがない時でも、ハッシュ値から乱数を生成する )
等が使われる事があります。

mountコマンドでマウント

# mount -t iso9660 -o ro,loop=/dev/loop0 /home/tagosuck/tagosucd.iso /mnt/tagosucd0
/dev/loop0はループバックデバイス
「ループバックデバイスとは、
ファイルをファイルシステムとして
マウントできる機能」とあります。
要するに、
ファイルをフォーマット済みディスクのように
使う事が可能という事でしょうね。
-t: ファイルシステムタイプ
-o: オプション
loopを指定する事でループバックマウントが指定される
/home/tagosuck/tagosucd.isoは マウントするデバイス(ファイル)
/mnt/tagosucd0はマウント先ディレクトリ

mkisofsでisoイメージを作る

そこら辺の
適当なディレクトリを
isoイメージにする時に使う
$ mkisofs -o /home/tagosuck/tagosucd.iso -J -r -v -V TagoSuCD /home/tagosuck/src/cpp
-o: 出力先指定 [/home/tagosuck/tagosucd.iso]
-J: Joliet方式のファイル名の付け方でWindowsと互換する
-r: Rock Ridge方式のファイル名の付け方でUNIX/Linuxと互換する
-v: 詳しい進行状況を表示する
-V: CDのボリュームを指定する [TagoSuCD]
/home/tagosuck/src/cpp配下の
ディレクトリと
ファイルが
すべてイメージに含まれる

|

« LinuxでCDを焼く | トップページ | ハッシュの値に配列を格納する »

Linux」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: Linuxで仮想CDドライブ:

« LinuxでCDを焼く | トップページ | ハッシュの値に配列を格納する »