File: cdrecord.1

package info (click to toggle)
manpages-ja 0.5.0.0.20140515%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 27,672 kB
  • ctags: 7
  • sloc: perl: 161; makefile: 98
file content (1530 lines) | stat: -rw-r--r-- 57,841 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
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
.\" @(#)cdrecord.1	1.57 01/04/17 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 Sun Nov 25 18:34:39 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 CDRECORD 1 "Version 1.10" "J\*org Schilling" "Schily\'s USER COMMANDS"
.SH 名前
cdrecord \- マスタからオーディオ CD やデータ CD を記録する
.SH 書式
.B cdrecord
[
.I "general options
]
.BI dev= device
[
.I track options
]
.IR track1 .\|.\|. trackn

.SH 説明
.B cdrecord
は Orange Book CD-Recorder で
データ 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 cdrecord
を全ての \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
オプションを使ってみること。

.PP
ファイル /etc/default/cdrecord が存在する場合、
.B dev=
のパラメータはこのファイル中のドライブ名ラベルにもなる
(「ファイル」セクションを参照)。

.PP
.B SVr4 
互換のシステムでは、
.B cdrecord 
はリアルタイムクラスを使い、
可能な限りスケジューリング優先度を高くする
(全てのカーネルプロセスより優先度を高くする)。
\fBPOSIX リアルタイムスケジューリング\fR
を備えたシステムでも、
cdrecord はリアルタイムスケジューリングを使う。
ただし、カーネルプロセスより高い優先度は得られない。
.PP
.I Track At Once 
モードでは、
.I track
はそのトラックのデータが書かれた個別のファイルに対応する。
引き数が
.RB ` \- '
の場合は標準入力がトラックとして使われる。
この場合は
.I stdin 
(標準入力) から 1 つのトラックだけが読み込まれる。

.SH 一般的なオプション
.PP
一般オプションはトラックファイル名や
トラックオプションより前に指定しなければならない。
.TP
.B \-version
バージョン情報を表示して、終了する。
.TP
.B \-v
一般的な表示の詳細度を 1 つ上げる。
例えば、書き込み処理の進捗状況を表示するために使われる。
.TP
.B \-V
SCSI コマンド転送に関する表示の詳細度を 1 つ上げる。
CD レコーダにおける書き込み処理での問題をデバックするのに役立つ。
簡単なエラーメッセージしか表示されない場合は、
このフラグを使って詳細な表示を行わせることができる。
.B \-VV
を指定すると、データバッファの内容も表示される。
.B \-V
.B \-VV
を使うと、処理が遅くなりバッファアンダーランの原因になるかもしれない。
.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 \-force
エラーが起こった場合でも処理を続行させる。
このオプションは、壊れた CD-RW ディスクを空にできるように、
いくつかのトリックを使って実装している。
.TP
.B \-dummy
記録プロセスの全ての段階を CD レコーダに行わせるが、
処理中にレーザーをオフにしておく。
システムにおけるタイミングと負荷がかかった場合の応答が不明な場合は、
実際に CD に書き込む前に何回かテストしておくことを薦める。
.TP
.B \-dao
\fBDisk At Once モード\fRに設定する。
今のところ、non raw
.B "Session At Once"
モードをサポートしている MMC ドライブでしか動作しない。
.TP
.B \-multi
マルチセッション CD の作成を可能にする。
メディアの最後のセッションを作成するのでなければ、
マルチセションディスクの全てのセッションについて、
このオプションを指定する必要がある。
CD レコーダが後でセッションを追加できるように修正を行う。
次のプログラム領域へのリンクを含んだ TOC が作成される。
ここで作成されたメディアは、
(CDplus 以外の) 製品版 CD とは 100% 互換ではない。
マルチセッション CD の記録だけに使用すること。
このオプションを指定した場合、デフォルトのトラックタイプは
.B "CD-ROM XA mode 2"
である。
.I Sony 
製のドライブはハードウェアが
.B "CD-ROM XA mode 2" 
に対応していない。
このようなドライブでマルチセッションのディスクを作成するためには、
.B \-data 
オプションを指定しなければならない。
cdrecord はデータセクタをオーディオセクタに変換する
コーダーを備えていないので、
マルチセッションディスクを DAO/SAO モードで記録したい場合は、
.B \-data
オプションをつけて
.B CD-ROM
セクタをマルチセッションにしなければならない。
全てのドライブがマルチセッション CD の DAO/SAO モードに対応している訳ではない。
.TP
.B \-msinfo
.B "mkisofs-1.10" 
以降に適した形式のマルチセッション情報を取得する。
.sp
このオプションは、少なくとも 1 つの閉じたセッションがあり、
セッションを追加できる (まだ閉じられていない) CD のみで動作する。
この操作に適さないディスクからマルチセッション情報を取得しようとした場合、
エラーメッセージを出すドライブもある。
.TP
.B \-toc
CD の table of content (内容一覧) または PMA を取得して表示する。
このオプションを使うと、
.B cdrecord
は CD-R ドライブと CD-ROM ドライブで動作する。
.TP
.B \-atip
CD-R メディアや CD-RW メディアの
ATIP (absolute Time in Pregroove) 情報を取得して表示する。
このオプションを使うと、
.B cdrecord
は ATIP 情報を取得する。
ドライブが ATIP	情報の読み取りに対応していない場合、
記録されている情報の一部もしくは何も表示されない。
ATIP 情報の読み取りは、
MMC 互換のわずかなドライブでしかサポートされていない。
.sp
.B cdrecord
が最初のセッションの lead-in start time を取得できる場合、
メディアにかかれた製造者情報をデコードして表示しようとする。
.TP
.B \-fix
ディスクの固定 (fixated) のみを行う (つまり、CD-R の TOC が書き込まれる)。
何らかの理由により、ディスクには書かれたが固定が行われなかった場合に、
このオプションを使うことができる。
現在のところ、このオプションは昔の TEAC 製ドライブ
(CD-R50S と CD-R55S) では動作しない。
.TP
.B \-nofix
トラックを書き込んだ後にディスクを固定しない。
このオプションはオーディオディスクを段階的に作成するために使用できる。
固定していないディスクは、一般には CD を記録するドライブ以外では使えないが、
このようなディスクを再生できるオーディオ CD プレーヤもある。
.TP
.B \-waiti
SCSI ドライバをオープンする前に、標準入力からの入力が可能になるのを待つ。
このオプションを使うと
.B cdrecord
がマルチセッションディスクに追加セッションを書き込んでいる間でも、
パイプからの入力を読み取ることができるようになる。
マルチセッションディスクに追加セッションを書き込んでいる場合、
.B mkisofs 
は出力を書き出す前に前のセッションを読み込む必要がある。
標準入力からの入力が可能になるのと同時に、
.B cdrecord 
が SCSI ドライバをオープンする場合は、このオプションを使用できない。
.TP
.B \-load
メディアをロードして終了する。
このオプションはトレーのロード機構があるドライブでしか動作しないが、
Kodak のディスクトランスポータを使う場合にも便利である。
.TP
.B \-eject
動作後にディスクを取り出す。
(Philips などの) いつかのデバイスでは、
新しいディスクを作成する前にメディアを取り出す必要がある。
これらのデバイスでは、
\-dummy テストをした直後に実際のディスクを作成できない。
.TP
.B "speed=#
書き込みプロセスの速度ファクタを # にする。
# はオーディオ速度の何倍の速さにするかを表す整数である。
オーディオ速度は CD-ROM では約 150 KB/s、
CD-Audio では約 172 KB/s である。
.I speed
オプションを指定しない場合、
.B cdrecord
は環境変数
.B CDR_SPEED
から速度を取得する。
.I "speed=2" 
または
.I "speed=4" 
で問題がある場合、
.I "speed=0" 
を試してみること。
.TP
.BI blank= type
CD-RW を空 (blank) にして終了する。または、書き込む前に CD-RW を空にする。
空にする方法は以下のいずれかである。
.RS
.TP 12
help
空にする方法の一覧を表示する。
.TP
all
ディスク全体を空にする。長い時間がかかる。
.TP
fast
最小限の手間でディスクを空にする。
PMA, TOC, pregap を消去する。
.TP
track
トラックを空にする。
.TP
unreserve
予約済みトラックの予約を解除する。
.TP
trtail
トラックの末尾を空にする。
.TP
unclose
最後のセッションを閉じない。
.TP
session
最後のセッションを空にする。
.RE
このオプションを
.B \-force
フラグと一緒に使うと、
.B \-force
フラグなしでは空にできない CD-RW ディスクを空にすることができる。
ドライブの中にはある種の壊れた CD-RW ディスクの消去を
続行することができないものもあるので、
.BI blank= all
を指定する必要があるかもしれない。
.B \-force 
が指定された場合、
.B cdecord
はできる限りのことを行うが、空にする操作が成功するか否かは、
最終的にはドライブのファームウェアに依存する。
.TP
.BR fs= #
fifo (リングバッファ) サイズを # にする。
このオプションは
.BR dd (1),
.BR sdd (1),
.BR star (1)
のものと同じ方法で使うことができる。
他の単位が指定されない限り、サイズはバイト数であるとする。
数字の直後に `b', `k', `m', `s', `f' を付けることができる。
それぞれサイズが 512, 1024, 1024*1024, 2048, 2352 倍であることを表す。
`x' や `*' で区切ってサイズを指定した場合、2 つの数の掛け算が行われる。
よって、
.I "fs=10x63k
は fifo のサイズを 630\ kB に指定したことになる。
.sp
.I fs=
引き数で指定されたサイズには、管理に必要な共有メモリの分も含まれている。
このメモリの大きさは、少なくとも 1 ページである。
.IR fs =
オプションが指定されていない場合、
.B cdrecord
は fifo のサイズを環境変数
.B CDR_FIFOSIZE
から取得する。
デフォルトの fifo サイズは、現在のところ 4 MB である。
.sp
fifo はリアルタイム書き込みプロセスのバッファを増やすために使われる。
これによって、
.B mkisofs
.B cdrecord
をパイプで直接つないで動作させることができる。
fifo がアクティブで、かつ CD を作成するために
.B mkisofs
から
.B cdrecord
へのパイプを使った場合、
.B cdrecord
が書き込みをする前に
.B mkisofs 
が落ちると、
.B cdrecord
はディスクの何も変更せずに終了する。
推奨される fifo サイズは 4 〜 32 MB である。
経験則として、fifo サイズは少なくとも
CD レコーダの内部バッファのサイズと同じなければならない。
また、マシンで使用されている RAM の物理サイズの半分以下でなければならない。
fifo サイズが充分大きい場合、
fifo empty count が 0 で、fifo min fill が 20% 以上であるという
fifo の統計情報が表示される。
fifo のためにあまり多くのメモリ量を使わない方がよい。
他に何もしていないマシンで、
CD を書き込むのに 8 MB 以上のメモリが必要になるのは、
マシンパワーが足りないか、ハードウェアに問題があるか、
設定が間違っている場合である。
(Sparcstation-2 などの) sun4c アーキテクチャでは、
1 プロセス当たりの MMU ページテーブルエントリは 16MB しかない。
sun4c では fifo に 14 MB 以上を使うと、
OS が MMU テーブルを絶えず再読み込みするために非常に時間がかかる。
Sun の新しいマシンでは、このような MMU のハードウェア問題はない。
PC ハードウェアがこの問題に影響されるかについての情報はない。
.sp
バッファアンダーランやそれと同様な問題があり、かつ
.I "fifo empty count"
が 0 であるという表示がされる場合は、
ハードウェア上の問題がある。
この場合、fifo のサイズは充分である。
.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 driver= name
このオプションを指定すると、
デバイスに対してユーザーが指定したドライバ名を使える。
使用可能なドライバのリストを取得するには、
.B "driver=help"
を使うこと。
このオプションは存在するのは、
サポートされているドライブに似ているが、
.B cdrecord
が直接検出できないドライブで
.B cdrecord
を使うことができるようにするためである。
このオプションは細心の注意を払って使用すること。
デバイスに合わないドライバを使うと、
ディスクを使えなくしてしまう可能性が高くなる。
合わないドライバを使った場合、最も良くても
.B \-speed
または
.B \-dummy
が動作しない。
.sp
リストには
.B cdr_simul
.B dvd_simul
という 2 つの特別なドライバエントリがある。
これらのドライバエントリは、いろいろなスピードでのタイミングテストや、
.B \-dummy
オプションに対応していないドライバでのタイミングテストを
行うために作られている。
シミュレーションドライバは、バッファサイズが 1MB のドライブを実装している。
また、このバッファサイズは環境変数
.B CDR_SIMUL_BUFSIZE
で変更できる。
シミュレーションドライバはバッファアンダーランも正しくシミュレートする。
.B \-dummy 
オプションを指定すると、バッファアンダーランの場合でも終了しない。
.TP
.BI driveropts= "option list"
ドライバ特有のオプションを設定する。
オプションはコンマで区切ったリストで指定する。
使用可能なオプションのリストを取得するには、
.BI driveropts= help
.I \-checkdrive
オプションと一緒に指定すること。
現在のところ、
.B burnproof
オプションのみが実装されている。
これは Sanyo BURN-Proof 技術を使っているドライブで、
バッファアンダーラン検証書き込み
(Buffer Underrun Proof writing) に対応するためのものである。
.TP
.B \-checkdrive
現在のドライブに対応したドライバが存在するかをチェックして、終了する。
ドライブが既知のものであれば、
.B cdrecord
は終了コード 0 で終了する。
.TP
.B \-prcap
SCSI-3/mmc 互換ドライブでモードページを 0x2A としたときに取得できる
ドライブの機能を表示する。
.I kB
のマークがあるものは、1000 バイトを kilo-byte とする。
また
.I KB
のマークがあるものは、1024 バイトを Kilo-byte とする。
.TP
.B \-inq
ドライブから情報の取得 (inqurity) を行い、
取得された情報を表示して、終了する。
.TP
.B \-scanbus
全ての SCSI バス上のドライブをスキャンし、
取得できた文字列を表示する。
このオプションは、システム上の CD レコーダの SCSI アドレスを
知るために使われる。
ラベルに使われる数字は
.B "bus * 100 + target"
で計算される。
.TP
.B \-reset
CD レコーダのある SCSI バスをリセットする。
このオプションは全ての OS 上で動作するわけではない。
.TP
.B \-ignsize
メディアの既知のサイズを無視する。
このオプションは特に注意して使うべきである。
このオプションはデバッグのためだけに存在するので、
他の目的に使用してはならない。
通常の容量以上にディスクに書き込む必要はない。
.TP
.B \-useinfo
audio オプションを上書きするのに *.inf ファイルを使う。
このオプションを使うと、*.inf ファイルから
プレギャップサイズ情報を読み込む。
*.inf ファイルは 1 トラック毎のオーディオデータが書かれた
ファイルと関連づけられる。
.TP
.BR defpregap =#
第 1 トラック以外の全てのトラックのデフォルトのプレギャップサイズを設定する。
このオプションは現在のところ、
track-at-once ディスクを作成する際に
各トラックの先頭に 2 秒の無音領域がない場合には、
TEAC ドライブでしか機能しない。
.br
このオプションは将来なくなるかもしれない。
.TP
.B \-packet
.B "packet writing mode"
に設定する。
これは実験的なインターフェースである。
.TP
.BR pktsize =#
パケットサイズを # に設定し、修正パケットモードを使わせる。
これは実験的なインターフェースである。
.TP
.B \-noclose
現在のトラックを閉じない。パケット書き込みモードでのみ役立つ。
これは実験的なインターフェースである。
.TP
.B mcn=med_cat_nr
CD の
.B "メディアカタログ番号 (Media Catalog Number)"
.I med_cat_nr
に設定する。

.SH トラックオプション
.PP
トラックオプションはトラックファイル名と合わせて指定する。
.TP
.B isrc=ISRC_number
次のトラックの
.B "国際標準録音資料コード (International Standard Recording Code)"
.I ISRC_number
にする。
.TP
.BI index= list
次のトラックのインデックスリストを設定する。
インデックスリストは、コンマで区切られた数値のリストで、
インデックスは 1 から始める。
このリストの最初のエントリには 0 が書かれていなければならない。
以降はこれより大きな数値が順番にリストされていなければならず、
それぞれの数値は 1 単位を 1/75 秒として、インデックスの開始を表す。
インデックスリストは以下のような形式である:
0,7500,15000 はインデックス 1 を開始トラックとし、
インデックス 2 を開始トラックから 100 秒後、
インデックス 3 を開始トラックから 200 秒後とする。
.TP
.B \-audio
このフラグが指定されると、以降の全てのトラックが (Red Book と同じ) 
.B "CD-DA" 
オーディオフォーマットで書かれる。
このトラック用のデータファイルは、
ステレオ 16-bit デジタルオーディオデータで、
サプリングレートは 1 秒あたり 44100 回にすべきである。
バイトオーダーは、MSB left, LSB left, MSB right, LSB right, MSB left, ... 
というようにする。
トラックは 2352 バイトの倍数にする。
書き込みプロセスにおいて、データが 2352 バイトの倍数で読み込まれるので、
オーディオトラックのマスタイメージを raw ディスクにおくことはできない。
.sp
ファイル名が
.I .au
または
.I .wav
で終る場合、ファイルは構造化オーディオファイルデータファイルとして扱われる。
この場合
.B cdrecord
は、ファイルを Sun オーディオファイルまたは
Microsoft .WAV ファイルと仮定して、
オーディオヘッダ情報以外をスキップしてオーディオデータを抽出する。
それ以外の場合は、オーディオデータストリームに
ヘッダが含まれていないときにしか cdrecord は正常に動作しない。
多くの構造化オーディオファイルは
長さが (1/75 秒の) ブロックの倍数でないので、
.B \-pad
オプションも指定しなければならないことが多い。
.B cdrecord
は .WAV ファイルのオーディオデータが
Intel (リトルエンディアン) バイトオーダーで書かれていると認識して、
CD レコーダがビッグエンディアンのデータを必要としているときには、
データのバイト交換を行う。
.B cdrecord
は、(1 秒あたり 44100 回の 16 ビットステレオサンプリングを行い
PCM コーディングする) Red Book の必要条件を満たさない
オーディオファイルの使用を拒否する。
.sp
他の構造化オーディオデータ形式を
.B cdrecord
の入力に使う場合は、
データの構造が上記の (ビッグエンディアンバイトオーダー) 構造であれば、
通常は動作する。
しかし、データ形式にヘッダが含まれている場合は、
トラックの開始時にクリック音が聞こえてしまうだろう。
.TP
.I " "
.I \-data 
.I \-audio
がどちらも指定されていない場合、
.B cdrecord
は、ファイル名が
.I .au
または 
.I .wav
で終るときは
.I \-audio
をデフォルトとし、
それ以外のときは
.I \-data 
をデフォルトとする。
.TP
.B \-swab
このフラグが指定されている場合、オーディオデータは
バイトスワップ (リトルエンディアン) オーダーであると仮定する。
Yamaha, Sony, new SCSI-3/mmc などの CD ライタでは、
オーディオデータがリトルエンディアンオーダーでなければならない。
.\" (リトルエンディアンは、実際に CD に記録されるバイトオーダーである) ????
他の CD ライタでは、オーディオデータは SCSI プロトコルで使われる
ビッグエンディアン (ネットワーク) バイトオーダーなければならない。
.B cdrecord
は、CD レコーダがビッグエンディアンのオーディオデータを必要とするのか、
リトルエンディアンのオーディオデータを必要とするのかを認識して、
データストリームのバイトオーダーをレコーダの必要にあったものに修正する。
.I \-swab 
フラグが必要になるのは、データストリームが
Intel (リトルエンディアン) バイトオーダーの場合のみである。
.sp
.B cdrecord
の詳細な出力には、入力データをレコーダが必要とする
バイトオーダーに合わせるのために入れ換える必要があるかが表示される。
.B cdrecord
.I \-swab 
フラグが実際にトラックに指定されているかどうかは表示しない。
.TP
.B \-data
このフラグが指定されている場合、これ以降の全てのトラックは
.B "CD-ROM mode 1
(Yellow Book) フォーマットで書き込まれる。
データは 2048 バイトの倍数である。
The file with track data should contain an 
トラックデータのファイルは、
.BR ISO-9660 " または " Rock Ridge
ファイルシステムイメージでなければならない
(詳細は
.B mkisofs 
を参照すること)。
トラックデータが
.B ufs
ファイルシステムイメージの場合、
フラグメントサイズを 2 KB バイトに設定するれば、
セクタサイズが 2 KB の CD ドライブを読み込みに使うことができる。
.TP
.I " "
他のフラグが指定されていない場合、\-data がデフォルトである。
.TP
.I " "
.I \-data 
.I \-audio
がどちらも指定されていない場合、
.B cdrecord
は、ファイル名が
.I .au
または 
.I .wav
で終るときは
.I \-audio
をデフォルトとし、
それ以外のときは
.I \-data 
をデフォルトとする。
.TP
.B \-mode2
このフラグが指定されると、これ以降の全てのトラックは
.B "CD-ROM mode 2
フォーマットで書き込まれる。
データは 2048 バイトの倍数である。
.TP
.B \-xa1
このフラグが指定されると、これ以降の全てのトラックは
.B "CD-ROM XA mode 1
フォーマットで書き込まれる。
データは 2048 バイトの倍数である。
.TP
.B \-xa2
このフラグが指定されると、これ以降の全てのトラックは
.B "CD-ROM XA mode 2
フォーマットで書き込まれる。
データは 2048 バイトの倍数である。
.TP
.B \-cdi
このフラグが指定されると、これ以降の全てのトラックは
.B "CDI
フォーマットで書き込まれる。
データは 2048 バイトの倍数である。
.TP
.B \-isosize
.B "ISO-9660
ファイルシステムサイズを次のトラックのサイズとする。
raw ディスクパーティションまたはマスタ CD から
トラックのイメージを読み込ませたい場合、
このオプションが必要になる。
raw ディスクパーティションの場合は、
CD のサイズを ISO ファイルシステムのサイズに制限するために
.B \-isosize
オプションが必要となる。
マスタ CD の場合は、
track at once モードのときに
CD レコーダに 2 つのランアウト (run out) ブロックを読み込ませないために、
.B \-isosize
オプションが必要になる。
この 2 つのランアウトブロックは読み込むことができず、
defective コピーを引き起こすバッファアンダーランの原因になる。
.B cdrecord
がトラックデータを
.I stdin
から読み込む場合には、このオプションを使ってはならない。
今のところ \-multi オプションが指定されている場合には、
ファイルシステムのサイズを決定するために、このオプションを使うことはできない。
.TP
.B \-pad
データトラックの場合は、
各データトラックの後ろにデータ 0 が 15 セクタ分追加される。
この場合、
.B \-pad 
オプションは
.B padsize=
オプションによって上書きされる。
ただし、このオプションは
.BI padsize=15s
の省略形のままである。
.I \-pad 
がオーディオトラックを参照している場合、
.B cdrecord 
はオーディオデータが 2352 バイトの倍数になるようにデータを埋め込む。
詰め込まれるオーディオデータはバイナリの 0 であり、
全くの無音状態と等しい。
.sp
.B \-pad 
.B \-nopad 
によって無効にされるまで有効であり続ける。
.TP
.BR padsize= #
次のトラックに詰め込まれるデータ 0 の数を # に設定する。
.B \-pad
オプションの動作とは反対に、新たなトラックでは
.I padsize=
の値が 0 にリセットされる。
使用可能な引き数は
.BR fs =
オプションを参照すること。
CD ドライブがトラックの最終セクタを読み込めない場合、
または ISO-9660 ファイルシステムの先読みバグがある
.B Linux 
システム上で CD を読み込ませたい場合は、このオプションを使うこと。
空のファイルをトラックデータとして用いる場合、
このオプションは全てを 0 で埋めたディスクを作成するために使われる。
.TP
.B \-nopad
以降のトラックに対して 0 の埋め込みを行わない \- 
これがデフォルトである。
.TP
.B \-shorttrack
これ以降のトラックで、Red Book トラック長基準を破っても構わないことにする。
トラック長は最短でも 4 秒なければならない。
このオプションは DAO モードで用いられた場合にのみ有効である。
全てのドライブがこの機能に対応しているわけではない。
ドライブは結果として得られる CUE シートを受け付けなければならない。
.TP
.B \-noshorttrack
Red Book トラック長基準を再び守らせる。
トラックは少なくとも 4 秒でなければならない。
.TP
.BR pregap =#
次のトラックのプレギャップサイズを設定する。
このオプションは現在のところ、TEAC 製ドライブで
各トラックの前に 2 秒間の無音を入れずに
track-at-once ディスクを作成するときにしか動作しない。
.br
このオプションは将来なくなる。
.TP
.B \-preemp
.\"ysato: 
.\"ysato: 原文では "micro" の部分が「μ」の 1 バイト文字で書かれているが、
.\"ysato: EUC-JP で保存できないので変更した。
.\"ysato: 
このフラグを指定すると、オーディオトラックの全ての TOC エントリは、
オーディオデータが 50/15 μ秒のプレ・エンファシス (pre-emphasis) で
サンプリングされているとする。
ただし、このデータがファイルからディスクに移される際に変更されることはない。
このオプションはデータトラックには何も影響しない。
.TP
.B \-nopreemp
このフラグが指定されていると、
これ以降のオーディオトラックの TOC エントリは、
オーディオデータのマスタがリニアデータとして作成されているものとする
\- これがデフォルトである。
.TP
.B tsize=#
次のトラックのマスタイメージが raw ディスクに格納されている場合、
ディスク上の有効なデータ量を指定するために、このオプションを使うこと。
次のトラックのイメージが通常のファイルとして格納されている場合、
ファイルのサイズからそのトラックの長さを決定する。
トラックに ISO 9660 ファイルシステムイメージがある場合は、
ファイルシステムイメージの長さを決定するために
.I \-isosize
オプションを使うこと。
.br
TEAC プログラミングインターフェースを使ういくつかのドライブでは、
Disk at Once モードでも Track at Once モードでも
ディスクの書き込みを始める前に
.B cdrecord
が各トラックのサイズを知る必要がある。
今のところ cdrecord はサイズをチェックして、書き込みを始める前に中止する。
このような現象が起こった場合は、
.B "mkisofs -print-size
を実行して、得られた結果を
.B cdrecord
.BR tsize =
オプションの引き数として使うこと。
.br
指定可能な引き数は
.BR fs =
オプションを参照すること。

.SH 例
.PP
以下の例では、CD レコーダがマシンのプライマリ SCSI バスに
接続されていると仮定している。
SCSI ターゲット ID は 2 に設定されている。
.PP
ファイル
.I cdimage.raw 
にあるデータを使って単純な CD-ROM を 2 倍速で記録する:
.PP
    cdrecord \-v speed=2 dev=2,0 cdimage.raw
.PP
Rock Ridge 拡張された ISO 9660 ファイルシステムのイメージを作成する:
.PP
    mkisofs \-R \-o cdimage.raw /home/joerg/master/tree
.PP
Solaris で CD を書き込む前に上の結果のファイルを検査する:
.PP
    mount \-r \-F fbk \-o type=hsfs /dev/fbk0:cdimage.raw /mnt
.PP
Linux では:
.PP
    mount cdimage.raw \-r \-t iso9660 \-o loop /mnt
.PP
以下のように続ける:
.br
    ls \-lR /mnt
.br
    umount /mnt
.PP
システム全体のスピードが充分で、
ファイルシステムの構造がそれほど複雑でない場合、
cdrecord は ISO 9660 ファイルシステムのイメージを作成せずに実行できる。
単純にパイプラインで実行すればよい:
.PP
    mkisofs \-R /master/tree | cdrecord \-v fs=6m speed=2 dev=2,0 -
.PP
このパイプラインを実行するために推奨される最小の fifo サイズは 4 MB である。
デフォルトの fifo サイズは 4 MB であるので、
別の fifo サイズを指定したい場合以外は
.B fs=
オプションを指定する必要はない。
システムに負荷がかかっている場合は、
mkisofs もリアルタイムクラスで実行すべきである。
.B mkisofs
の優先度を上げるためには、コマンド
.PP
    mkisofs \-R /master/tree
.sp
を Solaris では
.sp
    priocntl \-e \-c RT \-p 59 mkisofs \-R /master/tree
.sp
に、
.B "UNIX International"
互換のリアルタイムスケジューリングのないシステムでは
.sp
    nice --18 mkisofs \-R /master/tree
.sp
に変更する。
.PP
Solaris では cdrecord は優先度 59 で実行されるので、
mkisofs は優先度 58 以下で実行すべきである。
他のシステムでは nice -18 以上で mkisofs で実行すべきである。
.PP
Sparcstation-2 で Yamaha CDR-400 を使って
ディスク上にファイルシステムイメージを置かずに
CD-ROM を作成するテストを行ってみたが、
マシンに負荷がかかっていない場合でも
4 倍速では動作しなかった。
より高速なマシンでは、負荷がかかった場合でも 4 倍速で動作できるだろう。
.PP
.IR track01.cdaudio ,
.IR track02.cdaudio ", ..."
というファイルに各トラックのデータがある場合に、
単純な CD-DA (オーディオ) を等速で記録するには:
.PP
    cdrecord \-v speed=1 dev=2,0 -audio track*.cdaudio
.PP
上の例が 2 倍速でできるかをチェックするためには、
dummy 書き込みオプションを使うこと:
.PP
    cdrecord \-v \-dummy speed=2 dev=2,0 \-audio track*.cdaudio
.PP
最初のトラックは ISO 9660 ファイルシステム
.IR cdimage.raw 、
それ以外は
.IR track01.cdaudio ,
.IR track02.cdaudio ", ..."
というオーディオトラック、というようなミックスモード CD を記録するには:
.PP
    cdrecord \-v \-dummy dev=2,0 cdimage.raw \-audio track*.cdaudio
.PP
書き込みを始める前にトラックのサイズを知らせる必要がある
ドライブを操作するには、最初に
.PP
    mkisofs -R -q -print-size /master/tree
.PP
を実行し、次に
.PP
    mkisofs -R /master/tree | cdrecord speed=2 dev=2,0 tsize=XXXs -
.PP
を実行する。
ここで
.I XXX
は先に実行した mkisofs の出力で置き換える。
.PP
オーディオ CD を最も正確な方法で複製するには、
最初に
.PP
    cdda2wav -v255 -D2,0 -B -Owav
.PP
を実行し、次に
.PP
    cdrecord -v dev=2,0 -dao -useinfo  *.wav
.PP
を実行する。

.SH 環境変数
.TP
CDR_DEVICE
SCSI 転送ライブラリの open コールに適したデバイス識別子と、
ファイル /etc/default/cdrecord にかかれたラベルを設定できる。
.TP
CDR_SPEED
デフォルトの書き込みの速度を設定する
.RB ( \-speed
オプションを参照)。
.TP
CDR_FIFOSIZE
FIFO のデフォルトサイズを設定する
.RB ( fs=#
オプションを参照)。

.SH ファイル
.TP
/etc/default/cdrecord
デフォルトの値は、/etc/default/cdrecord にある以下のオプションで設定できる。
例えば、
.SM CDR_FIFOSIZE=8m
.SM CDR_SPEED=2
のように設定できる。
.RS
.TP
CDR_DEVICE
SCSI 転送ライブラリの open コールに適したデバイス識別子と、
ファイル /etc/default/cdrecord にかかれたラベルを設定できる。
これによりシステム上の特定のドライブを識別できる。
.TP
CDR_SPEED
デフォルトの書き込みの速度を設定する
.RB ( \-speed
オプションを参照)。
.TP
CDR_FIFOSIZE
FIFO のデフォルトサイズを設定する
.RB ( fs=#
オプションを参照)。
.TP
その他のラベル
システム上の特定のドライブを識別する。
識別子は文字 ',', '/', '@', ':' を含んではならない。
.sp
ラベルに続く行には、タブで区切られたアイテムのリストが書かれる。
今のところ、ドライブの SCSI ID・ドライブのデフォルトの速度・
デフォルトの FIFO サイズ、という3 つのアイテムが認識される。
.I speed
.I fifosize
の値を -1 に設定すると、cdrecord はグローバルのデフォルト値を使う。
典型的な例としては以下のようものである:
.sp
teac1= 0,5,0	4	8m
.sp
yamaha= 1,6,0	-1	-1
.sp
これは
.B cdrecord
に対して、
.I teac1
という名前のドライブが scsibus 0, target 5, lun 0 にあり、
速度を 4 倍速、FIFO サイズを 8 MB にすることを指示する。
2 番目のドライブは scsibus 1, target 6, lun 0 にあり、
デフォルトの速度とデフォルトの FIFO サイズを使う。
.RE

.SH 関連項目
.BR cdda2wav (1),
.BR readcd (1),
.BR scg (7),
.BR fbk (7),
.BR mkisofs (8).

.SH 注意
.PP
Solaris において USCSI フォールバック SCSI 転送コードを使いたい場合は、
ボリューム管理を停止する必要がある。
ボリューム管理が動作していると、
.B "cdrecord -scanbus
すらも動作しない。
.PP
.B "Track At Once 
モードで作られたディスクは、CD 製造業者によって
大量生産される製品のマスタには向いていない。
このようなディスクを記録するには
.B "disk at once
オプションを指定する必要がある。
.B "Track At Once 
で作られたディスクは、通常はどの CD プレーヤでも読めるが、
古いオーディオ CD プレーヤのなかには
オーディオトラックの間に 2 秒間のクリック音を出してしまうものもある。
.PP
トラックの最小サイズは 4 秒または 300 セクタである。
これよりも小さいトラックを書き込んだ場合、
CD レコーダがダミーブロックを追加する。
これが SCSI エラーメッセージに現れたとしてもエラーではない。
.PP
.B cdrecord
は、SparcStation 20/502 上のアップグレードされた Philips CDD-521 レコーダで
等速と 2 倍速でテストして問題がなかった。
もっと遅いコンピュータシステムでも動作するだろう。
Philips/HP/Plasmon/Grundig の新しいドライブでも、
Yamaha の CDR-100 と CDR-102 でも動作する。
Plasmon RF-4100 でも動作するが、マルチセッションについてはテストしていない。
アップグレードされていない Philips CDD-521 では動作しない。
Sony CDU-924 をテストしたが、ハードウェアが XA-mode2 に対応していない。
よって Sony 製ドライブでは適合した
マルチセッションディスクを作成することはできない。
Ricoh RO-1420C でも動作するが、
speed=2 で使うと問題が発生することがあるようなので、
このような場合には speed=0 を試してみること。
.PP
Yamaha CDR-400 や SCSI-3/mmc に適合した全ての新しいドライブは、
シングルセッションとマルチセッションに対応している。
.PP
不明なシステム上で
.B cdrecord
を使う場合は、
.B \-dummy
オプションをオンにして、ドライブでサポートされている
全ての速度について何回かテストすべきである。
CD の書き込みはリアルタイムプロセスである。
.B NFS
は必要とされるデータ転送率を絶えず提供するわけではない。
.B NFS
でマウントされたファイルシステム上にある CD イメージを
.B cdrecord 
で使いたい場合は、fifo サイズが充分大きいこと確認すること。
.B cdrecord 
を SS20/502 において中間的な負荷状態で使用したことや、
Sparcstation-2 においてかなりの負荷状態で 4 倍速で使用したこともあるが、
CD を書き込むときはシステムの負荷を出来る限り軽くしておくことを勧める。
読み込み元のディスクが原因でバッファアンダーランが起こっていないことを
確認したいなら、コマンド
.PP
.B "    cdrecord -dummy dev=2,0 padsize=600m /dev/null
.PP
を実行して、全てをダミーデータから作ったディスクを作成すればよい。
.B cdrecord
は、
.B /dev/scg?
デバイスノードにアクセスして、
プログラム自身をメモリ内にロックできるように、
root で実行する必要がある。
.PP
システム上でユーザーが root になるのを許可したくない場合は、
.B cdrecord
を root に suid することで安全にインストールできる。
これにより、root 権限を持たない全てのユーザーやユーザーのグループが
.B cdrecord
を使うことができる。
この場合
.B cdrecord 
は、実際のユーザーが特定のファイルを読めるかを調べる。
全てのユーザーに
.B cdrecord
を使う権限を与えたいならば以下を実行する:
.PP
	chown root /usr/local/bin/cdrecord
.br
	chmod 4711 /usr/local/bin/cdrecord
.PP
特定のユーザーのグループに
cdrecord を使う権限を与えたいならば以下を実行する:
.PP
	chown root /usr/local/bin/cdrecord
.br
	chgrp cdburners /usr/local/bin/cdrecord
.br
	chmod 4710 /usr/local/bin/cdrecord
.PP
そして、システムの
.I cdburners
グループに追加する。
.PP
ディスクの読み込み・書き出し・フォーマットを
全てのユーザーに許可したい場合を除き、
root 以外のユーザーに
.I /dev/scg?
への書き込みを許可してはならない。
.PP
CD レコーダや読み込み元のディスクが接続された SCSI バスに、
切断や再接続に対応していない昔のディスクを接続するべきではない。
.PP
CD には 99 トラック以上は入らない。
.PP
オーディオトラックとデータトラックが両方入ったディスクを作成する場合は、
データをトラック 1 に入れるべきである。
そうでなければ CDplus ディスクを作成するべきである。
CDplus は、最初のセッションがオーディオトラックで、
以降のセッションがデータトラックになったマルチセッションディスクである。
.PP
多くの OS ではデータトラックが 1 つしか読み出せない。
また読むためには特別のソフトが必要である。
.PP
HP 製 CD レコーダの SCSI コマンドセットについての
詳しい情報は以下で入手できる。
.PP
	http://www.hp.com/isgsupport/cdr/index.html
.PP
もっと詳しい情報や、現在対応していないCD レコーダの
SCSI コマンドマニュアルがあったら、著者に連絡してください。
.PP
Philips CDD 521 にはファームウェアのバグがある。
(アップグレードされたものにもある)。
これらうちのいくつかは、デバイスの電気の周波数を
ある固定のものにしなければならず、
そうしない場合にはマシンをリブートしなければならない。
.PP
壊れた
.B "Linux SCSI generic driver"
.B cdrecord
を使う場合、
.B cdrecord
は scg ドライバの機能をエミュレートを試みるという対処療法を使う。
不幸なことに、
.B Linux
の sg ドライバには以下のような酷いバグがある:
.TP
\(bu
SCSI コマンドが全く送られていないかを調べることができない。
.TP
\(bu
SCSI status バイトを取得できない。
このため、
.B cdrecord
は失敗した SCSI コマンドをある状況下では報告できない。
.TP
\(bu
転送時の実際の DMA カウントを取得できない。
.B cdrecord
は、DMA の残余カウントがあるかをユーザーに知らせることができない。
.TP
\(bu
auto sense データのうち有効なバイト数を取得できない。
.B cdrecord
は、認識したデータをデバイスが全く転送していないかを
ユーザーに知らせることができない。
.TP
\(bu
auto request sense では非常に少ないデータしか取得できない
(CCS/SCSI-2/SCSI-3 では 18 以上でなければならない)。
.PP
fifo 率の表示は、CD レコーダにデータブロックが書き込まれた直後に計算される。
このため、fifo がストリーミングモードであるにもかかわらず、
100% fifo fill になることはない。

.SH 返り値
.PP
以下のようなメッセージが表示されてから、
9 秒間の間に ^C で
.B cdrecord
を中止できる。
.PP
Starting to write CD at speed %d in %s mode for %s session.
.PP
SCSI コマンドの典型的なエラーメッセージは以下のようなものである:
.sp
.RS
.nf
cdrecord: 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 行目は、そのコマンドについて設定されたタイムアウトと、
実際にコマンドが完了するまでにかかった時間が表示される。
.PP
以下のメッセージはエラーではない:
..sp
.RS
.nf
Track 01: Total bytes read/written: 2048/2048 (1 sectors).
cdrecord: I/O error. flush cache: scsi sendcmd: no error
CDB:  35 00 00 00 00 00 00 00 00 00
status: 0x2 (CHECK CONDITION)
Sense Bytes: F0 00 05 80 00 00 27 0A 00 00 00 00 B5 00 00 00 00 00
Sense Key: 0x5 Illegal Request, Segment 0
Sense Code: 0xB5 Qual 0x00 (dummy data blocks added) Fru 0x0
Sense flags: Blk -2147483609 (valid)
cmd finished after 0.002s timeout 40s
.fi
.sp
.RE
これは単に、最小サイズより小さいトラックを
300 セクタに拡張したことを知らせているだけである。
.SH バグ
.PP
.B cdrecord
には
.B ls
よりも多くのオプションがある。
.PP
現在のところ、
.B cdrecord 
は入力データがディスクに合わない場合に警告しか出さない。
コマンドを中止しないと、予想できない結果になる。
.PP
オーディオトラックのインデックス番号を
書き込むオプションが存在するべきである。
.PP
パワー不足の時に書き込まれたディスクを
修復して使えるようにするオプションが存在するべきである。

.SH 謝辞
.PP
.TP 15
Bill Swartz	(Bill_Swartz@twolf.com)
.br
TEAC ドライバのサポートに協力してくれた。
.TP
Aaron Newsome	(aaron.d.newsome@wdc.com)
.br
彼のドライブで Sony 製ドライブのサポートを開発させてくれた。
.TP
Eric Youngdale	(eric@andante.jic.com)
.br
mkisofs を提供してくれた。
.TP
Gadi Oxman	(gadio@netvision.net.il)
.br
ATAPI 標準規格についてのいろいろな情報をもらった。
.TP
Finn Arne Gangstad	(finnag@guardian.no)
.br
最初の FIFO 実装をしてくれた。
.TP
Dave Platt	(dplatt@feghoot.ml.org)
.br
実験的なパケット書き込みの作成、
CD-RW を空にする機能の最初の実装、
\&.wav ファイルの最初のデコーダの実装、
cdrecord に関する有益な議論をしてくれた。
.TP
Chris P. Ross (cross@eng.us.uu.net)
.br
BSDI SCSI 転送を最初に実装してくれた。
.TP
Grant R. Guenther   (grant@torque.net)
.br
Linux におけるパラレルポート転送を最初に実装してくれた。
.TP
Kenneth D. Merry (ken@kdm.org)
.br
Michael Smith (msmith@freebsd.org) とともに、
FreeBSD の CAM ポートを提供してくれた。

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