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

名前

       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 を使うことができる。

       リモートの 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 デバイスにアクセスする。

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

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

オプション

       dev= 以外のオプションが何も指定されていない場合、 readcd は対話モードになる。  対話モードでは、主要な機能
       を選択した後、指示に従って操作する。

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

       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 秒が使われる。

       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
            chmod 4711 /usr/local/bin/readcd

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

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

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

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

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

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

       •      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

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

バグ

謝辞

メーリングリスト

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

            other-cdwrite-request@lists.debian.org

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

            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

       を参照すること。

Joerg Schilling                                   Version 1.10                                         READCD(1)