READCD(1) | Schily´s USER COMMANDS | READCD(1) |
名前¶
readcd - データ CD を読み出す・書き込む書式¶
readcd dev=device [ options ]説明¶
readcd は 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 を使うことができる。オプション¶
dev= 以外のオプションが何も指定されていない場合、 readcd は対話モードになる。 対話モードでは、主要な機能を選択した後、指示に従って操作する。- -version
- バージョン情報を表示して、終了する。
- dev=target
- CD レコーダの SCSI target
を設定する。上記を参照。
一般的なデバイス指定では
dev=6,0 である。
数値での target
指定の他に、
ファイル名も指定しなければならない場合、
そのファイル名は実装依存である。
この場合の正確なファイル名は、
対象とする OS
の独自のマニュアルに書かれているだろう。
CAM
をサポートしてない
FreeBSD システムでは、
(/dev/rcd0.ctl などの)
制御デバイスを使う必要がある。
この場合の正確なデバイス指定は、
dev=/dev/rcd0.ctl:@ である。
- timeout=#
- SCSI コマンドのデフォルトのタイムアウトを # 秒にする。 SCSI コマンドのデフォルトのタイムアウトは、 SCSI コマンドを送る際の最短タイムアウトとして使われる。 SCSI コマンドがタイムアウトにより失敗した場合、 タイムアウトの値を失敗したコマンドの デフォルトのタイムアウトより長くすることができる。 タイムアウトを長くしてコマンドが正常に動作した場合は、 成功したときのタイムアウト時間とそのコマンドを、 このプログラムの著者に知らせて下さい。 timeout オプションが指定されない場合、 デフォルトのタイムアウト 40 秒が使われる。
- debug=#, -d
- (debug=# を使って) その他のデバッグレベルを # に設定する。 または (-d を使って) デバッグレベルを 1 つ上げる。 -dd を指定した場合、 debug=2 と等しくなる。 libscg でドライバをオープンする際の問題や、 セクタサイズとセクタタイプの問題を発見するのに役立つ。 -debug を使うと、処理が遅くなりバッファアンダーランの原因になるかもしれない。
- kdebug=#, kd=#
- scg ドライバに対して、SCSI コマンドを動作させているときの カーネルデバッグレベルを変更させる。
- -silent, -s
- SCSI コマンドが失敗したときの状況報告を表示させない。
- -v
- 一般的な表示の詳細度を 1 つ上げる。 例えば、書き込み処理の進捗状況を表示するために使われる。
- -V
- SCSI コマンド転送に関する表示の詳細度を 1 つ上げる。 CD レコーダにおける書き込み処理での問題をデバックするのに役立つ。 簡単なエラーメッセージしか表示されない場合は、 このフラグを使って詳細な表示を行わせることができる。 -VV を指定すると、データバッファの内容も表示される。 -V や -VV を使うと、処理が遅くなりバッファアンダーランの原因になるかもしれない。
- f=file
- -w
- 書き込みモードに変更する。 このオプションが指定されない場合、 readcd は指定されたデバイスから読み出しを行う。
- sectors=range
- 読み出しを行うセクタの範囲を指定する。 範囲は「開始セクタ番号-終了セクタ番号」という形式で指定する。
- -notrunc
- 出力ファイルをオープンするときに切り詰めない。
例¶
以下の例では、CD レコーダがマシンのプライマリ SCSI バスに 接続されていると仮定している。 SCSI ターゲット ID は 2 に設定されている。 CD-ROM のメディア全体を読み出して、ファイル cdimage.raw にデータを書き出す:readcd dev=2,0 f=cdimage.raw CD-ROM のセクタ範囲 150 〜 10000 を読み出して、ファイル cdimage.raw に書き出す:
readcd dev=2,0 sectors=150-10000 f=cdimage.raw ファイル cdimage.raw のデータ (例えば、 mkisofs で作成したファイルシステムイメージ) を DVD-RAM に書き出す:
readcd dev=2,0 -w f=cdimage.raw
ファイル¶
関連項目¶
cdrecord(1), mkisofs(1), scg(7), fbk(7).注意¶
システム上でユーザーが root になるのを許可したくない場合は、 readcd を root に suid することで安全にインストールできる。 これにより、root 権限を持たない全てのユーザーやユーザーのグループが readcd を使うことができる。 この場合 readcd は、CD-ROM タイプデバイスへのアクセスのみを許可する。 全てのユーザーに readcd を使う権限を与えたいならば以下を実行する: chown root /usr/local/bin/readcd- •
- SCSI コマンドが全く送られていないかを調べることができない。
- •
- SCSI status バイトを取得できない。 このため、 readcd は失敗した SCSI コマンドをある状況下では報告できない。
- •
- 転送時の実際の DMA カウントを取得できない。 readcd は、DMA の残余カウントがあるかをユーザーに知らせることができない。
- •
- auto sense データのうち有効なバイト数を取得できない。 readcd は、認識したデータをデバイスが全く転送していないかを ユーザーに知らせることができない。
- •
- auto request sense
では非常に少ないデータしか取得できない
(CCS/SCSI-2/SCSI-3 では 18
以上でなければならない)。
返り値¶
SCSI コマンドの典型的なエラーメッセージは以下のようなものである:readcd: 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
バグ¶
謝辞¶
メーリングリスト¶
cdrecord の開発に積極的に参加したいなら、本文に subscribe と書いたメールをへ送って、cdwriting メーリングリストに入ることができる。other-cdwrite-request@lists.debian.org
がメーリングリストのアドレスである。cdwrite@lists.debian.org
著者¶
Joerg Schilling Seestr. 110 D-13353 Berlin Germanyその他の情報は以下で入手できる。
Version 1.10 | Joerg Schilling |