この章では、Solaris 環境でコマンド行からリムーバブルメディアにアクセスする方法について説明します。
リムーバブルメディアへのアクセスに関連する手順については、次の節を参照してください。
リムーバブルメディアの概要については、第 17 章「リムーバブルメディアの管理 (概要)」を参照してください。
作業 |
説明 |
参照先 |
---|---|---|
1. (省略可能) リムーバブルメディアドライブを追加する |
必要に応じて、リムーバブルメディアドライブをシステムに追加する | |
2. (省略可能) リムーバブルメディアにアクセスするときにボリューム管理 (vold) を使用するかどうかを決める |
デフォルトでは、ボリューム管理 (vold) は実行される。リムーバブルメディアにアクセスするときにボリューム管理を使用するかどうかを決める | |
3. リムーバブルメディアにアクセスする |
ボリューム管理を使用して/使用しないで、各種のリムーバブルメディアにアクセスする | |
4. (省略可能) ファイルまたはディレクトリをコピーする |
ファイルまたはディレクトリを、ファイルシステムの別の場所からコピーするように、リムーバブルメディアからコピーする | |
5. (省略可能) 音楽用 CD/DVD を再生するようにシステムを設定する |
音楽用 CD/DVD を再生するようにシステムを設定できるが、再生には Sun 以外のソフトウェアが必要になる | |
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/cntn[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/cntndn/ 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/cntndn/ 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/cntndn/ volume-name |
特定の Solaris コマンドで使用するリムーバブルメディア名を確認する場合は、次の表を使用してください。
Solaris コマンド |
デバイス名 |
使用例 |
---|---|---|
ls、more、vi |
/floppy /cdrom /rmdisk/zip0 /rmdisk/jaz0 /pcmem/pcmem0 |
ls /floppy/myfiles/ more /cdrom/myfiles/filea |
fsck、newfs、mkfs |
/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 は x86 システムでは認識されません。同様に、x86 システム用にフォーマットされた UFS CD は、ボリューム管理によって SPARC システム上にマウントすることはできません。同じ制限が、フロッピーディスクにもあてはまります。実際には、同じビット構造を共有するアーキテクチャもあります。このため、場合によっては、あるアーキテクチャに固有の UFS フォーマットが別のアーキテクチャによって認識されることもありますが、UFS ファイルシステム構造はこのような互換性を保証するように設計されたものではありません。
さまざまなフォーマットに対応するために、CD または DVD は、実際にはハードディスクのパーティションに似たスライスに分割されます。9660 部分は移植可能ですが、UFS 部分はアーキテクチャに固有です。CD または DVD のマウントで問題が生じた場合、特にそれがインストール用 CD または DVD の場合は、その UFS ファイルシステムが、使用しているシステムのアーキテクチャに適しているかどうかを CD または DVD のラベルで確認してください。
次の状況に応じて、Jaz ドライブや Zip ドライブへのアクセス方法が以前の Solaris リリースから変更されたかどうかを判断できます。
Solaris 8 6/00 リリースから Solaris 9 リリースへアップグレードする場合は、以前の Solaris リリースと同じ方法で Jaz ドライブおよび Zip ドライブにアクセスできます。
新規に Solaris 9 リリースをインストールする場合は、以前の Solaris リリースと同じ方法で Jaz ドライブおよび Zip ドライブにアクセスすることはできません。
以前の Solaris リリースと同じ方法で Jaz ドライブおよび Zip ドライブにアクセスする場合は、次の手順に従ってください。
/etc/vold.conf ファイル内の次の行でテキストの初めに # マークを挿入し、コメント扱いにします。
# use rmdisk drive /dev/rdsk/c*s2 dev_rmdisk.so rmdisk%d |
システムをリブートします。
新しいリムーバブルメディアドライブを追加する場合は、/reconfigure ファイルを作成し、システムをリブートして、ボリューム管理に新しいメディアドライブを認識させる必要があります。
スーパーユーザーになります。
/reconfigure ファイルを作成します。
# touch /reconfigure |
システムを実行レベル 0 にします。
# init 0 |
システムの電源を切ります。
新しいリムーバブルメディアドライブを接続します。
詳細な手順については、該当するハードウェアのマニュアルを参照してください。
システムの電源を入れます。
システムが自動的にマルチユーザーモードになります。
場合によっては、ボリューム管理を使用しないで、メディアを管理した方がよいことがあります。この節では、ボリューム管理をいったん終了し、後で再起動する方法について説明します。
メディアを使用中のすべてのユーザーを確認できたか保証がない場合は、リムーバブルメディアが使用中かどうかを調べる方法の手順に従って fuser コマンドを使用してください。
スーパーユーザーになります。
volmgt stop コマンドを入力します。
# /etc/init.d/volmgt stop # |
メディアを挿入します。
ドライブにメディアが入っているかどうかを確認します。
% volcheck |
コマンド行インタフェースを使用し、適切なデバイス名を指定して情報にアクセスします。デバイス名については、表 18–1 を参照してください。
メディアの内容をリスト表示します。
% 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 上のファイルには書き込み権がないため)。アクセス権は各自で変更しなければなりません。
メディアがマウントされていることを確認します。
$ ls /media |
ls コマンドは、マウントされたメディアの内容を表示します。内容が表示されない場合は、リムーバブルメディア上の情報にアクセスする方法を参照してください。
(省略可能) ファイルまたはディレクトリをコピーします。
たとえば、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 . |
Solaris リリースを実行しているシステムに接続されたリムーバブルメディアドライブから音楽用のメディアを再生する場合は、xmcd などのパブリックドメインソフトウェアにアクセスする必要があります。xmcd は、次の場所から入手できます。
http://www.ibiblio.org/tkan/xmcd
このサイトには、xmcd ソフトウェアの更新情報が頻繁に追加され、Sun BladeTM システムなどの Sun 製の新しいハードウェアで再生するための新バージョンの xmcd も含まれています。
http://www.sun.com/software/solaris/freeware/pkgs_download.html
xmcd ソフトウェアを CDDA (CD Digital Audio) サポートと併用して音楽用のメディアを再生するときは、次のことに注意してください。
Sun BladeTM システムではバージョン 3.1 以上の xmcd を使用してください (このバージョンには CDDA サポート機能があるため)。CDDA は Sun Blade システムで CD の応答待ちをするために必要です。
xmcd を起動し、オプションボタン (ハンマーとねじ回しが表示されたボタン) をクリックして、「CDDA playback」をクリックすることで CDDA を使用可能にしてください。
CDDA が使用可能になると、オーディオはオーディオデバイスに送られるよう指示されるため、ヘッドホンや外部スピーカはメディアドライブそのものではなくオーディオデバイスに接続する必要があります。
CDDA は他のマシンでも使用可能にできます。Sun Blade システムでメディアを再生するためには、CDDA を使用可能にする必要があります。
次の問題にも考慮してください。
CD-ROM とオーディオデバイスが内部接続されていないシステムで xmcd を標準の再生機能と組み合わせて使用する場合は、ヘッドホンを CD-ROM ドライブのヘッドホンポートに挿入する必要があります。
CD-ROM とオーディオデバイスが内部接続されているシステムで xmcd を標準の再生機能と組み合わせて使用する場合は、次のどちらの方法も可能です。
ヘッドホンを CD-ROM ドライブのヘッドホンポートに挿入する。
ヘッドホンをオーディオデバイスのヘッドホンポートに挿入する。
ただし、2 番目を選択した場合は、次の作業を行う必要があります。
内蔵 CD を入力デバイスとして選択する。
モニターボリュームが 0 以外の値になっていることを確認する。
これらの作業はどちらも、sdtaudiocontrol のレコードパネルから実行することができます。
xmcd ソフトウェアをインストールすると、音楽用 CD を CD-ROM ドライブに挿入し、xmcd のコントロールパネルを起動するだけで再生できます。
メディアにアクセスしているプロセスを特定します。
# fuser -u [-k] /media |
-u |
メディアを使用しているプロセスなどを表示する |
|
-k |
メディアにアクセスしているプロセスを強制終了する |
fuser コマンドの使用方法については、fuser(1M) のマニュアルページを参照してください。
(省略可能) メディアにアクセスしているプロセスを強制終了します。
# fuser -u -k /media |
メディアにアクセスしているプロセスの強制終了は、緊急の場合にのみ行います。
プロセスが終了していることを確認します。
# 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) |
シェルまたはアプリケーションがメディア上のファイルまたはディレクトリのいずれかにアクセスしている場合、メディアは「使用中」であることを忘れないでください。CD を使用しているシェルやアプリケーションなどをすべて検出したかどうかわからない (デスクトップツールの背後に隠れているシェルがアクセスしている可能性がある) 場合は、リムーバブルメディアが使用中かどうかを調べる方法の手順に従って fuser コマンドを使用してください。
メディアを取り出します。
# eject media |
たとえば、CD の場合は次のように入力します。
# eject cdrom |
たとえば、PCMCIA メモリーカードの場合は次のように入力します。
# eject pcmem0 |
次の表に、リモートシステム上のリムーバブルメディアへのアクセスに必要な作業を示します。
作業 |
説明 |
参照先 |
---|---|---|
1. ローカルのメディアをリモートシステムで使用できるようにする |
必要に応じて、リムーバブルメディアドライブをシステムに追加する | |
2. リモートシステム上のリムーバブルメディアにアクセスする |
メディアをドライブに挿入する |
システムのメディアドライブを共有するようにシステムを設定すると、そのドライブに読み込まれているメディアが他のシステムでも使用できるようになります。(これは音楽用の CD には当てはまりません。) リムーバブルメディアドライブを共有すると、リモートシステム上のリムーバブルメディアにアクセスする方法 の手順に従ってそのドライブをマウントするだけで、ドライブにロードされているメディアを他のシステムでも使用できます。
スーパーユーザーになります。
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 の行だけが表示されます。
nfsd の状態を確認し、次のいずれかの手順を選択します。
nfsd が共有するための dummy ディレクトリを作成します。
# mkdir /dummy-dir |
dummy-dir |
たとえば、dummy などの任意のディレクトリ名にすることができる。 このディレクトリには、ファイルは含まれない。これは、NFS デーモンを「呼び起こして」、共有されたメディアドライブを認識させることを目的としている。 |
次のエントリを /etc/dfs/dfstab ファイルに追加します。
share -F nfs -o ro [-d comment] /dummy-dir |
NFS デーモンを起動すると、このエントリ「呼び起こし」が参照され、共有されたメディアドライブが認識されます。コメント (-d が前に付く) はオプションです。
# /etc/init.d/nfs.server start |
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 |
現在ドライブにあるメディアを取り出します。
# eject media |
root の書き込み権を /etc/rmmount.conf ファイルに割り当てます。
# chmod 644 /etc/rmmount.conf |
次の行を /etc/rmmount.conf ファイルに追加します。
# File System Sharing share media* |
上記の行によって、システムの CD-ROM ドライブにロードされる CD が共有されます。ただし、share(1M) のマニュアルページに説明されているように、特定の CD (複数も可) に共有範囲を限定することができます。
/etc/rmmount.conf ファイルから書き込み権を削除します。
# chmod 444 /etc/rmmount.conf |
この手順によって、ファイルはそのデフォルトのアクセス権に戻ります。
メディアを読み込みます。
ここで読み込むメディアはすべて、他のシステムで使用できるようになります。必ずドライブのランプの点滅が消えるまで待って、この作業を確認するようにしてください。
メディアにアクセスするには、リモートユーザーは、リモートシステム上のリムーバブルメディアにアクセスする方法の手順に従って、名前によりそのメディアをマウントする必要があります。
share コマンドを使用して、メディアが実際に他のシステムで使用できるかどうかを確認します。
メディアが使用可能な場合は、その共有設定が表示されます。共有される dummy ディレクトリも表示されます。
# share - /dummy ro "dummy dir to wake up NFS daemon" - /cdrom/sol_9_sparc ro "" |
次の例は、ローカルの 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 メモリーカードをネットワーク上の他のシステムでも使用できるようにする方法を示しています。
# 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 "" |
ローカルのメディアを他のシステムで使用可能にする方法の指示に従って、リモートシステムがそのシステム上のメディアを共有している場合は、手動でそのメディアをファイルシステムにマウントすれば、リモートシステム上のメディアにアクセスできます。
マウントポイントとして使用する既存のディレクトリを指定するか、作成します。
$ mkdir directory |
directory は、他のシステムのメディアのマウントポイントとして作成するディレクトリの名前です。
マウントするメディアの名前を確認します。
$ showmount -e system-name export list for system-name: /cdrom/sol_9_sparc (everyone) |
スーパーユーザー権限で、メディアをマウントします。
# mount -F nfs -o ro system-name:/media/media-name local-mount-point |
system-name |
マウントするメディアを持つシステムの名前 |
media-name |
マウントするメディアの名前 |
local-mount-point |
リモートのメディアのマウント先のローカルディレクトリ |
スーパーユーザーをログアウトします。
メディアがマウントされていることを確認します。
$ ls /media |
次の例は、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 |
次の例は、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 |