この章では、Solaris OS でコマンド行からリムーバブルメディアにアクセスする方法について説明します。
リムーバブルメディアへのアクセスに関連する手順については、次の節を参照してください。
リムーバブルメディアの概要については、第 1 章リムーバブルメディアの管理 (概要)を参照してください。
次の作業マップでは、リムーバブルメディアにアクセスするための作業について説明します。
作業 |
説明 |
参照先 |
---|---|---|
1. (省略可能) リムーバブルメディアドライブを追加します。 |
必要に応じて、リムーバブルメディアドライブをシステムに追加します。 | |
2. (省略可能) リムーバブルメディアにアクセスするときにボリューム管理 (vold) を使用するかどうかを決めます。 |
デフォルトでは、ボリューム管理 (vold) は実行されます。リムーバブルメディアにアクセスするときにボリューム管理を使用するかどうかを決めます。 | |
3. リムーバブルメディアにアクセスします。 |
ボリューム管理を使用して/使用しないで、各種のリムーバブルメディアにアクセスします。 | |
4. (省略可能) ファイルまたはディレクトリをコピーします。 |
ファイルまたはディレクトリを、ファイルシステムの別の場所からコピーするように、リムーバブルメディアからコピーします。 | |
5. メディアが使用中であるかどうかを調べます。 |
メディアを取り出す前に、それが使用中であるかどうかを調べます。 | |
6. メディアを取り出します。 |
作業が終了したら、ドライブからメディアを取り出します。 |
リムーバブルメディア上の情報にアクセスするには、ボリューム管理を使用する方法と使用しない方法があります。GNOME のファイルマネージャーを使用してリムーバブルメディア上の情報にアクセスする方法については、GNOME デスクトップのマニュアルを参照してください。
ボリューム管理 (vold) を使用すると、すべてのリムーバブルメディアデバイスを動的に管理できます。このため、/dev/rdsk/cntndnsn や /dev/dsk/cntndnsn などのデバイス名でのリムーバブルメディアへのアクセスはできません。
リムーバブルメディアには、さまざまな名前でアクセスできます。次の表に、ボリューム管理を使用して/使用しないでアクセスできるさまざまなメディア名を示します。
表 3–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/cnt n[dn] / volume-name |
USB メモリースティック |
/rmdisk/noname |
/vol/dev/aliases/rmdisk0 |
/vol/dev/dsk/cnt ndn/volume-name :c |
ほとんどの 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 上のラベルを確認できます。
一般に、最近のバスタイプのほとんどで、ホットプラグ機能がサポートされています。システムのバスタイプでホットプラグ機能がサポートされている場合は、次の手順 5 だけを行う必要があります。システムのバスタイプでホットプラグ機能がサポートされていない場合は、次の作業を手順 1 - 6 に従って行う必要があります。
/reconfigure ファイルを作成します。
システムをリブートして、ボリューム管理に新しいメディアドライブを認識させます。
ホットプラグ対応デバイスの詳細は、第 6 章デバイスの動的構成 (手順)を参照してください。
/reconfigure ファイルを作成します。
# touch /reconfigure |
システムを実行レベル 0 にします。
# init 0 |
システムの電源を切ります。
新しいリムーバブルメディアドライブを接続します。
詳細な手順については、該当するハードウェアのマニュアルを参照してください。
システムの電源を入れます。
システムが自動的にマルチユーザーモードになります。
場合によっては、リムーバブルメディアサービスを使用しないで、メディアを管理した方がよいことがあります。この節では、リムーバブルメディアサービスを無効または有効にする方法について説明します。
これらのサービスを無効にした場合は、mount コマンドを使ってすべてのメディアを手動でマウントする必要があります。
メディアが使用中でないことを確認します。
メディアを使用中のすべてのユーザーを確認できた保証がない場合は、「リムーバブルメディアが使用中かどうかを調べる方法」の手順に従って fuser コマンドを使用してください。
スーパーユーザーになります。
次のいずれかの手順に従います。
リムーバブルメディアサービスを無効にします。
# svcadm disable volfs |
リムーバブルメディアサービスを有効にします。
# svcadm enable volfs volume management starting. |
メディアを挿入します。
メディアの内容をリスト表示します。
% ls /media |
コマンド行インタフェースを使用し、適切なデバイス名を指定して情報にアクセスします。デバイス名については、表 3–1 を参照してください。
次の例は、フロッピーディスク上の情報にアクセスする方法を示しています。
$ ls /floppy myfile |
次の例は、USB メモリースティック上の情報にアクセスする方法を示しています。
$ ls /rmdisk rmdisk0/ rmdisk1/ |
次の例は、DVD 上の情報にアクセスする方法を示しています。
$ ls /cdrom cdrom0 sol_10_910_sparc |
リムーバブルメディア上のファイルやディレクトリへのアクセスは、ほかのファイルシステムの場合とまったく同じように行えます。ただし、所有権とアクセス権については重大な制限があります。
たとえば、あるユーザーが、DVD 上のファイルを自分のファイルシステムにコピーした場合、そのユーザーはファイルの所有者になります。ただし、書き込み権は与えられません。DVD 上のファイルには書き込み権がないためです。アクセス権は各自で変更しなければなりません。
メディアがマウントされていることを確認します。
$ ls /media |
ls コマンドは、マウントされたメディアの内容を表示します。内容が表示されない場合は、「リムーバブルメディア上の情報にアクセスする方法」を参照してください。
(省略可能) ファイルまたはディレクトリをコピーします。
たとえば、DVD の場合は次のように入力します。
$ cp /cdrom/sol_10_910_sparc/Solaris_10/Tools/add_install_client . $ ls -l -rwxr-xr-x 1 pmorph gelfs 64065 Jul 12 2010 add_install_client |
メディアにアクセスしているプロセスを特定します。
# fuser -u /media |
-u は、メディアを使用しているユーザーなどを表示します。
詳細は、fuser(1M) のマニュアルページを参照してください。
(省略可能) メディアにアクセスしているプロセスを強制終了します。
# fuser -u -k /media |
-k は、メディアにアクセスしているプロセスを強制終了します。
メディアにアクセスしているプロセスの強制終了は、緊急の場合にのみ行います。
プロセスが終了していることを確認します。
# pgrep process-ID |
次の例は、ユーザー pmorph が /cdrom/sol_10_910_sparc/Solaris_10/Tools ディレクトリにアクセスしていることを示しています。
# fuser -u /cdrom/sol_10_910_sparc/Solaris_10/Tools /cdrom/sol_910_sparc/Solaris_10/Tools: 902c(pmorph) 339c(pmorph) |
メディアが使用中でないことを確認します。
シェルまたはアプリケーションがメディア上のファイルまたはディレクトリのいずれかにアクセスしている場合、メディアは「使用中」であることを忘れないでください。DVD を使用しているシェルやアプリケーションなどをすべて検出したかどうかわからない (デスクトップツールの背後に隠れているシェルがアクセスしている可能性がある) 場合は、fuser コマンドを使用してください。「リムーバブルメディアが使用中かどうかを調べる方法」を参照してください。
メディアを取り出します。
# eject media |
たとえば、DVD の場合は次のように入力します。
# eject cdrom |
たとえば、USB メモリースティックの場合は次のように入力します。
# eject rmdisk0 |
リムーバブルデバイスの名前は eject -l コマンドで表示できます。
次の作業マップでは、リモートシステム上のリムーバブルメディアにアクセスするための作業について説明します。
作業 |
説明 |
参照先 |
---|---|---|
1. ローカルのメディアをリモートシステムで使用できるようにします。 |
システムのメディアドライブを共有するようにシステムを設定して、そのドライブ内のメディアをほかのシステムでも使用できるようにします。 | |
2. リモートシステム上のリムーバブルメディアにアクセスします。 |
ローカルシステムでリモートメディアにアクセスします。 |
システムのメディアドライブを共有するようにシステムを設定すると、そのドライブに読み込まれているメディアがほかのシステムでも使用できるようになります。ただし、音楽用 CD は例外です。メディアドライブを共有すると、そのドライブをマウントするだけで、ドライブにロードされているメディアをほかのシステムでも使用できます。手順については、「リモートシステム上のリムーバブルメディアにアクセスする方法」を参照してください。
スーパーユーザーになります。
メディアがロードされていることを確認します。
次のエントリを /etc/dfs/dfstab ファイルに追加します。
次に例を示します。
share -F nfs -o ro /cdrom/sol_10_910_sparc |
# svcs *nfs* |
NFS サーバーサービスが実行中であれば、svcs コマンドの出力は次のようになります。
online 14:28:43 svc:/network/nfs/server:default |
NFS サーバーの状態を確認し、次のいずれかの手順を選択します。
NFS サーバーサービスが実行されている場合は、手順 7 に進みます。
NFS サーバーサービスが実行されていない場合は、次の手順に進みます。
# svcadm enable network/nfs/server |
NFS デーモンが実行されていることを確認します。
次に例を示します。
# svcs -p svc:/network/nfs/server:default STATE STIME FMRI online Aug_30 svc:/network/nfs/server:default Aug_30 319 mountd Aug_30 323 nfsd |
メディアが実際にほかのシステムで使用できるかどうかを確認します。
メディアが使用可能な場合は、その共有設定が表示されます。
# share - /cdrom/sol_10_910_sparc ro "" |
次の例は、ローカル DVD をネットワーク上のほかのシステムでも使用できるようにする方法を示しています。
# vi /etc/dfs/dfstab (Add the following line:) # share -F nfs -o ro /media # svcs *nfs* # svcadm enable network/nfs/server # svcs -p svc:/network/nfs/server:default # share - /cdrom/sol_10_910_sparc ro "" |
次の例は、ローカルのフロッピーディスクをネットワーク上のほかのシステムでも使用できるようにする方法を示しています。
# vi /etc/dfs/dfstab (Add the following line, for example) share -F nfs -o ro /floppy/myfiles # svcs *nfs* # svcadm enable network/nfs/server # svcs -p svc:/network/nfs/server:default # volcheck -v media was found # share - /floppy/myfiles rw "" |
リモートシステム上のメディアを手動でファイルシステムにマウントすることにより、そのメディアにアクセスできるようになります。ただし、リモートシステムが「ローカルのメディアをほかのシステムで使用可能にする方法」の手順に従って、そのメディアを共有していることが必要です。
マウントポイントとして使用する既存のディレクトリを指定します。または、マウントポイントを作成します。
$ mkdir /directory |
ここで /directory は、リモートシステムの DVD のマウントポイントとして作成するディレクトリの名前です。
マウントするメディアの名前を確認します。
$ showmount -e system-name |
スーパーユーザー権限で、メディアをマウントします。
# mount -F nfs -o ro system-name:/media/media-name local-mount-point |
マウントするメディアを持つシステムの名前です。
マウントするメディアの名前です。
リモートメディアのマウント先となるローカルディレクトリです。
スーパーユーザーをログアウトします。
メディアがマウントされていることを確認します。
$ ls /media |
次の例は、リモートシステム starbug の sol_10_910_sparc という名前のリモート DVD に、autofs を使って自動的にアクセスする方法を示しています。
% showmount -e starbug export list for starbug: /cdrom/sol_10_910_sparc (everyone) $ /net/starbug/cdrom/sol_10_910_sparc |
次の例は、リモートシステム mars にある myfiles というフロッピーディスクに、autofs を使用して自動的にアクセスする方法を示しています。
$ showmount -e mars $ cd /net/mars $ ls /floppy floppy0 myfiles |