MENU

J2EE環境構築編

J2EE体験編

CD-Rを使ってみる

最近のほとんどのマシンには、CD-RかCD-RWが装備されていることとはもちろん、書き込みDVD(?)も装備されていることと思います。
当然、これらの機能をLinuxで利用することができます。
データのやりとりやバックアップに重宝する(こともある)ので、是非利用しましょう。

準備

通常の書き込みと、パケットライティングとで異なるので、それぞれ紹介します。

通常の書き込みの場合

必要なもの

現在の最新バージョンはcdrtools-2.01です。
もっと新しいバージョンがあったら、そっちを使いましょう。

cdrtoolsのインストール

今回のインストール手順は、これまでと若干違います。

tar jxf cdrtools-2.01.tar.bz2
cd cdrtools-2.01
su
password:******
./Gmake.linux INS_BASE=/usr install

これで、実行ファイルと各種ライブラリのインストールまで完了します。

書き込むイメージの用意

この方法では、あらかじめイメージを作成しておかなければなりません。
フロッピーやハードディスクと同じように使いたいという場合は、次に紹介するパケットライティングを利用することになります。

イメージを用意する一番簡単な方法は、linuxや*BSDのイメージを入手することです。
ダイアルアップ環境など、とても何百メガバイトものイメージをダウンロードする気になるような環境ではない、という人のために、mkisofsというツールも用意されているので、これを利用するもの良いでしょう(mkisofsはcdrtoolsをインストールしたとき一緒にインストールされます)。
というより、バックアップのためにCD-Rを利用する場合には、このmkisofsを使うことになるので、きちんと使い方を覚えておかないと、後々痛い目に逢うことになるでしょう。

mkdir image_data
cp -r hoge image_data
(繰返し)
mkisofs -J -R -h -v -o backup.iso image_data

で、イメージが出来上がります。
カーネルがループバックデバイスに対応していれば、今作成したばかりのイメージをマウントすることができます。

mount -o loop ./cdrtools.iso /cdrom

mountは特権ユーザーでなければ実行できないかも知れません。

mount: root だけがそれを行なえます

のようなメッセージが出たら、suして下さい。

書き込み

さて、イメージを用意したら、書き込みです。
linuxでCDの書き込み、というと

「カーネルのIDE-SCSIエミュレータを組み込んで・・・」

という記述に出会ったことがある人も多いと思います。
私自身も、2.4系列を使っていたときは、そのとおりにしていました。
しかし、2.6系列はIDEのドライバがCD-Rも扱えるようになったので、エミュレータを利用する必要がなくなりました。

一方、2.6.8以降では、一般ユーザがCDの書き込み機能を利用できません。
suしてから書き込みましょう。

su
password:******
cdrecord -dev=ATAPI:0,0,0 -v backup.iso

以上です。

かつては「書き込み中に他の作業をしてはならない」といわれたものですが、現在のマシンパワーなら、多少の作業は大丈夫です。
危険なのは巨大なファイルを読み書きすることや、CPUパワーを100パーセントまで引き出す作業(コンパイルとかレイトレーシングとか)をすることです。
topなどのモニタを利用して、マシンの負荷を確認しながら、過負荷にならないように注意する必要はあると思います。

DVDも同じ手順で書き込みできるはず、なのですが、わたしは書き込みDVDドライブを持っていないので、確認していません。
すみません。

パケットライティングの場合

パケットライティングとは、あたかもフロッピーのようにCD-RWを利用する技術のことです。

必要なもの

  • カーネルのパケットライティング機能
  • udftools

パケットライティングのドライバは

Device Drivers ---> Block devices ---> Packet writing on CD/DVD media

にあります。
バッファ、キャッシュについても、お好みで設定しましょう。

これらの選択肢が表示されない場合、バージョンアップが必要です。

次にlinux-udfをインストールします。
これはいつものようにconfigure、make、make installで完成です。

あとは、/usr/src/linux/Documentation/cdrom/packet-writing.txtにある手順を実行すればよいだけです。

あらかじめCD-RWメディアを挿入しておいて、

cdrwtool -d /dev/hdc -q
pktsetup dev_name /dev/hdc
mount /dev/pktcdvd/dev_name /cdrom -t udf -o rw,noatime

dev_nameは任意の文字列に置き換えて下さい(もちろん、このままでも問題はありませんが)。
また、cdromが/dev/hdc以外にある人は適切なデバイスを指定してください。

これで、/cdrom以下へ、フロッピーのように書き込めるようになります。