Provided by: manpages-ja_0.5.0.0.20161015+dfsg-1_all bug

名前

       cdrecord - マスタからオーディオ CD やデータ CD を記録する

書式

       cdrecord [ general options ] dev=device [ track options ] track1...trackn

説明

       cdrecord は Orange Book CD-Recorder で データ CD やオーディオ CD を記録するために使う。

       device は CD レコーダの scsibus/target/lun を指す。 SunOS での通信は汎用 SCSI ドライバ scg
       を用いて行われる。 他の OS では、このドライバをシミュレートするライブラリを使う。 使用可能
       な書式は、 dev= scsibus,target,lun または dev= target,lun である。 後者の場合、CD-R はマシ
       ンのデフォルトの SCSI バスに 接続されていなければならない。 scsibus, target, lun  は整数で
       ある。  OS や SCSI 転送の実装のなかには、これに加えてデバイスファイル名を 指定しなければな
       らないものもある。 この場合の正しい書式は、 dev= devicename:scsibus,target,lun または dev=
       devicename:target,lun である。 このようなシステムでは、指定されたデバイスノード名が 1 つの
       SCSI デバイスのみを参照している場合、 dev= devicename:scsibus,target,lun  の代わりに、省略
       形の dev= devicename:@ または dev= devicename:@,lun を使うことができる。

       リモートの  SCSI デバイスにアクセスするためには、 リモートのデバイスであることを示すインジ
       ケータを    SCSI    デバイス名の前に付ける必要がある。    リモートデバイスのインジケータは
       REMOTE:user@host: または REMOTE:host: という形式である。
       指定可能なリモート  SCSI デバイス名は、 REMOTE:user@host: または REMOTE:user@host:1,0,0 と
       いう形式である。 1 つ目の形式では、リモートで SCSI デバイスのスキャンを行わせる。 2 つ目の
       形式では、  host の SCSI bus # 1,target 0 lun 0 に接続されている SCSI デバイスにアクセスす
       る。

       cdrecord      を全ての      UNIX      系プラットフォームで汎用的にするためには、      dev=
       devicename:scsibus,target,lun  という書式が好ましい。 これによりデバイスについての各 OS 特
       有の知識を ユーザーに対して隠蔽することができる。 またこれにより、実際のデバイスファイル名
       や scsibus,target,lun を指定する方法を、特定の OS 上でサポートする必要がなくなる。

       scsibus  0 はマシンのデフォルトの SCSI バスである。 マシンの SCSI 設定についてのより詳細な
       情報は、 ブート時のメッセージや /var/adm/messages を参照すること。 scsibus,target,lun にど
       のような値を指定してよいか分らない場合は、  以下に記述されている cdrecord-scanbus オプ
       ションを使ってみること。

       ファイル /etc/default/cdrecord が存在する場合、 dev=  のパラメータはこのファイル中のドライ
       ブ名ラベルにもなる (「ファイル」セクションを参照)。

       SVr4 互換のシステムでは、 cdrecord はリアルタイムクラスを使い、 可能な限りスケジューリング
       優先度を高くする  (全てのカーネルプロセスより優先度を高くする)。  POSIX   リアルタイムスケ
       ジューリング  を備えたシステムでも、  cdrecord はリアルタイムスケジューリングを使う。 ただ
       し、カーネルプロセスより高い優先度は得られない。

       Track At Once モードでは、 各 track はそのトラックのデータが書かれた個別のファイルに対応す
       る。  引き数が  `-' の場合は標準入力がトラックとして使われる。 この場合は stdin (標準入力)
       から 1 つのトラックだけが読み込まれる。

一般的なオプション

       一般オプションはトラックファイル名や トラックオプションより前に指定しなければならない。

       -version
              バージョン情報を表示して、終了する。

       -v     一般的な表示の詳細度を 1 つ上げる。  例えば、書き込み処理の進捗状況を表示するために
              使われる。

       -V     SCSI  コマンド転送に関する表示の詳細度を 1 つ上げる。 CD レコーダにおける書き込み処
              理での問題をデバックするのに役立つ。 簡単なエラーメッセージしか表示されない場合は、
              このフラグを使って詳細な表示を行わせることができる。  -VV  を指定すると、データバッ
              ファの内容も表示される。 -V-VV を使うと、処理が遅くなりバッファアンダーランの原
              因になるかもしれない。

       debug=#, -d
              (debug=#  を使って) その他のデバッグレベルを # に設定する。 または (-d を使って) デ
              バッグレベルを 1 つ上げる。 -dd を指定した場合、 debug=2 と等しくなる。 libscg でド
              ライバをオープンする際の問題や、 セクタサイズとセクタタイプの問題を発見するのに役立
              つ。 -debug を使うと、処理が遅くなりバッファアンダーランの原因になるかもしれない。

       kdebug=#, kd=#
              scg ドライバに対して、SCSI コマンドを動作させているときの  カーネルデバッグレベルを
              変更させる。

       -silent, -s
              SCSI コマンドが失敗したときの状況報告を表示させない。

       -force エラーが起こった場合でも処理を続行させる。  このオプションは、壊れた CD-RW ディスク
              を空にできるように、 いくつかのトリックを使って実装している。

       -dummy 記録プロセスの全ての段階を CD レコーダに行わせるが、 処理中にレーザーをオフにしてお
              く。 システムにおけるタイミングと負荷がかかった場合の応答が不明な場合は、 実際に CD
              に書き込む前に何回かテストしておくことを薦める。

       -dao   Disk At Once モードに設定する。 今のところ、non raw Session At Once  モードをサポー
              トしている MMC ドライブでしか動作しない。

       -multi マルチセッション CD の作成を可能にする。 メディアの最後のセッションを作成するのでな
              ければ、 マルチセションディスクの全てのセッションについて、  このオプションを指定す
              る必要がある。 CD レコーダが後でセッションを追加できるように修正を行う。 次のプログ
              ラム領域へのリンクを含んだ TOC が作成される。 ここで作成されたメディアは、  (CDplus
              以外の) 製品版 CD とは 100% 互換ではない。 マルチセッション CD の記録だけに使用する
              こと。 このオプションを指定した場合、デフォルトのトラックタイプは CD-ROM XA mode  2
              である。 Sony 製のドライブはハードウェアが CD-ROM XA mode 2 に対応していない。 この
              ようなドライブでマルチセッションのディスクを作成するためには、 -data オプションを指
              定しなければならない。 cdrecord はデータセクタをオーディオセクタに変換する コーダー
              を備えていないので、 マルチセッションディスクを DAO/SAO  モードで記録したい場合は、
              -data オプションをつけて CD-ROM セクタをマルチセッションにしなければならない。 全て
              のドライブがマルチセッション CD の DAO/SAO モードに対応している訳ではない。

       -msinfo
              mkisofs-1.10 以降に適した形式のマルチセッション情報を取得する。

              このオプションは、少なくとも 1 つの閉じたセッションがあり、  セッションを追加できる
              (まだ閉じられていない) CD のみで動作する。 この操作に適さないディスクからマルチセッ
              ション情報を取得しようとした場合、 エラーメッセージを出すドライブもある。

       -toc   CD の table of content (内容一覧) または PMA を取得して表示する。  このオプションを
              使うと、 cdrecord は CD-R ドライブと CD-ROM ドライブで動作する。

       -atip  CD-R メディアや CD-RW メディアの ATIP (absolute Time in Pregroove) 情報を取得して表
              示する。 このオプションを使うと、  cdrecord  は  ATIP  情報を取得する。  ドライブが
              ATIP     情報の読み取りに対応していない場合、  記録されている情報の一部もしくは何も
              表示されない。 ATIP 情報の読み取りは、 MMC 互換のわずかなドライブでしかサポートされ
              ていない。

              cdrecord  が最初のセッションの lead-in start time を取得できる場合、 メディアにかか
              れた製造者情報をデコードして表示しようとする。

       -fix   ディスクの固定 (fixated) のみを行う (つまり、CD-R の TOC が書き込まれる)。 何らかの
              理由により、ディスクには書かれたが固定が行われなかった場合に、 このオプションを使う
              ことができる。 現在のところ、このオプションは昔の TEAC 製ドライブ (CD-R50S  と  CD-
              R55S) では動作しない。

       -nofix トラックを書き込んだ後にディスクを固定しない。 このオプションはオーディオディスクを
              段階的に作成するために使用できる。 固定していないディスクは、一般には CD を記録する
              ドライブ以外では使えないが、 このようなディスクを再生できるオーディオ CD プレーヤも
              ある。

       -waiti SCSI ドライバをオープンする前に、標準入力からの入力が可能になるのを待つ。  このオプ
              ションを使うと  cdrecord がマルチセッションディスクに追加セッションを書き込んでいる
              間でも、 パイプからの入力を読み取ることができるようになる。  マルチセッションディス
              クに追加セッションを書き込んでいる場合、 mkisofs は出力を書き出す前に前のセッション
              を読み込む必要がある。 標準入力からの入力が可能になるのと同時に、 cdrecord が  SCSI
              ドライバをオープンする場合は、このオプションを使用できない。

       -load  メディアをロードして終了する。 このオプションはトレーのロード機構があるドライブでし
              か動作しないが、 Kodak のディスクトランスポータを使う場合にも便利である。

       -eject 動作後にディスクを取り出す。 (Philips などの) いつかのデバイスでは、 新しいディスク
              を作成する前にメディアを取り出す必要がある。 これらのデバイスでは、 -dummy テストを
              した直後に実際のディスクを作成できない。

       speed=#
              書き込みプロセスの速度ファクタを # にする。 #  はオーディオ速度の何倍の速さにするか
              を表す整数である。  オーディオ速度は  CD-ROM  では約 150 KB/s、 CD-Audio では約 172
              KB/s である。 speed オプションを指定しない場合、 cdrecord は環境変数 CDR_SPEED から
              速度を取得する。  speed=2  または speed=4 で問題がある場合、 speed=0 を試してみるこ
              と。

       blank=type
              CD-RW を空 (blank) にして終了する。または、書き込む前に CD-RW を空にする。 空にする
              方法は以下のいずれかである。

              help        空にする方法の一覧を表示する。

              all         ディスク全体を空にする。長い時間がかかる。

              fast        最小限の手間でディスクを空にする。 PMA, TOC, pregap を消去する。

              track       トラックを空にする。

              unreserve   予約済みトラックの予約を解除する。

              trtail      トラックの末尾を空にする。

              unclose     最後のセッションを閉じない。

              session     最後のセッションを空にする。
       このオプションを  -force  フラグと一緒に使うと、  -force  フラグなしでは空にできない CD-RW
       ディスクを空にすることができる。 ドライブの中にはある種の壊れた CD-RW ディスクの消去を  続
       行することができないものもあるので、  blank=all  を指定する必要があるかもしれない。 -force
       が指定された場合、 cdecord はできる限りのことを行うが、空にする操作が成功するか否かは、 最
       終的にはドライブのファームウェアに依存する。

       fs=#   fifo  (リングバッファ)  サイズを # にする。 このオプションは dd(1), sdd(1), star(1)
              のものと同じ方法で使うことができる。 他の単位が指定されない限り、サイズはバイト数で
              あるとする。 数字の直後に `b', `k', `m', `s', `f' を付けることができる。 それぞれサ
              イズが 512, 1024, 1024*1024, 2048, 2352 倍であることを表す。 `x' や `*'  で区切って
              サイズを指定した場合、2  つの数の掛け算が行われる。 よって、 fs=10x63k は fifo のサ
              イズを 630 kB に指定したことになる。

              fs= 引き数で指定されたサイズには、管理に必要な共有メモリの分も含まれている。 このメ
              モリの大きさは、少なくとも  1 ページである。 fs= オプションが指定されていない場合、
              cdrecord は fifo のサイズを環境変数 CDR_FIFOSIZE から取得する。  デフォルトの  fifo
              サイズは、現在のところ 4 MB である。

              fifo   はリアルタイム書き込みプロセスのバッファを増やすために使われる。  これによっ
              て、 mkisofscdrecord をパイプで直接つないで動作させることができる。 fifo がアク
              ティブで、かつ  CD  を作成するために mkisofs から cdrecord へのパイプを使った場合、
              cdrecord が書き込みをする前に mkisofs が落ちると、 cdrecord  はディスクの何も変更せ
              ずに終了する。 推奨される fifo サイズは 4 〜 32 MB である。 経験則として、fifo サイ
              ズは少なくとも CD レコーダの内部バッファのサイズと同じなければならない。 また、マシ
              ンで使用されている RAM の物理サイズの半分以下でなければならない。 fifo サイズが充分
              大きい場合、 fifo empty count が 0 で、fifo min fill が 20%  以上であるという  fifo
              の統計情報が表示される。 fifo のためにあまり多くのメモリ量を使わない方がよい。 他に
              何もしていないマシンで、 CD を書き込むのに 8 MB 以上のメモリが必要になるのは、 マシ
              ンパワーが足りないか、ハードウェアに問題があるか、   設定が間違っている場合である。
              (Sparcstation-2 などの) sun4c アーキテクチャでは、 1  プロセス当たりの  MMU  ページ
              テーブルエントリは  16MB  しかない。  sun4c では fifo に 14 MB 以上を使うと、 OS が
              MMU テーブルを絶えず再読み込みするために非常に時間がかかる。  Sun  の新しいマシンで
              は、このような MMU のハードウェア問題はない。 PC ハードウェアがこの問題に影響される
              かについての情報はない。

              バッファアンダーランやそれと同様な問題があり、かつ fifo empty count が 0 であるとい
              う表示がされる場合は、 ハードウェア上の問題がある。 この場合、fifo のサイズは充分で
              ある。

       dev=target
              CD レコーダの SCSI target を設定する。上記を参照。 一般的なデバイス指定では dev=6,0
              である。 数値での target 指定の他に、 ファイル名も指定しなければならない場合、 その
              ファイル名は実装依存である。 この場合の正確なファイル名は、 対象とする OS  の独自の
              マニュアルに書かれているだろう。   CAM  をサポートしてない  FreeBSD  システムでは、
              (/dev/rcd0.ctl などの) 制御デバイスを使う必要がある。  この場合の正確なデバイス指定
              は、 dev=/dev/rcd0.ctl:@ である。

              Linux では、パラレルポートアダプタに接続されたデバイスは、 仮想 SCSI bus に対応付け
              される。 別のパラレルポートアダプタは、 この仮想 SCSI bus の別の target  に対応付け
              される。

              dev  オプションが指定されていない場合、 cdrecord は環境変数 CDR_DEVICE からデバイス
              を取得しようとする。

              dev=  オプションの引き数に文字   ',',   '/',   '@',   ':'   がない場合、   ファイル
              /etc/default/cdrecord  に書かれたラベル名として扱われる (「ファイル」セクションを参
              照すること)。

       timeout=#
              SCSI コマンドのデフォルトのタイムアウトを # 秒にする。 SCSI  コマンドのデフォルトの
              タイムアウトは、  SCSI コマンドを送る際の最短タイムアウトとして使われる。 SCSI コマ
              ンドがタイムアウトにより失敗した場合、 タイムアウトの値を失敗したコマンドの  デフォ
              ルトのタイムアウトより長くすることができる。 タイムアウトを長くしてコマンドが正常に
              動作した場合は、 成功したときのタイムアウト時間とそのコマンドを、  このプログラムの
              著者に知らせて下さい。  timeout オプションが指定されない場合、 デフォルトのタイムア
              ウト 40 秒が使われる。

       driver=name
              このオプションを指定すると、 デバイスに対してユーザーが指定したドライバ名を使える。
              使用可能なドライバのリストを取得するには、  driver=help を使うこと。 このオプション
              は存在するのは、 サポートされているドライブに似ているが、 cdrecord が直接検出できな
              いドライブで cdrecord を使うことができるようにするためである。 このオプションは細心
              の注意を払って使用すること。 デバイスに合わないドライバを使うと、  ディスクを使えな
              くしてしまう可能性が高くなる。 合わないドライバを使った場合、最も良くても -speed ま
              たは -dummy が動作しない。

              リストには cdr_simuldvd_simul という 2 つの特別なドライバエントリがある。  これ
              らのドライバエントリは、いろいろなスピードでのタイミングテストや、  -dummy オプショ
              ンに対応していないドライバでのタイミングテストを  行うために作られている。   シミュ
              レーションドライバは、バッファサイズが  1MB  のドライブを実装している。  また、この
              バッファサイズは環境変数 CDR_SIMUL_BUFSIZE で変更できる。  シミュレーションドライバ
              はバッファアンダーランも正しくシミュレートする。     -dummy    オプションを指定する
              と、バッファアンダーランの場合でも終了しない。

       driveropts=option list
              ドライバ特有のオプションを設定する。 オプションはコンマで区切ったリストで指定する。
              使用可能なオプションのリストを取得するには、  driveropts=help-checkdrive オプ
              ションと一緒に指定すること。 現在のところ、 burnproof  オプションのみが実装されてい
              る。  これは Sanyo BURN-Proof 技術を使っているドライブで、 バッファアンダーラン検証
              書き込み (Buffer Underrun Proof writing) に対応するためのものである。

       -checkdrive
              現在のドライブに対応したドライバが存在するかをチェックして、終了する。 ドライブが既
              知のものであれば、 cdrecord は終了コード 0 で終了する。

       -prcap SCSI-3/mmc  互換ドライブでモードページを 0x2A としたときに取得できる ドライブの機能
              を表示する。 kB のマークがあるものは、1000 バイトを kilo-byte とする。 また  KB  の
              マークがあるものは、1024 バイトを Kilo-byte とする。

       -inq   ドライブから情報の取得 (inqurity) を行い、 取得された情報を表示して、終了する。

       -scanbus
              全ての  SCSI  バス上のドライブをスキャンし、  取得できた文字列を表示する。 このオプ
              ションは、システム上の CD レコーダの SCSI アドレスを 知るために使われる。  ラベルに
              使われる数字は bus * 100 + target で計算される。

       -reset CD  レコーダのある SCSI バスをリセットする。 このオプションは全ての OS 上で動作する
              わけではない。

       -ignsize
              メディアの既知のサイズを無視する。 このオプションは特に注意して使うべきである。  こ
              のオプションはデバッグのためだけに存在するので、  他の目的に使用してはならない。 通
              常の容量以上にディスクに書き込む必要はない。

       -useinfo
              audio  オプションを上書きするのに   *.inf   ファイルを使う。   このオプションを使う
              と、*.inf ファイルから プレギャップサイズ情報を読み込む。 *.inf ファイルは 1 トラッ
              ク毎のオーディオデータが書かれた ファイルと関連づけられる。

       defpregap=#
              第 1 トラック以外の全てのトラックのデフォルトのプレギャップサイズを設定する。  この
              オプションは現在のところ、  track-at-once ディスクを作成する際に 各トラックの先頭に
              2 秒の無音領域がない場合には、 TEAC ドライブでしか機能しない。
              このオプションは将来なくなるかもしれない。

       -packet
              packet writing mode に設定する。 これは実験的なインターフェースである。

       pktsize=#
              パケットサイズを # に設定し、修正パケットモードを使わせる。  これは実験的なインター
              フェースである。

       -noclose
              現在のトラックを閉じない。パケット書き込みモードでのみ役立つ。   これは実験的なイン
              ターフェースである。

       mcn=med_cat_nr
              CD の メディアカタログ番号 (Media Catalog Number)med_cat_nr に設定する。

トラックオプション

       トラックオプションはトラックファイル名と合わせて指定する。

       isrc=ISRC_number
              次のトラックの 国際標準録音資料コード (International Standard  Recording  Code)ISRC_number にする。

       index=list
              次のトラックのインデックスリストを設定する。 インデックスリストは、コンマで区切られ
              た数値のリストで、 インデックスは 1 から始める。  このリストの最初のエントリには  0
              が書かれていなければならない。 以降はこれより大きな数値が順番にリストされていなけれ
              ばならず、 それぞれの数値は 1 単位を 1/75 秒として、インデックスの開始を表す。 イン
              デックスリストは以下のような形式である:  0,7500,15000 はインデックス 1 を開始トラッ
              クとし、 インデックス 2 を開始トラックから 100 秒後、 インデックス 3 を開始トラック
              から 200 秒後とする。

       -audio このフラグが指定されると、以降の全てのトラックが (Red Book と同じ) CD-DA オーディオ
              フォーマットで書かれる。 このトラック用のデータファイルは、 ステレオ 16-bit  デジタ
              ルオーディオデータで、  サプリングレートは 1 秒あたり 44100 回にすべきである。 バイ
              トオーダーは、MSB left, LSB left, MSB right, LSB right, MSB left, ...  というように
              する。 トラックは 2352 バイトの倍数にする。 書き込みプロセスにおいて、データが 2352
              バイトの倍数で読み込まれるので、 オーディオトラックのマスタイメージを raw  ディスク
              におくことはできない。

              ファイル名が  .au  または .wav で終る場合、ファイルは構造化オーディオファイルデータ
              ファイルとして扱われる。 この場合 cdrecord は、ファイルを Sun  オーディオファイルま
              たは Microsoft .WAV ファイルと仮定して、 オーディオヘッダ情報以外をスキップしてオー
              ディオデータを抽出する。 それ以外の場合は、オーディオデータストリームに  ヘッダが含
              まれていないときにしか cdrecord は正常に動作しない。 多くの構造化オーディオファイル
              は 長さが (1/75 秒の) ブロックの倍数でないので、 -pad  オプションも指定しなければな
              らないことが多い。  cdrecord は .WAV ファイルのオーディオデータが Intel (リトルエン
              ディアン) バイトオーダーで書かれていると認識して、 CD  レコーダがビッグエンディアン
              のデータを必要としているときには、  データのバイト交換を行う。 cdrecord は、(1 秒あ
              たり 44100 回の 16 ビットステレオサンプリングを行い PCM コーディングする) Red  Book
              の必要条件を満たさない オーディオファイルの使用を拒否する。

              他の構造化オーディオデータ形式を cdrecord の入力に使う場合は、 データの構造が上記の
              (ビッグエンディアンバイトオーダー) 構造であれば、 通常は動作する。 しかし、データ形
              式にヘッダが含まれている場合は、   トラックの開始時にクリック音が聞こえてしまうだろ
              う。

              -data-audio がどちらも指定されていない場合、 cdrecord は、ファイル名が .au また
              は  .wav で終るときは -audio をデフォルトとし、 それ以外のときは -data をデフォルト
              とする。

       -swab  このフラグが指定されている場合、オーディオデータは バイトスワップ (リトルエンディア
              ン)  オーダーであると仮定する。 Yamaha, Sony, new SCSI-3/mmc などの CD ライタでは、
              オーディオデータがリトルエンディアンオーダーでなければならない。 他の  CD  ライタで
              は、オーディオデータは  SCSI プロトコルで使われる ビッグエンディアン (ネットワーク)
              バイトオーダーなければならない。 cdrecord は、CD レコーダがビッグエンディアンのオー
              ディオデータを必要とするのか、 リトルエンディアンのオーディオデータを必要とするのか
              を認識して、   データストリームのバイトオーダーをレコーダの必要にあったものに修正す
              る。 -swab フラグが必要になるのは、データストリームが Intel (リトルエンディアン) バ
              イトオーダーの場合のみである。

              cdrecord の詳細な出力には、入力データをレコーダが必要とする  バイトオーダーに合わせ
              るのために入れ換える必要があるかが表示される。  cdrecord-swab フラグが実際にト
              ラックに指定されているかどうかは表示しない。

       -data  このフラグが指定されている場合、これ以降の全てのトラックは CD-ROM  mode  1  (Yellow
              Book) フォーマットで書き込まれる。 データは 2048 バイトの倍数である。 The file with
              track data should contain an トラックデータのファイルは、 ISO-9660 または RockRidge
              ファイルシステムイメージでなければならない (詳細は mkisofs を参照すること)。 トラッ
              クデータが ufs ファイルシステムイメージの場合、 フラグメントサイズを 2 KB  バイトに
              設定するれば、 セクタサイズが 2 KB の CD ドライブを読み込みに使うことができる。

              他のフラグが指定されていない場合、-data がデフォルトである。

              -data-audio がどちらも指定されていない場合、 cdrecord は、ファイル名が .au また
              は .wav で終るときは -audio をデフォルトとし、 それ以外のときは -data  をデフォルト
              とする。

       -mode2 このフラグが指定されると、これ以降の全てのトラックは CD-ROM mode 2 フォーマットで書
              き込まれる。 データは 2048 バイトの倍数である。

       -xa1   このフラグが指定されると、これ以降の全てのトラックは CD-ROM XA mode 1  フォーマット
              で書き込まれる。 データは 2048 バイトの倍数である。

       -xa2   このフラグが指定されると、これ以降の全てのトラックは  CD-ROM XA mode 2 フォーマット
              で書き込まれる。 データは 2048 バイトの倍数である。

       -cdi   このフラグが指定されると、これ以降の全てのトラックは  CDI  フォーマットで書き込まれ
              る。 データは 2048 バイトの倍数である。

       -isosize
              ISO-9660  ファイルシステムサイズを次のトラックのサイズとする。 raw ディスクパーティ
              ションまたはマスタ CD から トラックのイメージを読み込ませたい場合、  このオプション
              が必要になる。  raw ディスクパーティションの場合は、 CD のサイズを ISO ファイルシス
              テムのサイズに制限するために -isosize オプションが必要となる。 マスタ CD の場合は、
              track  at once モードのときに CD レコーダに 2 つのランアウト (run out) ブロックを読
              み込ませないために、 -isosize オプションが必要になる。 この 2  つのランアウトブロッ
              クは読み込むことができず、 defective コピーを引き起こすバッファアンダーランの原因に
              なる。 cdrecord がトラックデータを stdin から読み込む場合には、このオプションを使っ
              てはならない。  今のところ -multi オプションが指定されている場合には、 ファイルシス
              テムのサイズを決定するために、このオプションを使うことはできない。

       -pad   データトラックの場合は、 各データトラックの後ろにデータ 0  が  15  セクタ分追加され
              る。  この場合、  -pad  オプションは padsize= オプションによって上書きされる。 ただ
              し、このオプションは padsize=15s の省略形のままである。 -pad がオーディオトラックを
              参照している場合、  cdrecord はオーディオデータが 2352 バイトの倍数になるようにデー
              タを埋め込む。 詰め込まれるオーディオデータはバイナリの 0 であり、 全くの無音状態と
              等しい。

              -pad-nopad によって無効にされるまで有効であり続ける。

       padsize=#
              次のトラックに詰め込まれるデータ  0 の数を # に設定する。 -pad オプションの動作とは
              反対に、新たなトラックでは padsize= の値が 0 にリセットされる。  使用可能な引き数は
              fs=  オプションを参照すること。  CD  ドライブがトラックの最終セクタを読み込めない場
              合、 または ISO-9660 ファイルシステムの先読みバグがある Linux システム上で CD  を読
              み込ませたい場合は、このオプションを使うこと。 空のファイルをトラックデータとして用
              いる場合、 このオプションは全てを 0 で埋めたディスクを作成するために使われる。

       -nopad 以降のトラックに対して 0 の埋め込みを行わない - これがデフォルトである。

       -shorttrack
              これ以降のトラックで、Red Book トラック長基準を破っても構わないことにする。  トラッ
              ク長は最短でも 4 秒なければならない。 このオプションは DAO モードで用いられた場合に
              のみ有効である。 全てのドライブがこの機能に対応しているわけではない。  ドライブは結
              果として得られる CUE シートを受け付けなければならない。

       -noshorttrack
              Red  Book  トラック長基準を再び守らせる。 トラックは少なくとも 4 秒でなければならな
              い。

       pregap=#
              次のトラックのプレギャップサイズを設定する。 このオプションは現在のところ、TEAC  製
              ドライブで 各トラックの前に 2 秒間の無音を入れずに track-at-once ディスクを作成する
              ときにしか動作しない。
              このオプションは将来なくなる。

       -preemp
              このフラグを指定すると、オーディオトラックの全ての TOC エントリは、  オーディオデー
              タが 50/15 μ秒のプレ・エンファシス (pre-emphasis) で サンプリングされているとする。
              ただし、このデータがファイルからディスクに移される際に変更されることはない。 このオ
              プションはデータトラックには何も影響しない。

       -nopreemp
              このフラグが指定されていると、 これ以降のオーディオトラックの TOC エントリは、 オー
              ディオデータのマスタがリニアデータとして作成されているものとする - これがデフォルト
              である。

       tsize=#
              次のトラックのマスタイメージが  raw ディスクに格納されている場合、 ディスク上の有効
              なデータ量を指定するために、このオプションを使うこと。 次のトラックのイメージが通常
              のファイルとして格納されている場合、 ファイルのサイズからそのトラックの長さを決定す
              る。 トラックに ISO 9660 ファイルシステムイメージがある場合は、  ファイルシステムイ
              メージの長さを決定するために -isosize オプションを使うこと。
              TEAC プログラミングインターフェースを使ういくつかのドライブでは、 Disk at Once モー
              ドでも Track at Once モードでも ディスクの書き込みを始める前に cdrecord  が各トラッ
              クのサイズを知る必要がある。 今のところ cdrecord はサイズをチェックして、書き込みを
              始める前に中止する。 このような現象が起こった場合は、 mkisofs -print-size  を実行し
              て、得られた結果を cdrecordtsize= オプションの引き数として使うこと。
              指定可能な引き数は fs= オプションを参照すること。

       以下の例では、CD  レコーダがマシンのプライマリ  SCSI バスに 接続されていると仮定している。
       SCSI ターゲット ID は 2 に設定されている。

       ファイル cdimage.raw にあるデータを使って単純な CD-ROM を 2 倍速で記録する:

           cdrecord -v speed=2 dev=2,0 cdimage.raw

       Rock Ridge 拡張された ISO 9660 ファイルシステムのイメージを作成する:

           mkisofs -R -o cdimage.raw /home/joerg/master/tree

       Solaris で CD を書き込む前に上の結果のファイルを検査する:

           mount -r -F fbk -o type=hsfs /dev/fbk0:cdimage.raw /mnt

       Linux では:

           mount cdimage.raw -r -t iso9660 -o loop /mnt

       以下のように続ける:
           ls -lR /mnt
           umount /mnt

       システム全体のスピードが充分で、 ファイルシステムの構造がそれほど複雑でない場合、 cdrecord
       は  ISO 9660 ファイルシステムのイメージを作成せずに実行できる。 単純にパイプラインで実行す
       ればよい:

           mkisofs -R /master/tree | cdrecord -v fs=6m speed=2 dev=2,0 -

       このパイプラインを実行するために推奨される最小の fifo サイズは 4 MB である。  デフォルトの
       fifo  サイズは 4 MB であるので、 別の fifo サイズを指定したい場合以外は fs= オプションを指
       定する必要はない。 システムに負荷がかかっている場合は、 mkisofs もリアルタイムクラスで実行
       すべきである。 mkisofs の優先度を上げるためには、コマンド

           mkisofs -R /master/tree

       を Solaris では

           priocntl -e -c RT -p 59 mkisofs -R /master/tree

       に、 UNIX International 互換のリアルタイムスケジューリングのないシステムでは

           nice --18 mkisofs -R /master/tree

       に変更する。

       Solaris  では cdrecord は優先度 59 で実行されるので、 mkisofs は優先度 58 以下で実行すべき
       である。 他のシステムでは nice -18 以上で mkisofs で実行すべきである。

       Sparcstation-2 で Yamaha CDR-400  を使って  ディスク上にファイルシステムイメージを置かずに
       CD-ROM  を作成するテストを行ってみたが、 マシンに負荷がかかっていない場合でも 4 倍速では動
       作しなかった。 より高速なマシンでは、負荷がかかった場合でも 4 倍速で動作できるだろう。

       track01.cdaudio, track02.cdaudio, ...  というファイルに各トラックのデータがある場合に、 単
       純な CD-DA (オーディオ) を等速で記録するには:

           cdrecord -v speed=1 dev=2,0 -audio track*.cdaudio

       上の例が 2 倍速でできるかをチェックするためには、 dummy 書き込みオプションを使うこと:

           cdrecord -v -dummy speed=2 dev=2,0 -audio track*.cdaudio

       最初のトラックは  ISO  9660  ファイルシステム  cdimage.raw、  それ以外は  track01.cdaudio,
       track02.cdaudio, ...  というオーディオトラック、というようなミックスモード CD を記録するに
       は:

           cdrecord -v -dummy dev=2,0 cdimage.raw -audio track*.cdaudio

       書き込みを始める前にトラックのサイズを知らせる必要がある ドライブを操作するには、最初に

           mkisofs -R -q -print-size /master/tree

       を実行し、次に

           mkisofs -R /master/tree | cdrecord speed=2 dev=2,0 tsize=XXXs -

       を実行する。 ここで XXX は先に実行した mkisofs の出力で置き換える。

       オーディオ CD を最も正確な方法で複製するには、 最初に

           cdda2wav -v255 -D2,0 -B -Owav

       を実行し、次に

           cdrecord -v dev=2,0 -dao -useinfo  *.wav

       を実行する。

環境変数

       CDR_DEVICE
              SCSI     転送ライブラリの     open     コールに適したデバイス識別子と、    ファイル
              /etc/default/cdrecord にかかれたラベルを設定できる。

       CDR_SPEED
              デフォルトの書き込みの速度を設定する (-speed オプションを参照)。

       CDR_FIFOSIZE
              FIFO のデフォルトサイズを設定する (fs=# オプションを参照)。

ファイル

       /etc/default/cdrecord
              デフォルトの値は、/etc/default/cdrecord  にある以下のオプションで設定できる。  例え
              ば、 CDR_FIFOSIZE=8m や CDR_SPEED=2 のように設定できる。

              CDR_DEVICE
                     SCSI   転送ライブラリの   open   コールに適したデバイス識別子と、   ファイル
                     /etc/default/cdrecord にかかれたラベルを設定できる。  これによりシステム上の
                     特定のドライブを識別できる。

              CDR_SPEED
                     デフォルトの書き込みの速度を設定する (-speed オプションを参照)。

              CDR_FIFOSIZE
                     FIFO のデフォルトサイズを設定する (fs=# オプションを参照)。

              その他のラベル
                     システム上の特定のドライブを識別する。  識別子は文字 ',', '/', '@', ':' を含
                     んではならない。

                     ラベルに続く行には、タブで区切られたアイテムのリストが書かれる。    今のとこ
                     ろ、ドライブの  SCSI ID・ドライブのデフォルトの速度・ デフォルトの FIFO サイ
                     ズ、という3 つのアイテムが認識される。 speedfifosize の値を -1  に設定す
                     ると、cdrecord はグローバルのデフォルト値を使う。 典型的な例としては以下のよ
                     うものである:

                     teac1= 0,5,0   4    8m

                     yamaha= 1,6,0  -1   -1

                     これは cdrecord に対して、 teac1 という名前のドライブが scsibus 0, target 5,
                     lun 0 にあり、 速度を 4 倍速、FIFO サイズを 8 MB にすることを指示する。 2 番
                     目のドライブは scsibus 1, target 6, lun 0 にあり、  デフォルトの速度とデフォ
                     ルトの FIFO サイズを使う。

関連項目

       cdda2wav(1), readcd(1), scg(7), fbk(7), mkisofs(8).

注意

       Solaris において USCSI フォールバック SCSI 転送コードを使いたい場合は、 ボリューム管理を停
       止する必要がある。 ボリューム管理が動作していると、 cdrecord -scanbus すらも動作しない。

       Track At Once モードで作られたディスクは、CD 製造業者によって 大量生産される製品のマスタに
       は向いていない。  このようなディスクを記録するには disk at once オプションを指定する必要が
       ある。 Track At Once で作られたディスクは、通常はどの CD  プレーヤでも読めるが、  古いオー
       ディオ CD プレーヤのなかには オーディオトラックの間に 2 秒間のクリック音を出してしまうもの
       もある。

       トラックの最小サイズは 4 秒または 300 セクタである。  これよりも小さいトラックを書き込んだ
       場合、  CD レコーダがダミーブロックを追加する。 これが SCSI エラーメッセージに現れたとして
       もエラーではない。

       cdrecord は、SparcStation 20/502 上のアップグレードされた Philips CDD-521 レコーダで  等速
       と  2  倍速でテストして問題がなかった。 もっと遅いコンピュータシステムでも動作するだろう。
       Philips/HP/Plasmon/Grundig の新しいドライブでも、 Yamaha の CDR-100 と CDR-102  でも動作す
       る。 Plasmon RF-4100 でも動作するが、マルチセッションについてはテストしていない。 アップグ
       レードされていない Philips CDD-521 では動作しない。  Sony  CDU-924  をテストしたが、ハード
       ウェアが  XA-mode2  に対応していない。 よって Sony 製ドライブでは適合した マルチセッション
       ディスクを作成することはできない。 Ricoh RO-1420C でも動作するが、 speed=2  で使うと問題が
       発生することがあるようなので、 このような場合には speed=0 を試してみること。

       Yamaha CDR-400 や SCSI-3/mmc に適合した全ての新しいドライブは、 シングルセッションとマルチ
       セッションに対応している。

       不明なシステム上で cdrecord を使う場合は、 -dummy オプションをオンにして、ドライブでサポー
       トされている  全ての速度について何回かテストすべきである。 CD の書き込みはリアルタイムプロ
       セスである。 NFS は必要とされるデータ転送率を絶えず提供するわけではない。 NFS でマウントさ
       れたファイルシステム上にある  CD イメージを cdrecord で使いたい場合は、fifo サイズが充分大
       きいこと確認すること。  cdrecord  を  SS20/502  において中間的な負荷状態で使用したことや、
       Sparcstation-2 においてかなりの負荷状態で 4 倍速で使用したこともあるが、 CD を書き込むとき
       はシステムの負荷を出来る限り軽くしておくことを勧める。    読み込み元のディスクが原因でバッ
       ファアンダーランが起こっていないことを 確認したいなら、コマンド

           cdrecord -dummy dev=2,0 padsize=600m /dev/null

       を実行して、全てをダミーデータから作ったディスクを作成すればよい。 cdrecord は、 /dev/scg?
       デバイスノードにアクセスして、 プログラム自身をメモリ内にロックできるように、 root  で実行
       する必要がある。

       システム上でユーザーが root になるのを許可したくない場合は、 cdrecord を root に suid する
       ことで安全にインストールできる。 これにより、root 権限を持たない全てのユーザーやユーザーの
       グループが  cdrecord を使うことができる。 この場合 cdrecord は、実際のユーザーが特定のファ
       イルを読めるかを調べる。 全てのユーザーに cdrecord  を使う権限を与えたいならば以下を実行す
       る:

            chown root /usr/local/bin/cdrecord
            chmod 4711 /usr/local/bin/cdrecord

       特定のユーザーのグループに cdrecord を使う権限を与えたいならば以下を実行する:

            chown root /usr/local/bin/cdrecord
            chgrp cdburners /usr/local/bin/cdrecord
            chmod 4710 /usr/local/bin/cdrecord

       そして、システムの cdburners グループに追加する。

       ディスクの読み込み・書き出し・フォーマットを  全てのユーザーに許可したい場合を除き、  root
       以外のユーザーに /dev/scg?  への書き込みを許可してはならない。

       CD レコーダや読み込み元のディスクが接続された SCSI バスに、 切断や再接続に対応していない昔
       のディスクを接続するべきではない。

       CD には 99 トラック以上は入らない。

       オーディオトラックとデータトラックが両方入ったディスクを作成する場合は、  データをトラック
       1 に入れるべきである。 そうでなければ CDplus ディスクを作成するべきである。 CDplus  は、最
       初のセッションがオーディオトラックで、  以降のセッションがデータトラックになったマルチセッ
       ションディスクである。

       多くの OS ではデータトラックが 1 つしか読み出せない。 また読むためには特別のソフトが必要で
       ある。

       HP 製 CD レコーダの SCSI コマンドセットについての 詳しい情報は以下で入手できる。

            http://www.hp.com/isgsupport/cdr/index.html

       もっと詳しい情報や、現在対応していないCD  レコーダの SCSI コマンドマニュアルがあったら、著
       者に連絡してください。

       Philips CDD 521 にはファームウェアのバグがある。 (アップグレードされたものにもある)。 これ
       らうちのいくつかは、デバイスの電気の周波数を ある固定のものにしなければならず、 そうしない
       場合にはマシンをリブートしなければならない。

       壊れた Linux SCSI generic drivercdrecord を使う場合、 cdrecord は scg ドライバの機能を
       エミュレートを試みるという対処療法を使う。 不幸なことに、 Linux の sg ドライバには以下のよ
       うな酷いバグがある:

       •      SCSI コマンドが全く送られていないかを調べることができない。

       •      SCSI status バイトを取得できない。 このため、 cdrecord は失敗した SCSI コマンドをあ
              る状況下では報告できない。

       •      転送時の実際の DMA カウントを取得できない。 cdrecord は、DMA の残余カウントがあるか
              をユーザーに知らせることができない。

       •      auto sense データのうち有効なバイト数を取得できない。 cdrecord は、認識したデータを
              デバイスが全く転送していないかを ユーザーに知らせることができない。

       •      auto  request  sense では非常に少ないデータしか取得できない (CCS/SCSI-2/SCSI-3 では
              18 以上でなければならない)。

       fifo   率の表示は、CD   レコーダにデータブロックが書き込まれた直後に計算される。    このた
       め、fifo がストリーミングモードであるにもかかわらず、 100% fifo fill になることはない。

返り値

       以下のようなメッセージが表示されてから、 9 秒間の間に ^C で cdrecord を中止できる。

       Starting to write CD at speed %d in %s mode for %s session.

       SCSI コマンドの典型的なエラーメッセージは以下のようなものである:

              cdrecord: I/O error. test unit ready: scsi sendcmd: no error
              CDB:  00 20 00 00 00 00
              status: 0x2 (CHECK CONDITION)
              Sense Bytes: 70 00 05 00 00 00 00 0A 00 00 00 00 25 00 00 00 00 00
              Sense Key: 0x5 Illegal Request, Segment 0
              Sense Code: 0x25 Qual 0x00 (logical unit not supported) Fru 0x0
              Sense flags: Blk 0 (not valid)
              cmd finished after 0.002s timeout 40s

       1 行目はコマンドの転送についての情報である。 最初のコロンのあとの文字列は、 カーネルの視点
       からみたシステムコールのエラーである。 他の問題が起こらないときに、一般的なのは I/O  error
       である。 次の文字列は失敗した SCSI コマンドの簡単な説明である。 残りの部分は SCSI バス越し
       にコマンドを転送する際に 問題が発生したことを示す。 fatal error はコマンドを転送できなかっ
       たことを示す (つまり、要求された SCSI アドレスにデバイスが存在しなかった)。

       2 行目には失敗したコマンドの SCSI コマンドの ディスクリプターブロックが表示される。

       3 行目には、コマンドの転送が成功した場合に、 コマンドによって返される SCSI status コードに
       ついての情報が表示される。 これは SCSI デバイスからのエラー情報である。

       4 行目はコマンドの auto request sense 情報の 16 進ダンプである。

       5 行目は (もし存在すれば) sense  key  のエラー文字列である。  コマンドが  copy  の場合にの
       み、セグメント番号が続く。      エラーメッセージが現在のコマンドに直接関係していない場合、
       deferred error という文字列が表示される。

       6 行目は sense code のエラー文字列である。 存在する場合には sense qualifier も表示される。
       デバイスのタイプが既知の場合、  sense data は scsierrs.c" にあるテーブルを用いてデコードさ
       れる。 その文字列の後には field replaceable unit についてのエラー値が続く。

       7 行目には、失敗したコマンドに関連したブロック番号と  エラーフラグ文字列が表示される。  ブ
       ロック番号は有効ではないかも知れない。

       8  行目は、そのコマンドについて設定されたタイムアウトと、 実際にコマンドが完了するまでにか
       かった時間が表示される。

       以下のメッセージはエラーではない:
              Track 01: Total bytes read/written: 2048/2048 (1 sectors).
              cdrecord: I/O error. flush cache: scsi sendcmd: no error
              CDB:  35 00 00 00 00 00 00 00 00 00
              status: 0x2 (CHECK CONDITION)
              Sense Bytes: F0 00 05 80 00 00 27 0A 00 00 00 00 B5 00 00 00 00 00
              Sense Key: 0x5 Illegal Request, Segment 0
              Sense Code: 0xB5 Qual 0x00 (dummy data blocks added) Fru 0x0
              Sense flags: Blk -2147483609 (valid)
              cmd finished after 0.002s timeout 40s

       これは単に、最小サイズより小さいトラックを 300  セクタに拡張したことを知らせているだけであ
       る。

バグ

       cdrecord には ls よりも多くのオプションがある。

       現在のところ、  cdrecord は入力データがディスクに合わない場合に警告しか出さない。 コマンド
       を中止しないと、予想できない結果になる。

       オーディオトラックのインデックス番号を 書き込むオプションが存在するべきである。

       パワー不足の時に書き込まれたディスクを  修復して使えるようにするオプションが存在するべきで
       ある。

謝辞

       Bill Swartz    (Bill_Swartz@twolf.com)
                      TEAC ドライバのサポートに協力してくれた。

       Aaron Newsome  (aaron.d.newsome@wdc.com)
                      彼のドライブで Sony 製ドライブのサポートを開発させてくれた。

       Eric Youngdale (eric@andante.jic.com)
                      mkisofs を提供してくれた。

       Gadi Oxman     (gadio@netvision.net.il)
                      ATAPI 標準規格についてのいろいろな情報をもらった。

       Finn Arne Gangstad  (finnag@guardian.no)
                      最初の FIFO 実装をしてくれた。

       Dave Platt     (dplatt@feghoot.ml.org)
                      実験的なパケット書き込みの作成、  CD-RW  を空にする機能の最初の実装、  .wav
                      ファイルの最初のデコーダの実装、 cdrecord に関する有益な議論をしてくれた。

       Chris P. Ross (cross@eng.us.uu.net)
                      BSDI SCSI 転送を最初に実装してくれた。

       Grant R. Guenther   (grant@torque.net)
                      Linux におけるパラレルポート転送を最初に実装してくれた。

       Kenneth D. Merry (ken@kdm.org)
                      Michael Smith (msmith@freebsd.org) とともに、 FreeBSD の CAM ポートを提供し
                      てくれた。

メーリングリスト

       cdrecord の開発に積極的に参加したいなら、本文に subscribe と書いたメールを

            other-cdwrite-request@lists.debian.org

       へ送って、cdwriting メーリングリストに入ることができる。

            other-cdwrite@lists.debian.org

       がメーリングリストのアドレスである。

著者

       Joerg Schilling
       Seestr. 110
       D-13353 Berlin
       Germany

       その他の情報は以下で入手できる。
       http://www.fokus.gmd.de/usr/schilling/cdrecord.html

       サポートに関する質問は、

       cdrecord-support@berlios.de
       または other-cdwrite@lists.debian.org

       にメールを送ってください。

       明らかなバグを見付けた場合は、

       cdrecord-developers@berlios.de
       または schilling@fokus.gmd.de

       にメールを送ってください。

       メーリングリストを購読するには、

       http://lists.berlios.de/mailman/listinfo/cdrecord-developers
       または http://lists.berlios.de/mailman/listinfo/cdrecord-support

       を参照すること。