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

USB デバイスのホットプラグ

デバイスのホットプラグとは、オペレーティングシステムをシャットダウンすることなくあるいはシステムの電源を切ることなく、デバイスを追加したり取り外したりすることを指します。USB デバイスはすべてホットプラグ可能です。

USB デバイスは、ホットプラグするとすぐにシステムのデバイス階層に表示されます (prtconf コマンドで確認可能)。また、デバイスが使用中でない限り、USB デバイスを取り外すとシステムのデバイス階層から消えます。

使用中の USB デバイスを取り外した場合、ホットプラグの動作は若干異なります。使用中の USB デバイスを取り外した場合、デバイスノードは残り、このデバイスを制御しているドライバはデバイス上のすべての動作を停止します。それ以降、このデバイスに発行される新しい入出力動作はエラーで戻されます。

このような場合、システムは元のデバイスを接続するようにユーザーにプロンプトを表示します。デバイスが使用できない場合は、アプリケーションを停止してください。数秒後に、ポートが再び使用できるようになります。


注 –

動作中の、つまり開いているデバイスを削除すると、データの整合性が損なわれる可能性があります。デバイスを取り外す前には、必ずデバイスを閉じるようにしてください。ただし、コンソールキーボードとマウスは例外で、動作中でも移動することができます。


vold を使用して USB 大容量ストレージデバイスを追加する方法

次の手順は、vold を使用して USB デバイスを追加する方法を示します。

  1. USB 大容量ストレージデバイスを追加します。

  2. vold を使用して新しいデバイスがあるかどうか調べます。


    # touch /etc/vold.conf
    
  3. vold を再起動します。


    # pkill -HUP vold
    
  4. デバイスが取り付けられていることを確認します。


    $ ls device-alias
    

vold を使用しないで USB 大容量ストレージデバイスを追加する方法

次の手順は、vold を使用しないで USB デバイスを追加する方法を示します。

  1. USB デバイスを USB ポートに追加します。

  2. USB デバイスが追加されたことを確認します。


    $ ls /dev/rdsk/cntndnsn
    

vold を使用して USB 大容量ストレージデバイスを取り外す方法

次の手順では、vold を使用して USB デバイスを取り外す例として、Zip ドライブを使用しています。

  1. デバイスをマウント解除します。


    $ volrmmount -e zip0
    
  2. そのデバイスを使用しているアプリケーションを実行中の場合は、そのアプリケーションを停止します。

  3. デバイスを取り出します。


    $ eject zip0
    
  4. スーパーユーザーになり、vold を停止します。


    # /etc/init.d/volmgt stop
    
  5. USB 大容量ストレージデバイスを取り外します。

  6. vold を開始します。


    # /etc/init.d/volmgt start
    

vold を使用しないで USB 大容量ストレージデバイスを取り外す方法

次の手順は、vold を使用しないで USB デバイスを取り外す方法を示します。

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

  2. そのデバイスを使用しているアプリケーションを実行中の場合は、そのアプリケーションを停止します。

  3. USB デバイスを取り外します。

    1. デバイスをマウント解除します。


      # umount /mount-point
      
    2. デバイスを取り外します。

vold を使用してまたは使用しないで USB 大容量ストレージデバイスをマウントする

Solaris 共通デスクトップ環境 (CDE) が実行されている場合は、USB リムーバブル大容量ストレージデバイスは、CDE ファイルマネージャのコンポーネントであるリムーバブルメディア・マネージャによって管理されます。CDE ファイルマネージャの詳細については、dtfile(1) のマニュアルページを参照してください。


注 –

この節に記載されているマニュアルページを表示するには、MANPATH 変数に /usr/dt/man ディレクトリを含める必要があります。これらのコマンドを使用するには、パスに /usr/dt/bin ディレクトリを含め、さらに CDE を実行している必要があります。また、これらのコマンドをリモートで使用する場合は、DISPLAY 変数を設定する必要があります。


次の表に、リムーバブルメディア・マネージャが CDE 環境からストレージデバイスを管理する際に使用するコマンドを示します。

コマンド 

マニュアルページ 

作業 

sdtmedia_format

sdtmedia_format(1)

デバイスのフォーマットおよびラベル付けを行う 

sdtmedia_prop

sdtmedia_prop(1)

デバイスのプロパティを表示する  

sdtmedia_prot

sdtmedia_prot(1)

デバイスのアクセス権を変更する 

sdtmedia_slice

sdtmedia_slice(1)

デバイス上のスライスを作成または変更する 

USB デバイスのフォーマットが終了すると、通常は /rmdisk/label ディレクトリの下にマウントされます。リムーバブルストレージデバイスの構成方法については、rmmount.conf(4) または vold.conf(4) のマニュアルページを参照してください。

デバイスノードは /vol/dev ディレクトリの下に作成されます。詳細については、scsa2usb(7D) のマニュアルページを参照してください。

USB 大容量ストレージデバイスは、ボリュームマネージャ (vold) を使用しないで管理することもできます。ボリュームマネージャを使用しないようにする方法は、次の 2 とおりあります。

次の手順は、vold を使用しないで USB 大容量ストレージデバイスを管理する方法を示しています。デバイスノードは、文字型デバイスについては /dev/rdsk ディレクトリ、ブロック型デバイスについては /dev/dsk ディレクトリの下に作成されます。詳細については、scsa2usb(7D) のマニュアルページを参照してください。

vold を使用して USB 大容量ストレージデバイスをマウントまたはマウント解除する方法

  1. すべてのリムーバブル大容量ストレージデバイス (USB 大容量ストレージデバイスを含む) について、デバイスの別名を表示します。


    $ eject -n
    .
    .
    .
    rmdisk0 -> /vol/dev/rdsk/c4t0d0/clik40    (Generic USB storage)
    cdrom0 -> /vol/dev/rdsk/c0t6d0/audio_cd   (Generic CD device)
    zip1 -> /vol/dev/rdsk/c2t0d0/fat32        (USB Zip device)
    zip0 -> /vol/dev/rdsk/c1t0d0/zip100       (USB Zip device)
    jaz0 -> /vol/dev/rdsk/c3t0d0/jaz1gb       (USB Jaz device)
  2. 上記のようにリストされたデバイス別名を使用して、USB 大容量ストレージデバイスをマウントします。


    $ volrmmount -i device-alias
    

    次の例では、USB Zip ドライブ (/rmdisk/zip0) をマウントします。


    $ volrmmount -i zip0 
    
  3. USB 大容量ストレージデバイスをマウント解除します。


    $ volrmmount -e device-alias
    

    次の例では、USB Zip ドライブ (/rmdisk/zip0) をマウント解除します。


    $ volrmmount -e zip0
    
  4. USB デバイスを、汎用の USB ドライブから取り出します。


    $ eject device-alias
    

    たとえば、次のようになります。


    $ eject rmdisk0
    

    注 –

    デバイスのマウントが解除されていない場合、eject コマンドは、そのデバイスのマウント解除も行います。また、そのデバイスにアクセスするアプリケーションが実行されている場合は、そのアプリケーションを終了させます。


vold を使用しないで USB 大容量ストレージデバイスをマウントまたはマウント解除する方法

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

  2. USB 大容量ストレージデバイスをマウントします。


    # mount -F fs-type /dev/dsk/cntndnsn /mount-point
    

    このコマンドは、デバイスが読み取り専用の場合には失敗することがあります。CD-ROM デバイスには、次のコマンドを使用します。


    # mount -F fs-type -o ro /dev/dsk/cntndnsn /mount-point
    

    たとえば、次のようになります。


    # mount -F hsfs -o ro /dev/dsk/c0t6d0s2 /mnt
    
  3. USB 大容量ストレージデバイスをマウント解除します。


    # umount /mount-point
    
  4. デバイスを取り出します。


    # eject /dev/[r]dsk/cntndnsn
    

USB カメラを追加する方法

USB カメラを追加するには、次の手順を実行します。

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

  2. USB カメラを差し込み、電源をオンにします。

    システムによって、カメラ用の論理デバイスが作成されます。カメラが差し込まれると、/var/adm/messages ファイルにメッセージが出力され、デバイスの接続が確認されます。カメラは、システムのストレージデバイスとみなされます。

  3. /var/adm/messages ファイルの出力を確認します。

    出力表示を確認すると、どの論理デバイスが作成されたかを確認でき、そのデバイスを使用してイメージにアクセスできます。出力表示は次のようになります。


    # more /var/adm/messages
    Jul 15 09:53:35 buffy usba: [ID 349649 kern.info]       OLYMPUS, C-3040ZOOM,
     000153719068
    Jul 15 09:53:35 buffy genunix: [ID 936769 kern.info] scsa2usb1 is 
    /pci@0,0/pci925,1234@7,2/storage@2
    Jul 15 09:53:36 buffy scsi: [ID 193665 kern.info] sd3 at scsa2usb1: 
    target 0 lun 0
  4. USB カメラファイルシステムをマウントします。

    ほとんどの場合、カメラのファイルシステムは PCFS ファイルシステムです。作成されたデバイス上にファイルシステムをマウントするために、ディスクを表すスライスを指定する必要があります。スライスは通常、SPARC システムでは s0、x86 システムでは p0 です。

    たとえば、x86 システムにファイルシステムをマウントするには、次のコマンドを実行します。


    # mount -F pcfs /dev/dsk/c3t0d0p0:c /mnt
    

    SPARC システムにファイルシステムをマウントするには、次のコマンドを実行します。


    # mount -F pcfs /dev/dsk/c3t0d0s0:c /mnt
    

    ファイルシステムのマウントについては、第 40 章「ファイルシステムのマウントとマウント解除 (手順)」を参照してください。

    異なる PCFS ファイルシステムのマウントの詳細については、mount_pcfs(1M) のマニュアルページを参照してください。

  5. イメージが使用可能であることを確認します。

    たとえば、次のようになります。


    # ls /mnt/DCIM/100OLYMP/
    P7220001.JPG*  P7220003.JPG*  P7220005.JPG*
    P7220002.JPG*  P7220004.JPG*  P7220006.JPG*
  6. USB カメラが作成したイメージファイルを表示します。


    # /usr/dt/bin/sdtimage P7220001.JPG &
    
  7. カメラを切り離す前に、ファイルシステムをマウント解除します。

    たとえば、次のようになります。


    # umount /mnt
    
  8. カメラの電源をオフにし、切り離します。