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

フロッピーディスクの使用方法

表 16-4 作業マップ: 一般的なフロッピーディスクの使用方法

作業 

説明 

手順の説明 

フロッピーディスクのロード 

フロッピーディスクをドライブに挿入して、 volcheck コマンドを実行する。

「フロッピーディスクをロードする方法」

フロッピーディスクの内容の確認 

省略可能。フロッピーディスクの内容を調べるには、 /diskette の下にある適切なディレクトリを調べる。

「フロッピーディスクの内容を調べる方法」

ファイルの交換 

省略可能。フロッピーディスクとファイルシステムの間でファイルまたはディレクトリをコピーする。  

「フロッピーディスクから情報をコピーまたは移動する方法」

 

「フロッピーディスクへ情報をコピーまたは移動する方法」

フロッピーディスクが使用中かどうかの確認 

省略可能。フロッピーディスクを取り出す前に、フロッピーディスクが使用中であるかどうかを調べる。 

「フロッピーディスクが使用中かどうかを調べる方法」

フロッピーディスクの取り出し 

終了したら、フロッピーディスクをドライブから取り出す。 

「フロッピーディスクを取り出す方法」

フロッピーディスクをロードする方法

  1. フロッピーディスクがフォーマットされていることを確認します。

    フォーマットされているかどうかが不確かな場合は、フロッピーディスクを挿入して、手順 3 で説明されているように、コンソールの状態メッセージをチェックしてください。フロッピーディスクをフォーマットする必要がある場合は、「UFS フロッピーディスクをフォーマットする方法」、または 「DOS フロッピーディスクをフォーマットする方法」を参照してください。

  2. フロッピーディスクを挿入します。

    フロッピーディスクがドライブに完全に挿入されたことを確認してください。ドライブにふたがある場合は、それを閉じてください。

  3. ボリューム管理に通知します。


    $ volcheck -v
    media was found

    次の 2 つの状態メッセージのどちらかが表示されます。

    media was found

    ボリューム管理がフロッピーディスクを検出して、それを /floppy ディレクトリにマウントしようとする。

     

    フロッピーディスクが正しくフォーマットされると、エラーメッセージはコンソールに表示されない。 

     

    フロッピーディスクがフォーマットされていない場合でも、「media was found」メッセージは表示されるが、次のエラーメッセージがコンソールに表示される。

     

    fd0: unformatted diskette or no diskette in the drive

    fd0: read failed (40 1 0)

    fd0: bad format

    フロッピーディスクをフォーマットしてからでないと、ボリューム管理はそれをマウントできない。フォーマットの方法は、「UFS フロッピーディスクをフォーマットする方法」 (UFS 用) と 「DOS フロッピーディスクをフォーマットする方法」 (DOS 用) を参照。

    no media was found

    ボリューム管理は、フロッピーディスクを検出しなかった。フロッピーディスクが正しく挿入されていることを確認して、volcheck をもう一度実行する。うまくいかない場合は、フロッピーディスクをチェックする。損傷の可能性がある。フロッピーディスクを手作業でマウントしてみることもできる。

  4. フロッピーディスクの内容を一覧表示して、フロッピーディスクがマウントされていることを確認します。


    $ ls /floppy
    floppy0 myfiles

    前述したように、floppy0 はフロッピーディスクの実際の名前へのシンボリックリンクです。この場合は myfiles が実際の名前です。正しくフォーマットされていて、名前がない場合は、unnamed_floppy と呼ばれます。

    /floppy ディレクトリの下に何も表示されない場合は、フロッピーディスクがマウントされていないか、または正しくフォーマットされていないかのいずれかです。これを調べるには、mount コマンドを実行して、/floppy で始まる行を探してください (通常は、リストの最後にあります)。

    /floppy/name on /vol/dev/diskette0/name

    このような行が表示されない場合、フロッピーディスクはマウントされていません。コンソールのエラーメッセージを確認してください。

フロッピーディスクの内容を調べる方法

/floppy の下にあるディレクトリの一部がシンボリックリンクであるため、ls コマンドに -L オプションを付けて使用してください。


$ ls -L [-l] floppy0

-L

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

-l

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

例 - フロッピーディスクの内容を調べる

次の例では、floppy0 で識別される最初のフロッピードライブのフロッピーディスクの内容を一覧表示しています。


$ ls -L -l /floppy/floppy0
-rwxrwxrwx  1 smith  staff 362284  Nov 16 20:54  text.doc
-rwxrwxrwx  1 smith  staff  24562  Nov 16 12:20  art.gif

フロッピーディスクから情報をコピーまたは移動する方法

フロッピーディスクを挿入すると、他のファイルシステムの場合と同様に、そのファイルとディレクトリにアクセスできます。ただし、所有権とアクセス権については注意が必要です。たとえば、フロッピーディスクのファイルの所有者ではない場合、フロッピーディスク上でそれを変更することはできません。また、ファイルシステムにファイルをコピーした場合、そのファイルの所有者にはなりますが、書き込み権はありません (フロッピーディスクでも書き込み権がなかったためです)。アクセス権は各自で変更する必要があります。

  1. フロッピーディスクがフォーマットされてマウントされていることを確認します。


    $ ls /floppy
    floppy0  diskette-name
    

    フロッピーディスクが正しくフォーマットされてマウントされていれば、その名前とシンボリックリンクが、/floppy の下に表示されます。

    /floppy ディレクトリに何も表示されない場合、フロッピーディスクはマウントされていません。「フロッピーディスクをロードする方法」を参照してください。フロッピーディスクがフォーマットされていない場合もあります。「UFS フロッピーディスクをフォーマットする方法」または 「DOS フロッピーディスクをフォーマットする方法」を参照してください。

  2. ファイルまたはディレクトリをコピーします。

    コピーするもの 

    使用するコマンド 

    ファイル 

    cp

    ディレクトリ 

    cp -r

  3. ls コマンドを使用して、コピーまたは移動の結果を確認します。

例 - フロッピーディスクから情報をコピーまたは移動する

最初の例では、ファイル (readme.doc) をフロッピーディスクから現在のディレクトリ (「.」 で示される) に移動しています。2 番目の例では、ファイル (readme2.doc) をフロッピーディスクから現在のディレクトリにコピーしています。3 番目の例では、ディレクトリ (morefiles) とその下にあるすべてのものを、フロッピーディスクから現在のディレクトリにコピーしています。


$ mv /floppy/floppy0/readme.doc .
$ cp /floppy/floppy0/readme2.doc .
$ cp -r /floppy/floppy0/morefiles .

フロッピーディスクへ情報をコピーまたは移動する方法

  1. フロッピーディスクが書き込み保護になっていないことを確認します。

    3.5 インチと 5.25 インチのどちらのフロッピーディスクでも、書き込み保護は、左下または右下の角にある小さなタブによって設定されます。タブの背後に四角い穴が見える場合、フロッピーディスクは書き込み保護されています。この穴がタブで覆われている場合、フロッピーディスクは書き込み可能です。

  2. フロッピーディスクがフォーマットされてマウントされていることを確認します。


    $ ls /floppy
    floppy0  diskette-name
    

    フロッピーディスクが正しくフォーマットされてマウントされていれば、その名前とシンボリックリンクの floppy0 が、/floppy の下に表示されます。

    /floppy ディレクトリに何も表示されない場合、フロッピーディスクはマウントされていません。「フロッピーディスクをロードする方法」に示された作業を参照してください。フロッピーディスクがフォーマットされていない場合もあります。「UFS フロッピーディスクをフォーマットする方法」、または 「DOS フロッピーディスクをフォーマットする方法」参照してください。

  3. ファイルまたはディレクトリを移動またはコピーします。

    作業 

    使用するコマンド 

    ファイルのコピー 

    cp

    ディレクトリのコピー 

    cp -r

    ファイルまたはディレクトリの移動 

    mv

  4. ls コマンドを使用して、移動またはコピーの結果を確認します。

例 - 情報をフロッピーディスクにコピーまたは移動する

最初の例では、ファイル (readme.doc) を現在のディレクトリから、最初のフロッピードライブ (/floppy/floppy0) にロードされたフロッピーディスクに移動しています。2 番目の例では、ファイル (readme2.doc) を現在のディレクトリから、2 番目のフロッピードライブ (/floppy/floppy1) にロードされたフロッピーディスクにコピーしています。3 番目の例では、ディレクトリ (morefiles) とその下にあるすべてのものを、/home/smith/ ディレクトリから最初のフロッピードライブにコピーしています。


$ mv readme.doc /floppy/floppy0
$ cp readme2.doc /floppy/floppy1
$ cp -r /home/smith/morefiles /floppy/floppy0

フロッピーディスクが使用中かどうかを調べる方法

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

  2. fuser コマンドを起動します。

    fuser コマンドは、指定された CD に現在アクセスしているプロセスを表示します。


    # fuser -u [-k] floppy0
    

    -u

    フロッピーディスクを使用中のユーザーを表示する。 

    -k

    フロッピーディスクにアクセスしているプロセスを終了させる。 

例 - フロッピーディスクが使用中かどうかを調べる

次の例では、プロセス 6400c6399c/floppy/floppy0 ディレクトリにアクセスしていて、プロセス所有者はそれぞれ rootsmith です。


# fuser -u /floppy/floppy0
/floppy/floppy0: 6400c(root)  6399c(smith)

プロセスは、root 権限によって個別に終了させることも、fuser コマンドに -k オプションを付けて使用して、ファイルシステムにアクセス中のすべてのプロセスを終了させることもできます。fuser コマンドは、終了したプロセスの一部を識別できないことがあります。確認するには、-u オプションを付けてもう一度このコマンドを実行してください。


# fuser -u -k /floppy/floppy0
/floppy/floppy0: 6400c(root)Killed  6399c(smith)Killed

フロッピーディスクを取り出す方法

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

    シェルまたはアプリケーションがフロッピーディスク中のファイルやディレクトリにアクセスしている場合、フロッピーディスクは「使用中」であることを忘れないでください。

    フロッピーディスクのすべてのユーザーを検出したかどうかが不確かな場合は (デスクトップツールの背後に隠れたシェルでアクセスしている可能性がある場合は)、「フロッピーディスクが使用中かどうかを調べる方法」に説明されている fuser コマンドを使用してください。

  2. フロッピーディスクを取り出します。


    # eject floppy0
    

    SPARC システムでは、フロッピーはドライブから物理的に取り出されますが、IA システムでは手でフロッピーディスクを取り出す必要があります。ウィンドウを実行している場合は、フロッピーディスクを取り出すように指示する画面メッセージに注意してください。

    フロッピーディスクが使用中の場合は、次のメッセージが表示されます。


        /vol/dev/rdiskette0/noname: Device busy

    この場合は、手順 1 に戻って、誰もフロッピーディスクを使用していないことを確認してから、もう一度それを取り出してください。

    フロッピーディスクが詰まった場合は、紙クリップを伸ばした先端を、ドライブ前面の小さな穴に 3 センチほど挿入し、手で取り出してください。

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

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

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


    $ mkdir directory
    

    directory

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

  2. マウントしたいフロッピーディスクの名前を検索します。

    手作業でリモートフロッピーディスクをマウントする場合は、ローカルフロッピーディスクで使用できる floppy0 または floppy1 変数を使用することができません。フロッピーディスクの名前を使用する必要があります。この名前を検索するには、リモートシステムの /floppy ディレクトリで ls コマンドを使用してください。オートマウンタが実行されている場合は、マウントしたいフロッピーディスクのシステムに cd コマンドで移動してから、ls コマンドを使用できます。オートマウンタが実行されていない場合は、リモートからログインするなどの別の方法を使用する必要があります。

  3. スーパーユーザーとして、フロッピーディスクをマウントします。


    # mount -F nfs -o rw system-name:/floppy/diskette-name local-mount-point
    

    system-name

    マウントするフロッピーディスクが存在するシステムの名前 

    diskette-name

    マウントしたいフロッピーディスクの名前 

    local-mount-point

    リモートフロッピーディスクのマウント先のローカルディレクトリ 

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

  5. フロッピーディスクが実際にマウントされたかどうかを確認するには、ls コマンドを使用して、マウントポイントの内容を表示します。


    $ ls /floppy
    

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

次の例では、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
 

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

システムを設定して、そのフロッピーディスクをエクスポートすることができます。つまり、これらのドライブ上のフロッピーディスクを、他のシステムが使用できるようになります。フロッピーディスクドライブがエクスポートされると、他のシステムは、「他のシステム上のフロッピーディスクにアクセスする方法」に説明されているように、それらをマウントするだけでそこに含まれるフロッピーディスクにアクセスできます。

  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 デーモンを「呼び起こして」、エクスポートされたフロッピーディスクを認識させることを目的としています。

  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 floppy0
    
  9. root の書き込み権を /etc/rmmount.conf に割り当てます。


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

       # File System Sharing
    share floppy*

    上記の行によって、システムのフロッピーディスクドライブにロードされたすべてのフロッピーディスクが共有されます。

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


    # chmod 444 /etc/rmmount.conf
    

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

  12. フロッピーディスクをロードします。


    - フロッピーディスクを挿入する -
    # volcheck -v
    media was found

    ここでロードするフロッピーディスクは他のシステムで使用できるようになります。フロッピーディスクにアクセスするために、リモートユーザーは、「他のシステム上のフロッピーディスクにアクセスする方法」の指示に従って、名前によりそのフロッピーディスクをマウントする必要があります。

  13. フロッピーディスクが実際に他のシステムで使用できるかどうかを確認するには、share コマンドを使用してください。

    フロッピーディスクが使用可能な場合は、その共有の設定が表示されます。(共有されるダミーディレクトリも表示されます。)


    # share
    -    /dummy  ro "dummy dir to wake up NFS daemon"
    -    /myfiles rw  ""

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

次の例では、ローカルシステムの CD-ROM ドライブにロードされたフロッピーディスクすべてを、ネットワーク上の他のシステムで使用できるようにしています。


# 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   ""