File: readcd.1

package info (click to toggle)
manpages-ja 0.5.0.0.20210215%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 28,568 kB
  • sloc: perl: 161; makefile: 58
file content (497 lines) | stat: -rw-r--r-- 15,980 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
.\" @(#)readcd.1	1.5 01/04/16 Copyright 1996 J. Schilling
.\" 
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation; either version 2 of
.\" the License, or (at your option) any later version.
.\"
.\" The GNU General Public License's references to "object code"
.\" and "executables" are to be interpreted as the output of any
.\" document formatting or typesetting system, including
.\" intermediate and printed output.
.\"
.\" This manual is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public
.\" License along with this manual; if not, write to the Free
.\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
.\" USA.
.\"
.\" Japanese Version Copyright (c) 2001 Yuichi SATO
.\"         all rights reserved.
.\" Translated Sat Dec  1 03:06:05 JST 2001
.\"         by Yuichi SATO <ysato@h4.dion.ne.jp>
.\"
.if t .ds a \v'-0.55m'\h'0.00n'\z.\h'0.40n'\z.\v'0.55m'\h'-0.40n'a
.if t .ds o \v'-0.55m'\h'0.00n'\z.\h'0.45n'\z.\v'0.55m'\h'-0.45n'o
.if t .ds u \v'-0.55m'\h'0.00n'\z.\h'0.40n'\z.\v'0.55m'\h'-0.40n'u
.if t .ds A \v'-0.77m'\h'0.25n'\z.\h'0.45n'\z.\v'0.77m'\h'-0.70n'A
.if t .ds O \v'-0.77m'\h'0.25n'\z.\h'0.45n'\z.\v'0.77m'\h'-0.70n'O
.if t .ds U \v'-0.77m'\h'0.30n'\z.\h'0.45n'\z.\v'0.77m'\h'-0.75n'U
.if t .ds s \\(*b
.if t .ds S SS
.if n .ds a ae
.if n .ds o oe
.if n .ds u ue
.if n .ds s sz
.TH READCD 1 "Version 1.10" "J\*org Schilling" "Schily\'s USER COMMANDS"
.SH 名前
readcd \- データ CD を読み出す・書き込む
.SH 書式
.B readcd
.BI dev= device
[
.I options
]

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

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

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

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

.SH オプション
.PP
.I dev=
以外のオプションが何も指定されていない場合、
.B readcd
は対話モードになる。
対話モードでは、主要な機能を選択した後、指示に従って操作する。
.PP
.TP
.B \-version
バージョン情報を表示して、終了する。
.TP
.BI dev= target
CD レコーダの SCSI target を設定する。上記を参照。
一般的なデバイス指定では
.BI dev= 6,0
である。
数値での target 指定の他に、
ファイル名も指定しなければならない場合、
そのファイル名は実装依存である。
この場合の正確なファイル名は、
対象とする OS の独自のマニュアルに書かれているだろう。
.I CAM
をサポートしてない
.I FreeBSD
システムでは、
.RI ( /dev/rcd0.ctl
などの) 制御デバイスを使う必要がある。
この場合の正確なデバイス指定は、
.BI dev= /dev/rcd0.ctl:@
である。
.sp
Linux では、パラレルポートアダプタに接続されたデバイスは、
仮想 SCSI bus に対応付けされる。
別のパラレルポートアダプタは、
この仮想 SCSI bus の別の target に対応付けされる。
.sp
.I dev
オプションが指定されていない場合、
.B cdrecord
は環境変数
.B CDR_DEVICE
からデバイスを取得しようとする。
.sp
.B dev=
オプションの引き数に文字 ',', '/', '@', ':' がない場合、
ファイル /etc/default/cdrecord に書かれたラベル名として扱われる
(「ファイル」セクションを参照すること)。
.TP
.BI timeout= #
SCSI コマンドのデフォルトのタイムアウトを
.I #
秒にする。
SCSI コマンドのデフォルトのタイムアウトは、
SCSI コマンドを送る際の最短タイムアウトとして使われる。
SCSI コマンドがタイムアウトにより失敗した場合、
タイムアウトの値を失敗したコマンドの
デフォルトのタイムアウトより長くすることができる。
タイムアウトを長くしてコマンドが正常に動作した場合は、
成功したときのタイムアウト時間とそのコマンドを、
このプログラムの著者に知らせて下さい。
.I timeout 
オプションが指定されない場合、
デフォルトのタイムアウト 40 秒が使われる。
.TP
.BI debug= "#, " -d
(debug=# を使って) その他のデバッグレベルを # に設定する。
または (-d を使って) デバッグレベルを 1 つ上げる。
.I -dd
を指定した場合、
.BI debug= 2
と等しくなる。
libscg でドライバをオープンする際の問題や、
セクタサイズとセクタタイプの問題を発見するのに役立つ。
.B \-debug
を使うと、処理が遅くなりバッファアンダーランの原因になるかもしれない。
.TP
.BR kdebug= "#, " kd= #
.B scg
ドライバに対して、SCSI コマンドを動作させているときの
カーネルデバッグレベルを変更させる。
.TP
.BR \-silent ", " \-s
SCSI コマンドが失敗したときの状況報告を表示させない。
.TP
.B \-v
一般的な表示の詳細度を 1 つ上げる。
例えば、書き込み処理の進捗状況を表示するために使われる。
.TP
.B \-V
SCSI コマンド転送に関する表示の詳細度を 1 つ上げる。
CD レコーダにおける書き込み処理での問題をデバックするのに役立つ。
簡単なエラーメッセージしか表示されない場合は、
このフラグを使って詳細な表示を行わせることができる。
.B \-VV
を指定すると、データバッファの内容も表示される。
.B \-V
.B \-VV
を使うと、処理が遅くなりバッファアンダーランの原因になるかもしれない。
.TP
.BI f= file
.TP
.B \-w
書き込みモードに変更する。
このオプションが指定されない場合、
.B readcd
は指定されたデバイスから読み出しを行う。
.TP
.BI sectors= range
読み出しを行うセクタの範囲を指定する。
範囲は「開始セクタ番号-終了セクタ番号」という形式で指定する。
.TP
.B \-notrunc
出力ファイルをオープンするときに切り詰めない。

.SH 例
.PP
以下の例では、CD レコーダがマシンのプライマリ SCSI バスに
接続されていると仮定している。
SCSI ターゲット ID は 2 に設定されている。
.PP
CD-ROM のメディア全体を読み出して、ファイル
.I cdimage.raw
にデータを書き出す:
.PP
    readcd dev=2,0 f=cdimage.raw
.PP
CD-ROM のセクタ範囲 150 〜 10000 を読み出して、ファイル
.I cdimage.raw 
に書き出す:
.PP
    readcd dev=2,0 sectors=150-10000 f=cdimage.raw
.PP
ファイル
.I cdimage.raw
のデータ (例えば、
.B mkisofs 
で作成したファイルシステムイメージ) を DVD-RAM に書き出す:
.PP
    readcd dev=2,0 -w f=cdimage.raw

.SH ファイル
.SH 関連項目
.BR cdrecord (1),
.BR mkisofs (1),
.BR scg (7),
.BR fbk (7).

.SH 注意
.PP
システム上でユーザーが root になるのを許可したくない場合は、
.B readcd
を root に suid することで安全にインストールできる。
これにより、root 権限を持たない全てのユーザーやユーザーのグループが
.B readcd
を使うことができる。
この場合
.B readcd
は、CD-ROM タイプデバイスへのアクセスのみを許可する。
全てのユーザーに
.B readcd
を使う権限を与えたいならば以下を実行する:
.PP
	chown root /usr/local/bin/readcd
.br
	chmod 4711 /usr/local/bin/readcd
.PP
特定のユーザーのグループに
.B readcd
を使う権限を与えたいならば以下を実行する:
.PP
	chown root /usr/local/bin/readcd
.br
	chgrp cdburners /usr/local/bin/readcd
.br
	chmod 4710 /usr/local/bin/readcd
.PP
そして、システムの
.I cdburners
グループに追加する。
.PP
ディスクの読み込み・書き出し・フォーマットを
全てのユーザーに許可したい場合を除き、
root 以外のユーザーに
.I /dev/scg?
への書き込みを許可してはならない。
.PP
CD レコーダや読み込み元のディスクが接続された SCSI バスに、
切断や再接続に対応していない昔のディスクを接続するべきではない。
.PP
壊れた
.B "Linux SCSI generic driver"
.B readcd
を使う場合、
.B readcd
は scg ドライバの機能をエミュレートを試みるという対処療法を使う。
不幸なことに、
.B Linux
の sg ドライバには以下のような酷いバグがある:
.TP
\(bu
SCSI コマンドが全く送られていないかを調べることができない。
.TP
\(bu
SCSI status バイトを取得できない。
このため、
.B readcd
は失敗した SCSI コマンドをある状況下では報告できない。
.TP
\(bu
転送時の実際の DMA カウントを取得できない。
.B readcd
は、DMA の残余カウントがあるかをユーザーに知らせることができない。
.TP
\(bu
auto sense データのうち有効なバイト数を取得できない。
.B readcd
は、認識したデータをデバイスが全く転送していないかを
ユーザーに知らせることができない。
.TP
\(bu
auto request sense では非常に少ないデータしか取得できない
(CCS/SCSI-2/SCSI-3 では 18 以上でなければならない)。

.SH 返り値
.PP
.PP
SCSI コマンドの典型的なエラーメッセージは以下のようなものである:
.sp
.RS
.nf
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
.fi
.sp
.RE
1 行目はコマンドの転送についての情報である。
最初のコロンのあとの文字列は、
カーネルの視点からみたシステムコールのエラーである。
他の問題が起こらないときに、一般的なのは
.B "I/O error
である。
次の文字列は失敗した SCSI コマンドの簡単な説明である。
残りの部分は SCSI バス越しにコマンドを転送する際に
問題が発生したことを示す。
.B "fatal error
はコマンドを転送できなかったことを示す
(つまり、要求された SCSI アドレスにデバイスが存在しなかった)。
.PP
2 行目には失敗したコマンドの SCSI コマンドの
ディスクリプターブロックが表示される。
.PP
3 行目には、コマンドの転送が成功した場合に、
コマンドによって返される SCSI status コードについての情報が表示される。
これは SCSI デバイスからのエラー情報である。
.PP
4 行目はコマンドの auto request sense 情報の 16 進ダンプである。
.PP
5 行目は (もし存在すれば) sense key のエラー文字列である。
コマンドが
.I copy
の場合にのみ、セグメント番号が続く。
エラーメッセージが現在のコマンドに直接関係していない場合、
.I deferred error
という文字列が表示される。
.PP
6 行目は sense code のエラー文字列である。
存在する場合には sense qualifier も表示される。
デバイスのタイプが既知の場合、
sense data は
.I scsierrs.c"
にあるテーブルを用いてデコードされる。
その文字列の後には field replaceable unit についてのエラー値が続く。
.PP
7 行目には、失敗したコマンドに関連したブロック番号と
エラーフラグ文字列が表示される。
ブロック番号は有効ではないかも知れない。
.PP
8 行目は、そのコマンドについて設定されたタイムアウトと、
実際にコマンドが完了するまでにかかった時間が表示される。

.SH バグ

.SH 謝辞

.SH メーリングリスト
cdrecord の開発に積極的に参加したいなら、本文に
.I subscribe
と書いたメールを
.nf
.sp
	other-cdwrite-request@lists.debian.org
.sp
.fi
へ送って、cdwriting メーリングリストに入ることができる。
.nf
.sp
	cdwrite@lists.debian.org
.sp
.fi
がメーリングリストのアドレスである。

.SH 著者
.nf
J\*org Schilling
Seestr. 110
D-13353 Berlin
Germany
.fi
.PP
その他の情報は以下で入手できる。
.br
http://www.fokus.gmd.de/usr/schilling/cdrecord.html
.PP
サポートに関する質問は、
.PP
.B
cdrecord-support@berlios.de
.br
または
.B
other-cdwrite@lists.debian.org
.PP
にメールを送ってください。
.PP
明らかなバグを見付けた場合は、
.PP
.B
cdrecord-developers@berlios.de
.br
または
.B
schilling@fokus.gmd.de
.PP
にメールを送ってください。
.PP
メーリングリストを購読するには、
.PP
.B
http://lists.berlios.de/mailman/listinfo/cdrecord-developers 
.br
または
.B
http://lists.berlios.de/mailman/listinfo/cdrecord-support 
.PP
を参照すること。