Solaris のシステム管理 (第 1 巻)

第 15 章 コマンド行での CD の使用方法 (手順)

この章では、Solaris 環境においてコマンド行から CD を使用する方法について説明します。この章で説明する手順は次のとおりです。

CD の使用方法

表 15-1 作業マップ: 一般的な CD の使用方法

作業 

説明 

手順の説明 

CD のロード 

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

「CD をロードする方法」

CD の内容の確認 

省略可能。 

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

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

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

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

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

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

省略可能。 CD を取り出す前に、CD が使用中かどうかを確認する。

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

CD の取り出し 

作業が終了したら、CD-ROM ドライブから CD を取り出す。 

「CD を取り出す方法」

CD の名前について

CD を操作する場合、名前または以下の 表 15-2 に示す代替名によって、CD を識別できます。説明を簡単にするため、このマニュアル中の説明では cdrom0 を使用しますが、実際の作業では CD 名または別の代替名を使用することもできます。

表 15-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 をボリューム管理によってマウントできます。ただし、第 18 章「ボリューム管理の動作 (参照情報)」で説明するように、UFS CD はアーキテクチャに依存するため、専用のアーキテクチャ上で使用する必要があります。CD のマウントで問題が生じた場合、特にそれがインストール用 CD の場合は、その UFS ファイルシステムが、使用しているシステムのアーキテクチャに適しているかどうかを CD のラベルで確認してください。


CD の内容を調べる方法

ls -L コマンドを使用して、/cdrom ディレクトリの内容を表示します。


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

-L

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

-l

詳細表示。出力にアクセス権と所有権を含める。 

例 - CD の内容を調べる

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


$ ls -L -l /cdrom/cdrom0
total 166
drwxr-xr-x   4 root     root        2048 Jul 21 05:18 MU
drwxr-xr-x   4 root     root        2048 Jul 21 05:18 Solaris_7_MU3
-rwxr-xr-x   1 root     root       30952 Jul 21 05:18 backout_mu
-rwxr-xr-x   1 root     root       49604 Jul 21 05:18 install_mu

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 コマンドの使用方法については、『Solaris のシステム管理 (第 2 巻)』の「ファイルのセキュリティの適用手順」を参照して下さい。

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

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

  2. CD にアクセスしているプロセスを確認します。

    fuser(1M) コマンドは、指定する 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 のすべてのユーザーを検出したかどうかを確認できない場合は (デスクトップツールの背後に隠れているシェルがアクセスしている可能性がある場合は)、「CD が使用中かどうかを調べる方法」に説明されている fuser コマンドを使用してください。

  2. CD を取り出します。


    # eject cdrom0
    

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

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

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


    $ mkdir directory
    

    directory

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

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


    $ showmount -e system-name
    export list for system-name:
    /cdrom/sol_8_sparc (everyone)
  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 上で、sol_8_sparc という名前の CD を、ローカルシステムの /cdrom ディレクトリにマウントしています。


$ showmount -e starbug
export list for starbug:
/cdrom/sol_8_sparc (everyone)
$ su
Password: password
# mount -F nfs -o ro starbug:/cdrom/sol_8_sparc /cdrom
# exit
$ ls /cdrom
cdrom0     sol_8_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 が使用可能な場合は、その共有の設定が表示されます。(共有される dummy ディレクトリも表示されます。)


    # share
    -    /dummy  ro "dummy dir to wake up NFS daemon"
    -    /Sol_7_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/sol_7_sparc/s5   ro   ""  
-               /cdrom/sol_7_sparc/s4   ro   ""  
-               /cdrom/sol_7_sparc/s3   ro   ""  
-               /cdrom/sol_7_sparc/s2   ro   ""  
-               /cdrom/sol_7_sparc/s1   ro   ""  
-               /cdrom/sol_7_sparc/s0   ro   ""  
# 

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

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

システムを設定したら、音楽 CD を 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 ドライブ用にシステムを準備する方法

ボリューム管理が新しい CD-ROM ドライブを認識するようにするには、/reconfigure ファイルを作成し、システムをリブートする必要があります。

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

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


    # touch /reconfigure
    
  3. システムをリブートします。


    # init 6
    

ボリューム管理の設定

通常はボリューム管理を使用しないで、フロッピーディスクまたは CD を管理したいことがあります。ここでは、ボリューム管理を終了してその後再起動する方法を説明します。

ボリューム管理を終了させる方法

  1. フロッピーディスクまたは CD が使用中でないことを確認します。

    フロッピーディスクまたは CD を使用中のすべてのユーザーを確認したかどうかを調べるには、「CD が使用中かどうかを調べる方法」に説明されている fuser コマンドを使用してください。

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

  3. volmgt stop コマンドを入力します。


    # /etc/init.d/volmgt stop
    #

ボリューム管理を再起動する方法

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

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


    # /etc/init.d/volmgt start
    volume management starting.