CD への書き込み処理は、途中で中断されることなく、データストリームが一定に保たれている必要があります。cdrw -S オプションを使用してメディアへの書き込みをシミュレートし、システムが CD への書き込みに十分適した速度でデータを送れるかどうかを確認してみてください。
次の場合には、書き込みエラーが発生することがあります。
メディアがドライブの速度に対応できない場合。たとえば、メディアの中には 2x または 4x の速度しか保証されていないものもあります。
システムが書き込み処理に支障をきたすほど多数の大きなプロセスを実行している場合
リモートシステム上のイメージがある場合、ネットワークの混雑によってイメージ読み取りに遅延が生じる可能性がある場合
CD 間でコピーするときに、送り側ドライブの速度が受け側ドライブよりも遅い可能性がある場合
上記の問題が発生した場合は、cdrw -p オプションを使用して、デバイスの書き込み速度を遅くしてください。
たとえば、4x の速度での書き込みをシミュレートします。
$ cdrw -iS -p 4 image.iso |
また、cdrw -C オプションを使用すると、80 分の CD をコピーするのに、規定のメディア容量が使われます。このオプションを指定しないと、cdrw コマンドは、オーディオ CD のコピーに 74 分というデフォルト値を使用します。
詳細については、cdrw(1) のマニュアルページを参照してください。
デフォルトでは、すべてのユーザーが Solaris 9 リリースで起動するリムーバブルメディアを利用できます。ただし、役割によるアクセス制御 (RBAC) で役割を設定して、リムーバブルメディアへのユーザーアクセスを制限することができます。リムーバブルメディアへのアクセスを制限するには、限られたユーザーに役割を割り当てます。
役割の使用方法については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の役割」を参照してください。
スーパーユーザーになるか、同等の役割を引き受けます。
Solaris 管理コンソールを起動します。
$ /usr/sadm/bin/smc & |
コンソールの起動方法については、ネームサービス環境で Solaris 管理コンソールを起動する方法を参照してください。
デバイス管理の権利が含まれている役割を設定します。
詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「管理役割ツールを使用して役割を作成する方法」を参照してください。
cdrw コマンドを使用する必要があるユーザーを、新しく作成した役割に追加します。
/etc/security/policy.conf ファイルの次の行をコメントにします。
AUTHS_GRANTED=solaris.device.cdrw |
この手順を実行しないと、デバイス管理役割のメンバーだけでなく、すべてのユーザーが引き続き cdrw コマンドを利用できます。
このファイルを変更した後は、デバイス管理役割のメンバーだけが cdrw コマンドを使用できるようになります。メンバー以外のユーザーがこのコマンドを使おうとすると、アクセスが拒否され、次のメッセージが表示されます。
Authorization failed, Cannot access disks. |
システム上の CD デバイスを確認する場合は、cdrw -l コマンドを使用します。
$ cdrw -l Looking for CD devices... Node | Connected Device | Device type ----------------------+--------------------------------+----------------- cdrom0 | YAMAHA CRW8424S 1.0d | CD Reader/Writer |
特定の CD デバイスを使用する場合は、-d オプションを指定します。たとえば、次のようになります。
$ cdrw -a filename.wav -d cdrom2 |
メディアが空であるか、または既存の目次があるかどうかを確認する場合は、cdrw -M コマンドを使用します。
$ cdrw -M Device : YAMAHA CRW8424S Firmware : Rev. 1.0d (06/10/99) Media is blank % |
cdrw コマンドは、vold を使用している状態でも使用していない状態でも機能します。ただし、vold デーモンを終了/起動する場合は、スーパーユーザーまたは役割のアクセス権が必要となります。
CD を CD-RW デバイスに挿入します。
CD は、デバイスが読み取ることができるものであれば、どんな種類の CD でもかまいません。
デバイスのリストを表示して、その CD-RW ドライブが正しく接続されていることを確認します。
$ cdrw -l Looking for CD devices... Node Connected Device Device type ----------------------+--------------------------------+----------------- cdrom1 | YAMAHA CRW8424S 1.0d | CD Reader/Writer |
(省略可能) そのドライブがリスト内にない場合、システムがそのデバイスを認識するように再構成ブートを行う必要があることがあります。
# touch /reconfigure # init 6 |
あるいは、次のコマンドを実行して、システムをリブートしないで CD-RW デバイスを追加できます。
# drvconfig # disks |
次に、vold を再起動します。
# /etc/init.d/vold stop # /etc/init.d/vold start |
まず mkisofs コマンドを使用してファイルとファイル情報を CD で使用されるハイシエラ形式に変換し、データを準備します。
空の CD を CD-RW デバイスに挿入します。
新しい CD で ISO 9660 ファイルシステムを作成します。
$ mkisofs -r /pathname > cd-file-system |
-r |
Rock Ridge 情報を作成し、ファイル所有権を 0 にリセットする |
/pathname |
ISO 9660 ファイルシステムの作成に使われるパス名を指定する |
> cd-file-system |
CD に書き込むファイルシステムの名前を指定する |
CD のファイルシステムを CD にコピーします。
$ cdrw -i cd-file-system |
-i cd-file-system |
データ CD を作成するためのイメージファイルを示す |
次の例は、データ CD 用の ISO 9660 ファイルシステムを作成する方法を示しています。
$ mkisofs -r /home/dubs/ufs_dir> ufs_cd Total extents actually written = 56 Total translation table size: 0 Total rockridge attributes bytes: 329 Total directory bytes: 0 Path table size(bytes): 10 Max brk space used 8000 56 extents written (0 Mb) |
次に、CD のファイルシステムを CD にコピーします。たとえば、次のようになります。
$ cdrw -i ufs_cd Initializing device...done. Writing track 1...done. Finalizing (数分かかる)...done. |
この手順では、複数のセッションを CD に書き込む方法について説明します。また、infoA と infoB の各ディレクトリを CD にコピーする例も示します。
最初の CD セッション用のファイルシステムを作成します。
$ mkisofs -o infoA -r -V my_infoA /data/infoA Total translation table size: 0 Total rockridge attributes bytes: 24507 Total directory bytes: 34816 Path table size(bytes): 98 Max brk space used 2e000 8929 extents written (17 Mb) |
-o infoA |
ISO ファイルシステムの名前 (この場合は infoA) を指定する |
-r |
Rock Ridge 情報を作成し、ファイル所有権を 0 にリセットする |
-V my_infoA |
vold がマウントポイントとして使用するボリュームラベル (この場合は my_infoA) を指定する |
/data/infoA |
作成する ISO イメージディレクトリを指定する |
最初のセッションの ISO ファイルシステムを CD にコピーします。
$ cdrw -iO infoA Initializing device...done. Writing track 1...done. done. Finalizing (数分かかる)...done. |
-i infoA |
CD に書き込むイメージファイルの名前 (infoA) を指定する |
-O |
書き込むために CD を開いたままにしておく |
CD が排出された後で、再度挿入します。
次の書き込みセッションに含める CD メディアのパス名を確認します。
$ eject -n . . . cdrom0 -> /vol/dev/rdsk/c2t4d0/my_infoA |
/vol/dev/... パス名を書き留めてください。
次のセッションを書き込む CD 上の次に書き込み可能なアドレスを確認します。
% cdrw -M /cdrom Device : YAMAHA CRW8424S Firmware : Rev. 1.0d (06/10/99) Track No. |Type |Start address ----------+--------+------------- 1 |Audio |0 2 |Audio |33057 3 |Data |60887 4 |Data |68087 5 |Data |75287 Leadout |Data |84218 Last session start address: 75287 Next writable address: 91118 |
Next writable address: 出力に記述されているアドレスを書き留めて、次のセッションの書き込み時にこのアドレスを使用できるようにします。
次の CD セッション用の ISO ファイルシステムを作成し、CD に書き込みます。
$ mkisofs -o infoB -r -C 0,91118 -M /vol/dev/rdsk/c2t4d0/my_infoA /data/infoB Total translation table size: 0 Total rockridge attributes bytes: 16602 Total directory bytes: 22528 Path table size(bytes): 86 Max brk space used 20000 97196 extents written (189 Mb) |
-o infoB |
ISO ファイルシステムの名前を指定する |
-r |
Rock Ridge 情報を作成し、ファイル所有権を 0 にリセットする |
-C 0,91118 |
最初のセッションの開始アドレスと、次に書き込み可能なアドレスを指定する |
-M /vol/dev/rdsk/c2t4d0/my_infoA |
マージする既存の ISO イメージのパスを示す |
/data/infoB |
作成する ISO イメージディレクトリを指定する |
cdrw コマンドを使用すると、個々のオーディオトラックまたは .au と .wav ファイルからオーディオ CD を作成できます。
次のオーディオ形式がサポートされています。
形式 |
説明 |
---|---|
sun |
Red Book CDDA 形式のデータが入る Sun .au ファイル |
wav |
Red Book CDDA 形式のデータが入る RIFF ( .wav) ファイル |
cda |
raw CD オーディオデータ (「リトルエンディアン」バイト順序により、44.1 kHz のサンプリングレートでサンプリングされた 16 ビットの PCM ステレオ) が入る.cda ファイル |
aur |
.aur ファイル。「ビッグエンディアン」バイト順序による raw CD データが入る |
オーディオ形式を指定しなかった場合、cdrw コマンドはファイル拡張子に基づいてオーディオファイルの形式を判断しようとします。ファイル拡張子の大文字と小文字は区別されません。
この手順では、オーディオファイルを CD にコピーする方法について説明します。
空の CD を CD-RW デバイスに挿入します。
オーディオファイルが入っているディレクトリに移動します。
$ cd /myaudiodir |
オーディオファイルを CD にコピーします。
$ cdrw -a track1.wav track2.wav track3.wav |
-a オプションによってオーディオ CD が作成されます。
次の例は、オーディオ CD を作成する方法を示しています。
$ cdrw -a bark.wav chirp.au meow.wav Initializing device...done. Writing track 1...done. done. Writing track 2...done. Writing track 3...done. done. Finalizing (数分かかる)...done. |
次の例は、マルチセッションのオーディオ CD を作成する方法を示しています。最初のセッションの書き込みが終わると、CD が排出されます。次の書き込みセッションの前に CD を再度挿入します。
$ cdrw -aO groucho.wav chico.au harpo.wav Initializing device...done. Writing track 1...done. done. Writing track 2...done. Writing track 3...done. done. Finalizing (数分かかる)...done. <CD を再挿入する> $ cdrw -a zeppo.au Initializing device...done. Writing track 1...done. done. Finalizing (数分かかる)...done. |
オーディオトラックを CD から抽出して、新しい CD にコピーする場合は、次の手順に従います。
cdrw -T オプションを使ってオーディオファイル形式を指定しなかった場合、cdrw コマンドはファイル名拡張子を使ってオーディオファイル形式を判断します。たとえば、cdrw コマンドは、このファイルが .wav ファイルであることを検知します。
$ cdrw -x 1 testme.wav |
オーディオ CD を CD-RW デバイスに挿入します。
オーディオトラックを抽出します。
$ cdrw -x -T audio-type 1 audio-file |
-x |
オーディオ CD からオーディオデータを抽出する |
T audio-type |
抽出されるオーディオファイルの形式を指定する。サポートされているオーディオ形式は、sun、wav、cda、aur |
抽出したトラックを新しい CD にコピーします。
$ cdrw -a audio-file |
次の例は、オーディオ CD から最初のトラックを抽出し、そのファイルに song1.wav という名前を付ける方法を示しています。
$ cdrw -x -T wav 1 song1.wav Extracting audio from track 1...done. |
次の例は、オーディオ CD にトラックをコピーする方法を示しています。
$ cdrw -a song1.wav Initializing device...done. Writing track 1...done. Finalizing (数分かかる)...done. |
この手順では、まずすべてのトラックをオーディオ CD から抽出してディレクトリに入れ、次にそれらのトラックをすべて空の CD にコピーする方法について説明します。
デフォルトでは、cdrw コマンドは CD を /tmp ディレクトリにコピーします。コピーを行うには、最高 700M バイトの空き領域が必要です。CD をコピーするのに必要な空き領域が /tmp ディレクトリに不足している場合は、-m オプションを使って代替ディレクトリを指定します。
オーディオ CD を CD-RW デバイスに挿入します。
オーディオ CD からトラックを抽出します。
$ mkdir music_dir $ cdrw -c -m music_dir |
トラックごとに Extracting audio ... メッセージが表示されます。
すべてのトラックが抽出されると、CD が排出されます。
空の CD を挿入して、Return キーを押します。
トラックの抽出が終わると、オーディオ CD が排出され、空の CD を挿入するよう指示するプロンプトが表示されます。
次の例は、CD 間でコピーする方法を示しています。この作業を行うには、CD-RW デバイスが 2 台必要です。
$ cdrw -c -s cdrom0 -d cdrom1 |
CD を書き換える前に、既存の CD-RW データを消去する必要があります。