Solaris のシステム管理 (基本編)

第 20 章 CD への書き込み (手順)

この章では、cdrw コマンドを使用して、データ CD やオーディオ CD を作成およびコピーする手順について説明します。

オーディオ CD やデータ CD の取り扱い

Solaris 9 リリースには cdrw コマンドが用意されています。このコマンドを使用すると、Rock Ridge 拡張または Joliet 拡張を備えた ISO 9660 フォーマットで、CD-R や CD-RW のメディアデバイス上に CD ファイルシステムを書き込むことができます。

cdrw コマンドを使用すると、次の作業を行えます。

cdrw コマンドは、Solaris 8 Operating Environment 1/01 の Software Supplement の CD から利用でき、Solaris 9 リリースには最初から組み込まれています。

推奨される CD-R または CD-RW デバイスについては、 http://www.sun.com/io_technologies/pci/removable.htmlをご覧ください。

Solaris CD のコピー方法については、 http://www.sun.com/blueprints/browsesubject.html の「Building a Bootable JumpstartTM Installation CD-ROM」という記事をご覧ください。

CD メディアに関するよく使われる用語

CD メディアについて言及するときによく使われる用語は、次のとおりです。

用語 

説明 

CD-R 

CD 読み取りメディア。1 度だけ書き込みができ、その後は読み取り専用となる。 

CD-RW 

書き換え可能な CD メディア。書き込みと消去が可能。CD-RW デバイスだけが CD-RW メディアを読み取れる。 

ISO 9660 

ISO (Industry Standards Organization の略)。コンピュータの標準記憶フォーマットを設定する組織。 

ISO 9660 ファイルシステムは、標準の CD-ROM ファイルシステムであり、主だったコンピュータプラットフォームで同じ CD-ROM を読み取れる。この標準は 1988 年に発行され、ハイシエラ (ネバダ州のハイシエラホテルにちなんで名づけられた) という業界団体によって作成された。CD-ROM ドライブを備えたほぼすべてのコンピュータが ISO 9660 ファイルシステムからファイルを読み取れる。 

Joliet 拡張 

Rock Ridge 拡張 

WindowsTM ファイルシステム情報を追加する。

UNIXTM ファイルシステム情報を追加する。(Rock Ridge は映画「Blazing Saddles」に出てくる町にちなんで名づけられた。)


注 –

これらの拡張は排他的ではない。したがって、mkisofs コマンドに -R-j の両オプションを指定して両方のシステムとの互換性を確保できる。(詳細については mkisofs(1M) のマニュアルページを参照。)


MMC 準拠のレコード 

Multi Media Command の略。これらのレコーダが共通のコマンドセットに準拠していること意味する。ある MMC 準拠レコーダに書き込めるプログラムは、他のすべての MMC 準拠レコーダにも書き込むことができる。 

Red Book CDDA 

Compact Disc Digital Audio の略。デジタルオーディオをコンパクトディスクに格納するための業界標準方式。「Red Book」形式とも呼ばれる。この公式の業界仕様では、1 つまたは複数のオーディオファイルが 44.1 kHz のサンプリングレートで 16 ビットのステレオサウンドにサンプリングされることが要求される。 

CD メディアを扱うときによく使われる用語は、次のとおりです。

用語 

説明 

ブランキング 

CD-RW メディアからデータを消去する処理 

mkisofs

ISO ファイルシステムを CD に書き込むためのコマンド 

セッション 

リードイン/リードアウト情報を持つ完全なトラック 

トラック 

完全なデータまたはオーディオの単位 

データ CD やオーディオ CD への書き込み

CD への書き込み処理は、途中で中断されることなく、データストリームが一定に保たれている必要があります。cdrw -S オプションを使用してメディアへの書き込みをシミュレートし、システムが CD への書き込みに十分適した速度でデータを送れるかどうかを確認してみてください。

次の場合には、書き込みエラーが発生することがあります。

上記の問題が発生した場合は、cdrw -p オプションを使用して、デバイスの書き込み速度を遅くしてください。

たとえば、4x の速度での書き込みをシミュレートします。


$ cdrw -iS -p 4 image.iso        

また、cdrw -C オプションを使用すると、80 分の CD をコピーするのに、規定のメディア容量が使われます。このオプションを指定しないと、cdrw コマンドは、オーディオ CD のコピーに 74 分というデフォルト値を使用します。

詳細については、cdrw(1) のマニュアルページを参照してください。

RBAC を使用してリムーバブルメディアへのユーザーアクセスを制限する

デフォルトでは、すべてのユーザーが Solaris 9 リリースで起動するリムーバブルメディアを利用できます。ただし、役割によるアクセス制御 (RBAC) で役割を設定して、リムーバブルメディアへのユーザーアクセスを制限することができます。リムーバブルメディアへのアクセスを制限するには、限られたユーザーに役割を割り当てます。

役割の使用方法については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の役割」を参照してください。

RBAC を使用してリムーバブルメディアへのユーザーアクセスを制限する方法

  1. スーパーユーザーになるか、同等の役割を引き受けます。

  2. Solaris 管理コンソールを起動します。


    $ /usr/sadm/bin/smc & 
    

    コンソールの起動方法については、ネームサービス環境で Solaris 管理コンソールを起動する方法を参照してください。

  3. デバイス管理の権利が含まれている役割を設定します。

    詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「管理役割ツールを使用して役割を作成する方法」を参照してください。

  4. cdrw コマンドを使用する必要があるユーザーを、新しく作成した役割に追加します。

  5. /etc/security/policy.conf ファイルの次の行をコメントにします。


    AUTHS_GRANTED=solaris.device.cdrw

    この手順を実行しないと、デバイス管理役割のメンバーだけでなく、すべてのユーザーが引き続き cdrw コマンドを利用できます。

    このファイルを変更した後は、デバイス管理役割のメンバーだけが cdrw コマンドを使用できるようになります。メンバー以外のユーザーがこのコマンドを使おうとすると、アクセスが拒否され、次のメッセージが表示されます。


    Authorization failed, Cannot access disks.

CD デバイスを確認する方法

システム上の 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
%

CD メディアをチェックする方法

cdrw コマンドは、vold を使用している状態でも使用していない状態でも機能します。ただし、vold デーモンを終了/起動する場合は、スーパーユーザーまたは役割のアクセス権が必要となります。

  1. CD を CD-RW デバイスに挿入します。

    CD は、デバイスが読み取ることができるものであれば、どんな種類の CD でもかまいません。

  2. デバイスのリストを表示して、その CD-RW ドライブが正しく接続されていることを確認します。


    $ cdrw -l
     Looking for CD devices...
        Node                   Connected Device                Device type
    ----------------------+--------------------------------+-----------------
     cdrom1               | YAMAHA   CRW8424S         1.0d | CD Reader/Writer
  3. (省略可能) そのドライブがリスト内にない場合、システムがそのデバイスを認識するように再構成ブートを行う必要があることがあります。


    # touch /reconfigure
    # init 6
    

    あるいは、次のコマンドを実行して、システムをリブートしないで CD-RW デバイスを追加できます。


    # drvconfig
    # disks
    

    次に、vold を再起動します。


    # /etc/init.d/vold stop
    # /etc/init.d/vold start
    

データ CD を作成する

まず mkisofs コマンドを使用してファイルとファイル情報を CD で使用されるハイシエラ形式に変換し、データを準備します。

データ CD 用の ISO 9660 ファイルシステムを作成する方法

  1. 空の CD を CD-RW デバイスに挿入します。

  2. 新しい CD で ISO 9660 ファイルシステムを作成します。


    $ mkisofs -r /pathname > cd-file-system
    

    -r

    Rock Ridge 情報を作成し、ファイル所有権を 0 にリセットする 

    /pathname

    ISO 9660 ファイルシステムの作成に使われるパス名を指定する 

    > cd-file-system

    CD に書き込むファイルシステムの名前を指定する 

  3. CD のファイルシステムを CD にコピーします。


    $ cdrw -i cd-file-system
    

    -i cd-file-system

    データ CD を作成するためのイメージファイルを示す 

例 — データ CD 用の ISO 9660 ファイルシステムを作成する

次の例は、データ 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 を作成する方法

この手順では、複数のセッションを CD に書き込む方法について説明します。また、infoAinfoB の各ディレクトリを CD にコピーする例も示します。

  1. 最初の 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 イメージディレクトリを指定する 

  2. 最初のセッションの ISO ファイルシステムを CD にコピーします。


    $ cdrw -iO infoA
    Initializing device...done.
    Writing track 1...done.
    done. 
    Finalizing (数分かかる)...done.

    -i infoA

    CD に書き込むイメージファイルの名前 (infoA) を指定する

    -O

    書き込むために CD を開いたままにしておく 

  3. CD が排出された後で、再度挿入します。

  4. 次の書き込みセッションに含める CD メディアのパス名を確認します。


    $ eject -n
    .
    .
    .
    cdrom0 -> /vol/dev/rdsk/c2t4d0/my_infoA

    /vol/dev/... パス名を書き留めてください。

  5. 次のセッションを書き込む 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: 出力に記述されているアドレスを書き留めて、次のセッションの書き込み時にこのアドレスを使用できるようにします。

  6. 次の 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 イメージディレクトリを指定する 

オーディオ CD を作成する

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 にコピーする方法について説明します。

  1. 空の CD を CD-RW デバイスに挿入します。

  2. オーディオファイルが入っているディレクトリに移動します。


    $ cd /myaudiodir
    
  3. オーディオファイルを CD にコピーします。


    $ cdrw -a track1.wav track2.wav track3.wav
    

    -a オプションによってオーディオ CD が作成されます。

例 — オーディオ 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 から抽出して、新しい CD にコピーする場合は、次の手順に従います。

cdrw -T オプションを使ってオーディオファイル形式を指定しなかった場合、cdrw コマンドはファイル名拡張子を使ってオーディオファイル形式を判断します。たとえば、cdrw コマンドは、このファイルが .wav ファイルであることを検知します。


$ cdrw -x 1 testme.wav
  1. オーディオ CD を CD-RW デバイスに挿入します。

  2. オーディオトラックを抽出します。


    $ cdrw -x -T  audio-type 1 audio-file
    

    -x

    オーディオ CD からオーディオデータを抽出する 

    T audio-type

    抽出されるオーディオファイルの形式を指定する。サポートされているオーディオ形式は、sunwavcdaaur

  3. 抽出したトラックを新しい CD にコピーします。


    $ cdrw -a audio-file
    

例 — オーディオトラックを CD から抽出してオーディオ CD を作成する方法

次の例は、オーディオ 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 から抽出してディレクトリに入れ、次にそれらのトラックをすべて空の CD にコピーする方法について説明します。


注 –

デフォルトでは、cdrw コマンドは CD を /tmp ディレクトリにコピーします。コピーを行うには、最高 700M バイトの空き領域が必要です。CD をコピーするのに必要な空き領域が /tmp ディレクトリに不足している場合は、-m オプションを使って代替ディレクトリを指定します。


  1. オーディオ CD を CD-RW デバイスに挿入します。

  2. オーディオ CD からトラックを抽出します。


    $ mkdir music_dir
    $ cdrw -c -m music_dir
    

    トラックごとに Extracting audio ... メッセージが表示されます。

    すべてのトラックが抽出されると、CD が排出されます。

  3. 空の CD を挿入して、Return キーを押します。

    トラックの抽出が終わると、オーディオ CD が排出され、空の CD を挿入するよう指示するプロンプトが表示されます。

例 — CD をコピーする

次の例は、CD 間でコピーする方法を示しています。この作業を行うには、CD-RW デバイスが 2 台必要です。


$ cdrw -c -s cdrom0 -d cdrom1

CD-RW メディアを消去する方法

CD を書き換える前に、既存の CD-RW データを消去する必要があります。

  1. 次のいずれかの手順を選択して、メディア全体を消去するか、CD 上の最後のセッションだけを消去します。

    1. 最後のセッションだけを消去する


      $ cdrw -d cdrom0 -b session
      

      -b session オプションを使って最後のセッションだけを消去する場合は、-b all オプションを使ってメディア全体を消去する場合に比べて短い時間で済みます。cdrw コマンドを使用して、1 セッションだけでデータ CD またはオーディオ CD を作成した場合でも、-b session オプションを使用できます。

    2. メディア全体を消去する


      $ cdrw -d cdrom0 -b all