|
HOME > Linux Tips ( 目次 ) > Linux コマンド 一覧表 > r > readcd - コマンド (プログラム) の説明 readcd - コマンド (プログラム) の説明 - Linux コマンド集 一覧表名前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:
という形式である。
readcd
を全ての -2UNIX0 系プラットフォームで汎用的にするためには、
dev=
devicename
:
scsibus
,
target
,
lun
という書式が好ましい。
これによりデバイスについての各 OS 特有の知識を
ユーザーに対して隠蔽することができる。
またこれにより、実際のデバイスファイル名や
scsibus
,
target
,
lun
を指定する方法を、特定の OS 上でサポートする必要がなくなる。
scsibus
0 はマシンのデフォルトの SCSI バスである。
マシンの SCSI 設定についてのより詳細な情報は、
ブート時のメッセージや
/var/adm/messages
を参照すること。
scsibus
,
target
,
lun
にどのような値を指定してよいか分らない場合は、
cdrecord
の
-scanbus
オプションを使ってみること。
オプション
dev= 以外のオプションが何も指定されていない場合、 readcd は対話モードになる。 対話モードでは、主要な機能を選択した後、指示に従って操作する。
例
以下の例では、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
特定のユーザーのグループに readcd を使う権限を与えたいならば以下を実行する: chown root /usr/local/bin/readcd
そして、システムの cdburners グループに追加する。 ディスクの読み込み・書き出し・フォーマットを 全てのユーザーに許可したい場合を除き、 root 以外のユーザーに /dev/scg? への書き込みを許可してはならない。 CD レコーダや読み込み元のディスクが接続された SCSI バスに、 切断や再接続に対応していない昔のディスクを接続するべきではない。 壊れた "Linux SCSI generic driver" で readcd を使う場合、 readcd は scg ドライバの機能をエミュレートを試みるという対処療法を使う。 不幸なことに、 Linux の sg ドライバには以下のような酷いバグがある:
返り値
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 と書いたメールを へ送って、cdwriting メーリングリストに入ることができる。 がメーリングリストのアドレスである。 著者
Jorg Schilling Seestr. 110 D-13353 Berlin Germany その他の情報は以下で入手できる。
サポートに関する質問は、
cdrecord-support@berlios.de
にメールを送ってください。 明らかなバグを見付けた場合は、
cdrecord-developers@berlios.de
にメールを送ってください。 メーリングリストを購読するには、
http://lists.berlios.de/mailman/listinfo/cdrecord-developers
を参照すること。
|
|