Solaris/Linux/FreeBSDでCD-Rを焼こう |
YAMAMORI Takenori ●yamamori |
§実行編「これだけやればCD-Rが焼ける」
UNIX上でCD-Rを焼くためのフリーソフトウェアといえば,やはり cdrecord(cdrtools) でしょう. cdrecord は cdrecord-1.9 のあと,cdrtools-1.10 とアーカイブ名を変えて開発が進められています.コマンド名は従来どおり、cdrecord/mkisofs です. このページの最初の執筆時点ではcdrecord-1.8を使っていましたが,その後 cdrecord-1.8.1 で mkhybrid が含まれるようになり,cdrecord-1.9 で mkhybrid と mkisofs はハードリンクで統合されました。 この文章のほとんどの部分は現行の cdrtools-1.10 にも当てはまります.
cdrecord(cdrtools)のアーカイブの中には, 物理的にCD-Rを焼くためのcdrecordコマンドの他, ISO9660ファイルシステムを作成するためのmkisofsと, 音楽用CDからデータを吸い出すためのcdda2wavも含まれています. cdrecordとmkisofsがあれば,CD-ROMは作成できます.
cdrecord-1.8に含まれるmkisofsは,mkisofs-1.12 として単独で配布されているものと同一のようです. また,以前のmkisofs-1.12b5のmake方式は, “./configure; make”スタイルの,典型的なGNU方式でしたが, mkisofs-1.12ではcdrecord と同じく,ちょっと凝ったmake方式に変わりました. このmkisofsについても,以前のバージョンよりもオプションが増え, 高機能になっていますので,適宜バージョンアップされるとよいでしょう.
cdrecordでは,ユーザが直接“./configure” を実行する必要がない代わりに, かなり凝ったMakefileの書き方がされています.このため,README.compile によると, SunOS 4.xの/usr/bin/make または,Solaris 2.x/7/8の/usr/ccs/bin/make と同等のmakeコマンドを要求しています. FreeBSDなどに付属するBSD makeは使用できません. ただし,一般的なGNU makeも,“the last resort”(最後の手段)として 使用できます.この場合は,環境変数MAKEPROG=gmake とセットする必要があり, そのためのwrapperスクリプトとしてGmakeおよびGmake.linuxが 用意されています.
cdrecordとその関連のファイルは,デフォルトで/opt/schily 以下にインストールされますが,これをたとえば/usr/local に変更したい場合は, 以下のように,DEFAULTSサブディレクトリ以下のファイルを修正します.
DEFAULTS/Defaults.linux (Linuxの場合) DEFAULTS/Defaults.freebsd(FreeBSDの場合) DEFAULTS/Defaults.sunos5 (Solarisの場合) INS_BASE= /opt/schily ↓ INS_BASE= /usr/local |
またSolarisで,ccが無く,gccをインストールしている場合は, 以下のように,同ファイルのDEFCCOM=をgcc に変更する必要があります. LinuxやFreeBSDでは,コマンド名ccで実行しても結局gcc が動作するので,この変更は必要ありません.
DEFAULTS/Defaults.sunos5 (Solarisの場合) DEFCCOM= cc ↓ DEFCCOM= gcc |
makeにはGNU make を使用しますので,以下のようにしてコンパイルおよびインストールを行ないます.
$ ./Gmake.linux # または ./Gmake $ su # ./Gmake.linux install # または ./Gmake install |
以上で,cdrecord, mkisofs, cdda2wavがインストールされますが, そのほか,devdump, isodump, isoinfo, isovfy, readcdという, ちょっとしたツールもインストールされます.
なお,Solarisについては,汎用SCSIドライバの追加作業が必要な場合があります.
(コラム「Solarisのscgドライバのインストール」参照)