LinuxのCUIでデータCDを焼く。
#contents
* CUIでデータCDを焼く [#x709c22f]
UbuntuではファイルビューワNautilusを用いてGUIによるCD書き込みができるようだが、
Nautilusはあまり好きではないのでCUIでCDを焼いてみる。
Ubuntu7.04では、
``genisoimage``というプログラムでisoイメージを作成し、``wodim``というプログラムで焼けばいいようだ。
** genisoimage [#ic1d09fd]
以下のようにして指定したpath1, path2 ... からISOファイルを生成する。
$ genisoimage -r -J -o out.iso -V "label" -v path1 path2 ...
: ``-R`` | RockRidgeフォーマットを使用。Linuxで長いファイル名をサポートする。
: ``-r`` | -Rオプションに加え、全てのファイルのuid, gidを0(root)にし、パーミッションを適切に変更する。(詳細はマニュアルを参照)
: ``-J`` | Jolietフォーマットを使用。Windowsで長いファイル名をサポートする。
: ``-V`` <LABEL> | ISOイメージのラベルを設定する。
: ``-o`` <FILE NAME> | 出力先ファイル名。省略した場合は標準出力へ出力される。
: ``-v`` | verboseモード
: ``-graft-points`` | 元ファイルのパスとISOイメージ上でのパスを別々に指定できるようにする。
R、JオプションをつけることでWindowsでもLinuxでもロングファイル名を扱えるようになる。
パスにディレクトリを指定するとそのディレクトリ以下を全てISOファイルに入れるようだ。
ISOファイルを作成したら、念のためマウントして内容を確認する。
$ sudo mount -o loop out.iso /mnt/loop
$ cd /mnt/loop
$ ls
(内容を確認)
$ cd
$ sudo umount /mnt/loop
/mnt/loopの部分はてきとーなマウントポイントでよい。
** wodim [#q3e9e613]
ISOイメージの中身が問題ないならCDに焼く。
root権限で動作させたほうが無難なようだ。
$ sudo wodim -v -eject speed=4 dev=/dev/hdc -data out.iso
: ``-v`` | verboseモード
: ``-eject`` | 完了後にイジェクトする
: ``speed`` | 書き込みスピード
: ``dev`` | 書き込み先デバイス
: ``-data`` | データCDの作成を指示する