Manpages

名 前

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 [AT] lists.org へ 送 っ て 、 cdwriting メ ー リ ン グ リ ス ト に 入 る こ と が で き る 。

cdwrite [AT] lists.org が メ ー リ ン グ リ ス ト の ア ド レ ス で あ る 。

著 者

Joerg Schilling
Seestr. 110
D-13353 Berlin
Germany そ の 他 の 情 報 は 以 下 で 入 手 で き る 。
http://www.fokus.gmd.de/usr/schilling/cdrecord.html サ ポ ー ト に 関 す る 質 問 は 、

cdrecord-support [AT] berlios.de ま た は other-cdwrite [AT] lists.org に メ ー ル を 送 っ て く だ さ い 。 明 ら か な バ グ を 見 付 け た 場 合 は 、

cdrecord-developers [AT] berlios.de ま た は schilling [AT] fokus.de に メ ー ル を 送 っ て く だ さ い 。 メ ー リ ン グ リ ス ト を 購 読 す る に は 、

http://lists.berlios.de/mailman/listinfo/cdrecord-developers ま た は http://lists.berlios.de/mailman/listinfo/cdrecord-support を 参 照 す る こ と 。