Solaris のシステム管理

CD の使用方法

表 12-1 作業マップ: CD の代表的な使用方法
  作業  説明  手順の説明
 

CD のロード 

 

CD-ROM ドライブに CD を挿入する 

 

「CD をロードする方法」

 
        
 

内容のチェック 

 

省略可能。 

CD の内容を調べるには、/cdrom の下にある適切なディレクトリを調べる。

 

「CD の内容を調べる方法」

 
          
 

ファイルまたはディレクトリのコピー 

 

省略可能。 

ファイルシステムの他の任意の場所からコピーを行う場所と同様に、CD からファイルまたはディレクトリコピーする。 

 

「CD から情報をコピーする方法」

 
          
 

CD が使用中かどうかの確認 

 

省略可能。 

CD を取り出す前に、それが使用中かどうかを確認する。 

 

「CD が使用中かどうかを調べる方法」

 
          
 

CD の取り出し 

 

終了したら、CD を取り出す。 

 

「CD を取り出す方法」

 
   

CD 名の使用方法

CD を操作する場合、名前または以下の 表 12-2 に示す呼び名によって、それらを識別できます。説明を簡単にするため、作業の説明では cdrom0 を使用しますが、CD 名または別の呼び名を使用することもできます。

表 12-2 CD の識別方法

CD 

代替名 

最初の CD-ROM ドライブ 

cdrom0

2 番目の CD-ROM ドライブ 

cdrom1

3 番目の CD-ROM ドライブ 

cdrom2

CD をロードする方法

CD を挿入します。ランプの点滅が消えるとすぐに (およそ 5〜10 秒)、CD は /cdrom にマウントされます。CD がマウントされたことを確認するには、次の 「CD の内容を調べる方法」で説明する作業を実行してください。


注 -

ほとんどの CD は、ISO 9660 標準にフォーマットされています。これには移植性があるため、ほとんどの CD をボリューム管理によってマウントできます。ただし、第 15 章「ボリューム管理の動作の概要」で説明するように、UFS CD はアーキテクチャが異なると互換性がないため、専用のアーキテクチャ上で使用する必要があります。CD のマウントで問題が生じた場合、特にそれがインストール用 CD の場合は、その UFS ファイルシステムが使用しているシステムのアーキテクチャに適しているかを CD のラベルをチェックして確認してください。


CD の内容を調べる方法

/floppy および /cdrom の下にあるディレクトリの一部はシンボリックリンクであるため、ls コマンドに -L オプションを付けて使用してください。

$ ls -L [-l] /cdrom/cdrom0

-L

出力にシンボリックリンクを含める。 

-l

長い形式で出力する。アクセス権と所有権を含める。 

例 - CD の内容を調べる

次の例は、最初の CD-ROM ディレクトリである /cdrom/cdrom0 にロードされた CD の内容を示します。

$ ls -L -l /cdrom/cdrom0
dr-xr-xr-x   2  root   sys  2048  Dec 31  1993  tools
dr-xr-xr-x   2  root   sys  2048  Dec 31  1993  graphics

CD から情報をコピーする方法

他のファイルシステムの場合と同様に、CD のファイルとディレクトリにもアクセスできます。ただし、所有権とアクセス権については注意が必要です。たとえば、あるユーザーが、CD ファイルを各自のファイルシステムにコピーした場合、そのユーザーは所有者になりますが、書き込み権はありません (これは、CD 上で書き込み権がなかったためです)。アクセス権を各自で変更する必要があります。

  1. CD がマウントされていることを確認します。

        $ ls /cdrom
    

    ls コマンドは、マウントされた CD の内容を表示します。内容が表示されない場合は、「CD をロードする方法」を参照してください。

  2. ファイルまたはディレクトリをコピーします。

    コピーするもの 

    使用するコマンド 

    ファイル 

    cp

    ディレクトリ 

    cp -r

例 - CD から情報をコピーする

次の例では、cp コマンドを使用して 1 つのファイルを /cdrom/solstice_sysmgt_2_3 ディレクトリからシステムの作業ディレクトリ (「.」で示す) へコピーします。

$ cp /cdrom/solstice_sysmgt_2_3/README .$ ls -l
-r--r--r--   1 pmorph   users       4618 May  9 08:09 README

ファイルまたはディレクトリが CD からファイルシステムへコピーされる場合、実行したユーザーがその所有者になりますが、CD 上で持っていたアクセス権を保持します。

-r--r--r--

これを変更するには、chmod コマンドでアクセス権を変更する必要があります。chmod コマンドの使用方法については、第 51 章「ファイルのセキュリティの適用手順」を参照してください。

CD が使用中かどうかを調べる方法

  1. スーパーユーザーになります。

  2. fuser コマンドを入力します。

    fuser コマンドは、指定する CD に現在アクセス中のプロセスを表示します。

        # fuser -u [-k] /cdrom/cdrom0
    

    -u

    CD のユーザーを表示する。 

    -k

    CD にアクセス中のプロセスを終了させる。 

fuser コマンドは、終了したプロセスすべてを必ず識別できるわけではありません。確認するには、-u オプションを付けて、もう一度このコマンドを実行してください。

例 - CD が使用中かどうかを調べる

以下の例では、プロセス 6400c6399c/cdrom/cdrom0 ディレクトリにアクセスしており、プロセスの所有者はそれぞれ rootsmith です。

# fuser -u /cdrom/cdrom0/cdrom/cdrom0: 6400c(root)  6399c(smith)

各プロセスを別々に (スーパーユーザー権限により) 終了するか、あるいは -k オプションを付けて fuser コマンドを使用できます。このオプションはファイルシステムにアクセスしているすべてのプロセスを終了させます。

# fuser -u -k /cdrom/cdrom0/cdrom/cdrom0: 6400c(root)Killed  6399c(smith)Killed

CD を取り出す方法

  1. CD が使用中ではないことを確認します。

    CD は、シェルまたはアプリケーションがそのファイルまたはディレクトリのいずれかにアクセスしている場合には「使用中」であることを忘れないでください。CD のすべてのユーザーを検出したかどうかを確認できない場合は (デスクトップツールの背後に隠れているシェルがアクセスしている可能性がある場合は)、「CD が使用中かどうかを調べる方法」に説明されている fuser コマンドを使用してください。

  2. CD を取り出します。

        # eject cdrom0
    

他のシステム上の CD にアクセスする方法

他のシステム上の CD を各自のファイルシステムに手作業でマウントすることによって、その CD にアクセスできます。ただしこれは、他のシステムが、「ローカル CD を他のシステムで使用可能にする方法」の指示に従って CD-ROM をエクスポートしている場合にかぎります。

  1. マウントポイントとして指定する既存のディレクトリを選択するか、あるいは作成します。

        $ mkdir directory
    

    directory

    他のシステムの CD のマウントポイントとして作成するディレクトリの名前 

  2. マウントしたい CD の名前を確認します。

    手作業でリモート CD をマウントする場合は、ローカル CD で使用可能な cdrom0 または cdrom1 変数を使用できません。CD 名そのものを使用する必要があります。この名前を確認するには、リモートシステムの /cdrom ディレクトリで ls コマンドを使用してください。オートマウンタが実行されている場合は、マウントしたい CD を持つシステムに cd コマンドで移動してから、ls コマンドを使用できます。オートマウンタが実行されていない場合は、リモートからログインするなどの別の方法を使用する必要があります。

  3. スーパーユーザー権限で、CD をマウントします。

        # mount -F nfs -o ro system-name:/cdrom/cd-name local-mount-point
    

    system-name

    マウントする CD を持つシステムの名前 

    cd-name

    マウントしたい CD の名前 

    local-mount-point

    リモート CD のマウント先のローカルディレクトリ 

  4. スーパーユーザーをログアウトします。

  5. CD が実際にマウントされたかどうかを確認するには、ls コマンドを使用して、マウントポイントの内容を表示します。

        $ ls /cdrom
    

例 - 他のシステム上の CD にアクセスする

次の例では、リモートシステム mars 上の Solaris_2.6_sparc という名前の CD を、ローカルシステムの /cdrom ディレクトリにマウントしています。

$ cd /net/mars
$ ls /cdrom
cdrom0     Solaris_2.6_sparc
$ su
Password: password
# mount -F nfs ro mars:/cdrom/Solaris_2.6_sparc /cdrom
# exit
$ ls /cdrom
Solaris_2.6_sparc

ローカル CD を他のシステムで使用可能にする方法

システムを設定して、その CD-ROM をエクスポートすることができます。つまり、これらのドライブ上の CD (音楽 CD を除く) を、他のシステムで使用できるようにすることができます。 CD-ROM ドライブがエクスポートされると、他のシステムは、「他のシステム上の CD にアクセスする方法」に説明されているように、それらをマウントするだけでそこに含まれる CD にアクセスできます。

  1. スーパーユーザーになります。

  2. NFS デーモン (nfsd) が実行されているかどうかを確認します。

        # ps -ef | grep nfsd
        root 14533    1 17 10:46:55 ?     0:00 /usr/lib/nfs/nfsd -a 16
        root 14656  289  7 14:06:02 pts/3 0:00 grep nfsd

    デーモンが実行されていると、/usr/lib/nfs/nfsd の行は、上記のとおりに表示されます。デーモンが実行されていないと、grep nfsd の行だけが表示されます。

  3. 以下の表からオプションを選択します。

    条件 

    次の手順 

    nfsd が実行されている場合

    手順 8

    nfsd が実行されていない場合

    手順 4 

  4. nfsd がエクスポートするダミーディレクトリを作成します。

        # mkdir /dummy-dir
    

    dummy-dir

    たとえば、dummy などの任意のディレクトリ名。このディレクトリにはファイルは含まれない。この目的は、NFS デーモンを「呼び起こして」、エクスポートされた CD-ROM を認識させることにある。

  5. 次のエントリを /etc/dfs/dfstab に追加します。

        
    share -F nfs -o ro [-d comment] /dummy-dir
    

    NFS デーモンを起動すると、このエントリを参照して、エクスポートされたフロッピーディスクドライブを認識します。コメント (-d が前に付く) はオプションです。

  6. NFS デーモンを起動します。

        # /etc/init.d/nfs.server start
    
  7. NFS デーモンが実際に実行されていることを確認します。

        # ps -ef | grep nfsd
        root 14533    1 17 10:46:55 ?     0:00 /usr/lib/nfs/nfsd -a 16
        root 14656  289  7 14:06:02 pts/3 0:00 /grep nfsd
  8. 現在ドライブにある CD を取り出します。

        # eject cdrom0
    
  9. root の書き込み権を /etc/rmmount.conf に割り当てます。

        # chmod 644 /etc/rmmount.conf
    
  10. 次の行を /etc/rmmount.conf に追加します。

        # File System Sharing
        share cdrom*

    上記の行によって、システムの CD-ROM ドライブにロードされる CD が共有されます。ただし、share(1M) のマニュアルページで説明されているように、特定の CD (複数も可) に共有範囲を限定することができます。

  11. /etc/rmmount.conf から書き込み権を削除します。

        # chmod 444 /etc/rmmount.conf
    

    この手順により、ファイルはそのデフォルトのアクセス権に戻ります。

  12. CD をロードします。

    ここでロードする CD は他のシステムで使用できるようになります。必ずドライブのランプの点滅が消えるまで待って、この作業を確認するようにしてください。

    CD にアクセスするために、リモートユーザーは、「他のシステム上の CD にアクセスする方法」の指示に従って、名前によりその CD をマウントする必要があります。

  13. CD が実際に他のシステムで使用できるかどうかを確認するには、share コマンドを使用してください。

    CD が使用可能な場合は、その共有の設定が表示されます。(共有されるダミーディレクトリも表示されます。)

        # share
        -    /dummy  ro "dummy dir to wake up NFS daemon"
        -    /Solaris_2.6_sparc  ro  ""

例 -ローカル CD を他のシステムで使用可能にする

次の例では、ローカルシステムの CD-ROM ドライブにロードされた CD を、ネットワーク上の他のシステムで使用できるようにしています。

# ps -ef | grep nfsd
    root 10127  9986  0 08:25:01 pts/2    0:00 grep nfsd
    root 10118     1  0 08:24:39 ?        0:00 /usr/lib/nfs/nfsd -a
# mkdir /dummy
# vi /etc/dfs/dfstab
(次の行を追加する)
share -F nfs -o ro  /dummy
# eject cdrom0
# chmod 644 /etc/rmmount.conf
# vi /etc/rmmount
(次の行をファイルシステム共有セクションに追加する)
share cdrom*
# chmod 444 /etc/rmmount.conf
(CD をロードする)
# share
-					  /dummy ro ""
-               /cdrom/solaris_2_6_sparc/s5   ro   ""  
-               /cdrom/solaris_2_6_sparc/s4   ro   ""  
-               /cdrom/solaris_2_6_sparc/s3   ro   ""  
-               /cdrom/solaris_2_6_sparc/s2   ro   ""  
-               /cdrom/solaris_2_6_sparc/s1   ro   ""  
-               /cdrom/solaris_2_6_sparc/s0   ro   ""  

音楽 CD を演奏するようにシステムを設定する方法

Solaris システムに接続された CD-ROM から音楽 CD を演奏できます。パブリックドメインソフトウェアである Workman にアクセスして、外部スピーカまたはヘッドホンを、CD-ROM ドライブに接続する必要があります。システムハードウェアに接続されたスピーカは動作しません。

システムを設定したら、それを CD-ROM ドライブに挿入するだけで、音楽 CD を演奏できます。Workman のコントロールパネルは、デスクトップに自動的に表示されます。

  1. スーパーユーザーになります。

  2. /etc/rmmount.conf を編集します。

    以下の例に示すように、# Actions の下、cdrom 記述の前に次の行を追加します。

        # Actions
        action cdrom action_workman.so path/workman workman-options
    

    path

    Workman ソフトウェアを置いたディレクトリ 

    workman-options

    Workman ソフトウェアによって許可されたオプション 

例 - 音楽 CD を演奏するようにシステムを設定する

この例では、Workman ソフトウェアをサポートするように変更された /etc/rmmount.conf ファイルを示します。

# @(#)rmmount.conf 1.3     96/05/10 SMI
#
# Removable Media Mounter configuration file.
#

# File system identification
ident hsfs ident_hsfs.so cdrom
ident ufs ident_ufs.so cdrom floppy rmscsi pcmem
ident pcfs ident_pcfs.so floppy rmscsi pcmem

# Actions
action cdrom action_workman.so /usr/dist/exe/workman
action cdrom action_filemgr.so
action floppy action_filemgr.so
action rmscsi action_filemgr.so

# File System Sharing
share cdrom*
share floppy*

新しい CD-ROM ドライブ用にシステムを準備する方法

boot -r コマンドによって正しくブートされたシステムでは、ボリューム管理は新しい CD-ROM ドライブを自動的に認識します。ただし、ボリューム管理が常に新しいドライブを認識するようにするには、/reconfigure ファイルを作成する必要があります。

  1. スーパーユーザーになります。

  2. /reconfigure というファイルを作成します。

        # touch /reconfigure
    

    /reconfigure ファイルは、システムの電源を入れたとき、またはシステムをブートしたときに、Solaris 環境が、新たにインストールされた周辺デバイスがあるかどうかをチェックするように設定するものです。この後で、ボリューム管理は、新しいデバイスを検出し、ユーザーに代わってそれを自動的に管理します。