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

第 18 章 リムーバブルメディアへのアクセス (手順)

この章では、Solaris 環境でコマンド行からリムーバブルメディアにアクセスする方法について説明します。

リムーバブルメディアへのアクセスに関連する手順については、次の節を参照してください。

リムーバブルメディアの概要については、第 17 章「リムーバブルメディアの管理 (概要)」を参照してください。

リムーバブルメディアへのアクセス (作業マップ)

作業 

説明 

参照先 

1. (省略可能) リムーバブルメディアドライブを追加する 

必要に応じて、リムーバブルメディアドライブをシステムに追加する 

「新しいリムーバブルメディアドライブを追加する方法」

2. (省略可能) リムーバブルメディアにアクセスするときにボリューム管理 (vold) を使用するかどうかを決める

デフォルトでは、ボリューム管理 (vold) は実行される。リムーバブルメディアにアクセスするときにボリューム管理を使用するかどうかを決める

「ボリューム管理 (vold) を終了/起動する方法」

3. リムーバブルメディアにアクセスする 

ボリューム管理を使用して/使用しないで、各種のリムーバブルメディアにアクセスする 

「リムーバブルメディア上の情報にアクセスする方法」

4. (省略可能) ファイルまたはディレクトリをコピーする  

ファイルまたはディレクトリを、ファイルシステムの別の場所からコピーするように、リムーバブルメディアからコピーする 

「リムーバブルメディア上の情報をコピーする方法」

5. (省略可能) 音楽用 CD/DVD を再生するようにシステムを設定する 

音楽用 CD/DVD を再生するようにシステムを設定できるが、再生には Sun 以外のソフトウェアが必要になる 

「音楽用 CD/DVD を再生する方法」

6. メディアが使用中であるかどうかを調べる  

メディアを取り出す前に、それが使用中であるかどうかを調べる 

「リムーバブルメディアが使用中かどうかを調べる方法」

7. メディアを取り出す 

作業が終了したら、ドライブからメディアを取り出す 

「リムーバブルメディアを取り出す方法」

リムーバブルメディアへのアクセス (概要)

リムーバブルメディア上の情報にアクセスするには、ボリュームマネージャを使用する方法と使用しない方法があります。CDE のファイルマネージャを使用してリムーバブルメディア上の情報にアクセスする方法については、『Solaris 共通デスクトップ環境 ユーザーズ・ガイド』で関連する章を参照してください。

Solaris 8 6/00 リリースから、ボリュームマネージャ (vold) ですべてのリムーバブルメディアデバイスを動的に管理できるようになりました。これに伴い、/dev/rdsk/cntndnsn/dev/dsk/cntndnsn などのデバイス名でのリムーバブルメディアへのアクセスは、できなくなります。

リムーバブルメディア名の使用

リムーバブルメディアには、さまざまな名前でアクセスできます。次の表に、ボリューム管理を使用して/使用しないでアクセスできるさまざまなメディア名を示します。

表 18-1 リムーバブルメディア名

メディア 

ボリューム管理デバイスの名前 

ボリューム管理デバイスの別名 

デバイス名 

最初のフロッピーディスクドライブ 

/floppy

/vol/dev/aliases/floppy0

/dev/rdiskette

/vol/dev/rdiskette0/

volume-name

最初、2 番目、3 番目の CD-ROM または DVD-ROM ドライブ 

/cdrom0

/cdrom1

/cdrom2

/vol/dev/aliases/cdrom0

/vol/dev/aliases/cdrom1

/vol/dev/aliases/cdrom2

/vol/dev/rdsk/c ntn [dn]/

volume-name

最初、2 番目、3 番目の Jaz (ジャズ) ドライブ  

/rmdisk/jaz0

/rmdisk/jaz1

/rmdisk/jaz2

/vol/dev/aliases/jaz0

/vol/dev/aliases/jaz1

/vol/dev/aliases/jaz2

/vol/dev/rdsk/c ntn dn/

volume-name

最初、2 番目、3 番目の Zip ドライブ  

/rmdisk/zip0

/rmdisk/zip1

/rmdisk/zip2

/vol/dev/aliases/zip0

/vol/dev/aliases/zip1

/vol/dev/aliases/zip2

/vol/dev/rdsk/c ntn dn/

volume-name

最初、2 番目、3 番目の PCMCIA ドライブ  

/pcmem/pcmem0

/pcmem/pcmem1

/pcmem/pcmem2

/vol/dev/aliases/pcmem0

/vol/dev/aliases/pcmem1

/vol/dev/aliases/pcmem2

/vol/dev/rdsk/c nt ndn /

volume-name

特定の Solaris コマンドで使用するリムーバブルメディア名を確認する場合は、次の表を使用してください。

Solaris コマンド 

デバイス名 

使用例 

lsmorevi

/floppy

/cdrom

/rmdisk/zip0

/rmdisk/jaz0

/pcmem/pcmem0

ls /floppy/myfiles/

more /cdrom/myfiles/filea

fscknewfsmkfs

/vol/dev/aliases/floppy0

/vol/dev/rdsk/cntndn

newfs /vol/dev/aliases/floppy0

mkfs -F udfs/vol/dev/rdsk/cntndn

リムーバブルメディア上のデータにアクセスするためのガイドライン

ほとんどの CD と DVD は、ISO 9660 標準でフォーマットされています。このフォーマットには移植性があるため、ほとんどの CD と DVD をボリューム管理によってマウントできます。ただし、UFS ファイルシステムを持つ CD と DVD にはアーキテクチャ間の移植性がないため、設計されたときのアーキテクチャで使用する必要があります。

たとえば、SPARC システム用にフォーマットされた UFS ファイルシステムを持つ CD と DVD は、IA システムでは認識できません。同様に、 IA システム用にフォーマットされた UFS CD は、ボリューム管理によって SPARC システム上にマウントすることはできません。同じ制限が、フロッピーディスクにもあてはまります。(実際には、同じビット構造を共有するアーキテクチャもあります。このため、場合によっては、あるアーキテクチャに固有の UFS フォーマットが別のアーキテクチャによって認識されることもありますが、UFS ファイルシステム構造はこのような互換性を保証するように設計されたものではありません。)

さまざまなフォーマットに対応するために、CD または DVD は、実際にはハードディスクのパーティションに似たスライスに分割されます。9660 部分は移植可能ですが、UFS 部分はアーキテクチャに固有です。CD または DVD のマウントで問題が生じた場合、特にそれがインストール用 CD または DVD の場合は、その UFS ファイルシステムが、使用しているシステムのアーキテクチャに適しているかどうかを CD または DVD のラベルで確認してください。

Jaz ドライブおよび Zip ドライブへのアクセス

次の状況に応じて、Jaz ドライブや Zip ドライブへのアクセス方法が以前の Solaris リリースから変更されたかどうかを判断できます。

新しいリムーバブルメディアドライブを追加する方法

新しいリムーバブルメディアドライブを追加する場合は、/reconfigure ファイルを作成し、システムをリブートして、ボリューム管理に新しいメディアドライブを認識させる必要があります。

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

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


    # touch /reconfigure
    
  3. システムを実行レベル 0 にします。


    # init 0
    
  4. システムの電源を切ります。

  5. 新しいリムーバブルメディアドライブを接続します。

    詳細な手順については、該当するハードウェアのマニュアルを参照してください。

  6. システムの電源を入れます。

    システムが自動的にマルチユーザーモードになります。

ボリューム管理 (vold) を終了/起動する方法

場合によっては、ボリューム管理を使用しないで、メディアを管理した方がよいことがあります。この節では、ボリューム管理をいったん終了し、後で再起動する方法について説明します。

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

  1. メディアが使用中でないことを確認します。

    メディアを使用中のすべてのユーザーを確認できたか保証がない場合は、「リムーバブルメディアが使用中かどうかを調べる方法」の手順に従って fuser コマンドを使用してください。

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

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


    # /etc/init.d/volmgt stop
    #

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

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

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


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

リムーバブルメディア上の情報にアクセスする方法

  1. メディアを挿入します。

    数秒後にメディアがマウントされます。

  2. ドライブにメディアが入っているかどうかを確認します。


    % volcheck
    

    コマンド行インタフェースを使用し、適切なデバイス名を指定して情報にアクセスします。デバイス名については、表 18-1 を参照してください。

  3. メディアの内容をリスト表示します。


    % ls /media
    

例 - リムーバブルメディア上の情報にアクセスする

次のように入力して、フロッピーディスク上の情報にアクセスします。


$ volcheck
$ ls /floppy
myfile

次のように入力して、Jaz ドライブ上の情報にアクセスします。


$ volcheck
$ ls /rmdisk
jaz0/		jaz1/

次のように入力して、CD-ROM 上の情報にアクセスします。


$ volcheck
$ ls /cdrom
solaris_9_sparc/

次のように入力して、CD-ROM 上のシンボリックリンクを表示します。


$ ls -lL /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

次のように入力して、PCMCIA メモリーカード上の情報にアクセスします。


$ ls /pcmem/pcmem0
pcmem0 myfiles

リムーバブルメディア上の情報をコピーする方法

リムーバブルメディア上のファイルやディレクトリへのアクセスは、他のファイルシステムの場合とまったく同じように行えます。ただし、所有権とアクセス権については重大な制限があります。

たとえば、あるユーザーが、CD 上のファイルを自分のファイルシステムにコピーした場合、そのユーザーはファイルの所有者になりますが、書き込み権は与えられません (CD 上のファイルには書き込み権がないため)。アクセス権は各自で変更しなければなりません。

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


    $ ls /media
    

    ls コマンドは、マウントされたメディアの内容を表示します。内容が表示されない場合は、「リムーバブルメディア上の情報にアクセスする方法」を参照してください。

  2. (省略可能) ファイルまたはディレクトリをコピーします。

    たとえば、CD の場合は次のように入力します。


    $ cp /cdrom/sol_8_u3_sparc_2/Solaris_8/EA/products/Live*/README*
    $ ls -l
    -r--r--r--   1 pmorph   users       3002 May  9 08:09 README_Live_Upgrade

    たとえば、PCMCIA メモリーカードの場合は次のように入力します。


    $ cp /pcmem/pcmem0/readme2.doc .
    $ cp -r /pcmem/pcmem0/morefiles .
    

音楽用 CD/DVD を再生する方法

Solaris リリースを実行しているシステムに接続されたリムーバブルメディアドライブから音楽用のメディアを再生する場合は、 xmcd などのパブリックドメインソフトウェアにアクセスする必要があります。xmcd は、次の場所から入手できます。

xmcd ソフトウェアを CDDA (CD Digital Audio) サポートと併用して音楽用のメディアを再生するときは、次のことに注意してください。

次の問題にも考慮してください。

xmcd ソフトウェアをインストールすると、音楽用 CD を CD-ROM ドライブに挿入し、xmcd のコントロールパネルを起動するだけで再生できます。

  1. xmcd ソフトウェアをインストールします。

  2. メディアをメディアドライブに挿入します。

  3. xmcd コマンドを起動します。


    % ./xmcd &
    

リムーバブルメディアが使用中かどうかを調べる方法

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

  2. メディアにアクセスしているプロセスを特定します。


    # fuser -u [-k] /media
    

    -u

    メディアを使用しているプロセスなどを表示する 

    -k

    メディアにアクセスしているプロセスを強制終了する 

    fuser コマンドの使用方法については、fuser(1M) のマニュアルページを参照してください。

  3. (省略可能) メディアにアクセスしているプロセスを強制終了します。


    # fuser -u -k /media
    

    注意 - 注意 -

    メディアにアクセスしているプロセスの強制終了は、緊急の場合にのみ行います。


  4. プロセスが終了していることを確認します。


    # pgrep process-ID
    

例 - メディアが使用中かどうかを調べる

次の例は、プロセス 26230c (所有者 ripley) が /cdrom/cdrom0/Solaris_8/EA/products/Live_Upgrade_1.0 ディレクトリにアクセスしていることを示しています。


# fuser -u /cdrom/cdrom0/Solaris_8/EA/products/Live_Upgrade_1.0
/cdrom/cdrom0/Solaris_8/EA/products/Live_Upgrade_1.0:    26230c(ripley)

リムーバブルメディアを取り出す方法

  1. メディアが使用中でないことを確認します。

    シェルまたはアプリケーションがメディア上のファイルまたはディレクトリのいずれかにアクセスしている場合、メディアは「使用中」であることを忘れないでください。CD を使用しているシェルやアプリケーションなどをすべて検出したかどうかわからない (デスクトップツールの背後に隠れているシェルがアクセスしている可能性がある) 場合は、「リムーバブルメディアが使用中かどうかを調べる方法」の手順に従って fuser コマンドを使用してください。

  2. メディアを取り出します。


    # eject media
    

    たとえば、CD の場合は次のように入力します。


    # eject cdrom
    

    たとえば、PCMCIA メモリーカードの場合は次のように入力します。


    # eject pcmem0
    

リモートシステム上のリムーバブルメディアへのアクセス (作業マップ)

次の表に、リモートシステム上のリムーバブルメディアへのアクセスに必要な作業を示します。

作業 

説明 

参照先 

1. ローカルのメディアをリモートシステムで使用できるようにする 

必要に応じて、リムーバブルメディアドライブをシステムに追加する 

「ローカルのメディアを他のシステムで使用可能にする方法」

2. リモートシステム上のリムーバブルメディアにアクセスする  

メディアをドライブに挿入する 

「リムーバブルメディア上の情報にアクセスする方法」

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

システムのメディアドライブを共有するようにシステムを設定すると、そのドライブに読み込まれているメディアが他のシステムでも使用できるようになります。(これは音楽用の 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 の状態を確認し、次のどちらかの手順を選択します。

    1. nfsd が実行されている場合は、手順 8 に進む。

    2. nfsd が実行されていない場合は、手順 4 に進む。

  4. nfsd が共有するためのダミーディレクトリを作成します。


    # mkdir /dummy-dir
    

    dummy-dir

    たとえば、dummy などの任意のディレクトリ名にすることができる。このディレクトリには、ファイルは含まれない。これは、NFS デーモンを「呼び起こして」、共有されたメディアドライブを認識させることを目的としている。

  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. 現在ドライブにあるメディアを取り出します。


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


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


    # File System Sharing
    share media*

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

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


    # chmod 444 /etc/rmmount.conf
    

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

  12. メディアを読み込みます。

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

    メディアにアクセスするには、リモートユーザーは、「リモートシステム上のリムーバブルメディアにアクセスする方法」の手順に従って、名前によりそのメディアをマウントする必要があります。

  13. share コマンドを使用して、メディアが実際に他のシステムで使用できるかどうかを確認します。

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


    # share
    -    /dummy  ro "dummy dir to wake up NFS daemon"
    -    /cdrom/sol_9_sparc  ro  ""

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

次の例は、ローカルの 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_9_sparc/s5   ro   ""  
-               /cdrom/sol_9_sparc/s4   ro   ""  
-               /cdrom/sol_9_sparc/s3   ro   ""  
-               /cdrom/sol_9_sparc/s2   ro   ""  
-               /cdrom/sol_9_sparc/s1   ro   ""  
-               /cdrom/sol_9_sparc/s0   ro   ""  
# 

例 - ローカルのフロッピーディスクを他のシステムで使用可能にする

次の例は、ローカルのフロッピーディスクをネットワーク上の他のシステムでも使用できるようにする方法を示しています。


# 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 floppy0
# chmod 644 /etc/rmmount.conf
# vi /etc/rmmount
(次の行をファイルシステム共有セクションに追加する)
share floppy*
# chmod 444 /etc/rmmount.conf
(フロッピーディスクをロードする)
# volcheck -v
media was found
# share
-               /dummy   ro   ""  
-               /floppy/myfiles   rw   ""  

例 - ローカルの PCMCIA メモリーカードを他のシステムで使用可能にする

次の例は、ローカルの PCMCIA メモリーカードをネットワーク上の他のシステムでも使用できるようにする方法を示しています。


# 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 pcmem0
# chmod 644 /etc/rmmount.conf
# vi /etc/rmmount
(次の行をファイルシステム共有セクションに追加する)
share floppy*
# chmod 444 /etc/rmmount.conf
(PCMCIA メモリーカードをロードする)
# volcheck -v
media was found
# share
-               /dummy   ro   ""  
-               /pcmem/myfiles   rw   ""  

リモートシステム上のリムーバブルメディアにアクセスする方法

「ローカルのメディアを他のシステムで使用可能にする方法」の指示に従って、リモートシステムがそのシステム上のメディアを共有している場合は、手動でそのメディアをファイルシステムにマウントすれば、リモートシステム上のメディアにアクセスすることができます。

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


    $ mkdir directory
    

    directory は、他のシステムのメディアのマウントポイントとして作成するディレクトリの名前です。

  2. マウントするメディアの名前を確認します。


    $ showmount -e system-name
    export list for system-name:
    /cdrom/sol_9_sparc (everyone)
  3. スーパーユーザー権限で、メディアをマウントします。


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

    system-name

    マウントするメディアを持つシステムの名前 

    media-name

    マウントするメディアの名前 

    local-mount-point

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

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

  5. メディアがマウントされていることを確認します。


    $ ls /media
    

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

次の例は、sol_9_sparc という CD をリモートシステム starbug からローカルシステムの /cdrom ディレクトリにマウントする方法を示しています。


$ showmount -e starbug
export list for starbug:
/cdrom/sol_9_sparc (everyone)
$ su
Password: password
# mount -F nfs -o ro starbug:/cdrom/sol_9_sparc /cdrom
# exit
$ ls /cdrom
cdrom0     sol_9_sparc

例 - 他のシステム上のフロッピーディスクにアクセスする

次の例は、myfiles というフロッピーディスクをリモートシステム mars からローカルシステムの /floppy ディレクトリにマウントする方法を示しています。


$ cd /net/mars
$ ls /floppy
floppy0     myfiles
$ su
Password: password
# mount -F nfs rw mars:/floppy/myfiles /floppy
# exit
$ ls /floppy
myfiles
 

例 - 他のシステム上の PCMCIA メモリーカードにアクセスする

次の例は、myfiles という PCMCIA メモリーカードをリモートシステム mars からローカルシステムの /pcmem ディレクトリにマウントする方法を示しています。


$ cd /net/mars
$ ls /pcmem
pcmem0     myfiles
$ su
Password: password
# mount -F nfs rw mars:/pcmem/myfiles /pcmem
# exit
$ ls /pcmem
myfiles