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

パート IV 取り外し可能な媒体の管理

このパートでは、取り外し可能な媒体を Solaris の環境で使用する方法を説明します。次の章で構成されています。

 

第 11 章「CD とフロッピーディスクの使用方法の概要」

自動マウントと手作業によるマウントの比較を含めて、CD とフロッピーディスクの使用方法についての概要を説明します。 

 

第 12 章「コマンド行での CD の使用方法」

コマンド行から CD を使用する手順と、ボリューム管理の起動と終了について説明します。 

 

第 13 章「コマンド行でのフロッピーディスクのフォーマットと使用方法」

コマンド行からフロッピーディスクをフォーマットして使用する手順を説明します。 

 

第 14 章「コマンド行での PCMCIA メモリーカードの使用方法」

コマンド行から PCMCIA メモリカードをフォーマットして使用する手順を説明します。 

 

第 15 章「ボリューム管理の動作の概要」

Solaris 環境によって、フロッピーディスクおよび CD へのアクセスを容易にするための特別なマウントポイントとシンボリックリンクがどのように作成されるかについて、詳しく説明します。 

 

第 11 章 CD とフロッピーディスクの使用方法の概要

この章では、フロッピーディスクと CD を Solaris 環境で使用するためのガイドラインを示します。

この章の内容は次のとおりです。

取り外し可能な媒体の管理についての参照先

取り外し可能な媒体を管理する手順については、次を参照してください。

OpenWindows 環境または共通デスクトップ環境のファイルマネージャで取り外し可能な媒体を使用する方法については、次のドキュメントを参照してください。

機能と利点

Solaris 環境には、ユーザーとソフトウェア開発者用に、フロッピーディスクと CD を扱うための標準インタフェースが用意されています。ボリューム管理と呼ばれるこのインタフェースには、主に次の 3 つの利点があります。

自動マウントと手作業によるマウントの比較

次の表 11-1 は、手作業によるマウント (ボリューム管理を使用しない場合) と自動マウント (ボリューム管理を使用する場合) の手順を比較したものです。

表 11-1 手作業によるマウントと自動マウントの比較

手順 

手作業によるマウント 

自動マウント 

媒体を挿入する 

媒体を挿入する 

スーパーユーザーになる 

フロッピーディスクの場合は、volcheck コマンドを使用する

媒体デバイスの位置を確認する 

ボリューム管理は、CD およびフロッピーディスクを手作業でマウントする場合の大半の作業を、自動的に実行する。 

マウントポイントを作成する 

 

マウントポイントが現在のディレクトリではないことを確認する 

 

mount に適切なオプションを付けて、デバイスをマウントする

 

スーパーユーザーを終了する 

 

媒体上のファイルを操作する 

媒体上のファイルを操作する 

スーパーユーザーになる 

 

10 

媒体デバイスのマウントを解除する 

 

11 

媒体を取り出す 

媒体を取り出す 

12 

スーパーユーザーを終了する 

 

フロッピーディスクと CD で行える操作

ボリューム管理を使用すると、手作業によるマウントの場合と同様にフロッピーディスクおよび CD にアクセスできますが、処理ははるかに容易になり、スーパーユーザーになる必要もなくなります。フロッピーディスクと CD は、操作を容易にするために、覚えやすい位置にマウントされます。

表 11-2 フロッピーディスクと CD 上のデータにアクセスする方法

アクセスするデータ 

操作 

ファイルを検索する場所 

フロッピーディスク上のファイル 

フロッピーディスクを挿入して、volcheck と入力する。

/vol/dev/aliases/floppy0

フロッピーディスク上の raw データ 

フロッピーディスクを挿入して、volcheck と入力する。

/vol/dev/aliases/floppy0

CD 上のファイル 

CD を挿入して、数秒間待つ。 

/cdrom/cdrom0

システムに複数のフロッピーディスクや CD-ROM ドライブがある場合は、そのアクセスポイントについて、次の表 11-3 を参照してください。

表 11-3 フロッピーディスクと CD にアクセスする場所

媒体デバイス 

ファイルシステムにアクセスするための場所 

raw データにアクセスするための場所 

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

/floppy/floppy0

/vol/dev/aliases/floppy0

2 番目のフロッピーディスクドライブ 

/floppy/floppy1

/vol/dev/aliases/floppy1

最初の CD-ROM ドライブ 

/cdrom/cdrom0

/vol/dev/aliases/cdrom0

2 番目の CD-ROM ドライブ 

/cdrom/cdrom1

/vol/dev/aliases/cdrom1

第 12 章 コマンド行での CD の使用方法

この章では、Solaris 環境においてコマンド行から CD を使用する方法について説明します。この章で説明する手順は次のとおりです。

CD の使用方法

表 12-1 作業マップ: 一般的な CD の使用方法

作業 

説明 

手順の説明 

CD のロード 

CD-ROM ドライブに CD を挿入する。 

「CD をロードする方法」

CD の内容の確認 

省略可能。 

CD の内容を調べるには、/cdrom の下にある適切なディレクトリを調べる。

「CD の内容を調べる方法」

ファイルまたはディレクトリのコピー 

省略可能。 ファイルシステムの任意の場所からコピーをするのと同様に、CD からファイルまたはディレクトリをコピーする。

「CD から情報をコピーする方法」

CD が使用中かどうかの確認 

省略可能。 CD を取り出す前に、CD が使用中かどうかを確認する。

「CD が使用中かどうかを調べる方法」

CD の取り出し 

作業が終了したら、CD-ROM ドライブから CD を取り出す。 

「CD を取り出す方法」

CD 名の使用方法

CD を操作する場合、名前または以下の 表 12-2 に示す呼び名によって、それらを識別できます。説明を簡単にするため、作業の説明では cdrom0 を使用しますが、CD 名または別の呼び名を使用することもできます。

表 12-2 CD の識別方法

CD 

代替名 

最初の CD-ROM ドライブ 

cdrom0

2 番目の CD-ROM ドライブ 

cdrom1

3 番目の CD-ROM ドライブ 

cdrom2

CD をロードする方法

CD を挿入します。ランプの点滅が消えるとすぐに (およそ 5〜10 秒)、CD は /cdrom にマウントされます。CD がマウントされたことを確認するには、「CD の内容を調べる方法」で説明する作業を実行してください。


注 -

ほとんどの CD は、ISO 9660 標準でフォーマットされています。このフォーマットには移植性があるため、ほとんどの CD をボリューム管理によってマウントできます。ただし、第 15 章「ボリューム管理の動作の概要」で説明するように、UFS CD はアーキテクチャに依存するため、専用のアーキテクチャ上で使用する必要があります。CD のマウントで問題が生じた場合、特にそれがインストール用 CD の場合は、その UFS ファイルシステムが、使用しているシステムのアーキテクチャに適しているかどうかを CD のラベルで確認してください。


CD の内容を調べる方法

ls -L コマンドを使用して、/cdrom ディレクトリの内容を表示します。


$ ls -L [-l] /cdrom/cdrom0

-L

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

-l

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

例 - CD の内容を調べる

次の例は、最初の CD-ROM ディレクトリである /cdrom/cdrom0 にロードされた CD の内容を示します。


$ ls -L -l /cdrom/cdrom0
dr-xr-xr-x   2  root   sys  2048  Dec 31  1993  tools
dr-xr-xr-x   2  root   sys  2048  Dec 31  1993  graphics

CD から情報をコピーする方法

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

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


    $ ls /cdrom
    

    ls コマンドは、マウントされた CD の内容を表示します。内容が表示されない場合は、「CD をロードする方法」を参照してください。

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

    コピーするもの 

    使用するコマンド 

    ファイル 

    cp

    ディレクトリ 

    cp -r

例 - CD から情報をコピーする

次の例は、cp コマンドを使用して 1 つのファイルを /cdrom/solstice_sysmgt_2_3 ディレクトリからシステムの現在のディレクトリ (「.」で表す) へコピーします。


$ cp /cdrom/solstice_sysmgt_2_3/README .
$ ls -l
-r--r--r--   1 pmorph   users       4618 May  9 08:09 README

ファイルやディレクトリを CD からユーザーのファイルシステムへコピーした場合、そのユーザーがコピーしたファイルやディレクトリの所有者になりますが、アクセス権は CD 上のアクセス権が保持されたままです。

-r--r--r--

コピーしたファイルやディレクトリのアクセス権を変更するには、chmod コマンドを使用します。chmod コマンドの使用方法については、『Solaris のシステム管理 (第 2 巻)』の「ファイルのセキュリティの適用手順」を参照して下さい。

CD が使用中かどうかを調べる方法

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

  2. fuser(1M) コマンドを入力します。

    fuser コマンドは、指定する CD に現在アクセス中のプロセスを表示します。


    # fuser -u [-k] /cdrom/cdrom0
    

    -u

    CD のユーザーを表示する。 

    -k

    CD にアクセス中のプロセスを終了させる。 

fuser コマンドは、終了したプロセスすべてを必ず識別できるわけではありません。確認するには、-u オプションを付けて、もう一度このコマンドを実行してください。

例 - CD が使用中かどうかを調べる

以下の例では、プロセス 6400c6399c/cdrom/cdrom0 ディレクトリにアクセスしており、プロセスの所有者はそれぞれ rootsmith です。


# fuser -u /cdrom/cdrom0
/cdrom/cdrom0: 6400c(root)  6399c(smith)

各プロセスを別々に (スーパーユーザー権限により) 終了するか、あるいは -k オプションを付けて fuser コマンドを使用できます。このオプションはファイルシステムにアクセスしているすべてのプロセスを終了させます。


# fuser -u -k /cdrom/cdrom0
/cdrom/cdrom0: 6400c(root)Killed  6399c(smith)Killed

CD を取り出す方法

  1. CD が使用中でないことを確認します。

    CD は、シェルまたはアプリケーションがそのファイルまたはディレクトリのいずれかにアクセスしている場合には「使用中」であることを忘れないでください。CD のすべてのユーザーを検出したかどうかを確認できない場合は (デスクトップツールの背後に隠れているシェルがアクセスしている可能性がある場合は)、「CD が使用中かどうかを調べる方法」に説明されている fuser コマンドを使用してください。

  2. CD を取り出します。


    # eject cdrom0
    

他のシステム上の CD にアクセスする方法

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

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


    $ mkdir directory
    

    directory

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

  2. マウントしたい CD の名前を確認します。

    手作業でリモート CD をマウントする場合は、ローカル CD で使用可能な cdrom0 または cdrom1 変数を使用できません。CD 名そのものを使用する必要があります。この名前を確認するには、リモートシステムの /cdrom ディレクトリで ls コマンドを使用してください。オートマウンタが実行されている場合は、マウントしたい CD を持つシステムに cd コマンドで移動してから、ls コマンドを使用できます。オートマウンタが実行されていない場合は、リモートからログインするなどの別の方法を使用する必要があります。

  3. スーパーユーザー権限で、CD をマウントします。


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

    system-name

    マウントする CD を持つシステムの名前 

    cd-name

    マウントしたい CD の名前 

    local-mount-point

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

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

  5. CD が実際にマウントされたかどうかを確認するには、ls コマンドを使用して、マウントポイントの内容を表示します。


    $ ls /cdrom
    

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


注 -

今回の Solaris リリースの名称は「Solaris 7」ですが、コード、パス名、パッケージパス名などには、「Solaris 2.7」または「SunOS 5.7」という名称が使用されていることがあります。コード、パス、パッケージパスなどを実際に入力または使用ときには、 必ずマニュアル中に記述されている名称に従ってください。


次の例では、リモートシステム mars 上の Solaris_2.7_sparc という名前の CD を、ローカルシステムの /cdrom ディレクトリにマウントしています。


$ cd /net/mars
$ ls /cdrom
cdrom0     Solaris_2.7_sparc
$ su
Password: password
# mount -F nfs ro mars:/cdrom/Solaris_2.7_sparc /cdrom
# exit
$ ls /cdrom
Solaris_2.7_sparc

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

システムを設定して、その CD-ROM をエクスポートすることができます。つまり、これらのドライブ上の CD (音楽 CD を除く) を、他のシステムで使用できるようにすることができます。 CD-ROM ドライブがエクスポートされると、他のシステムは、「他のシステム上の CD にアクセスする方法」に説明されているように、それらをマウントするだけでそこに含まれる 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 が実行されている場合

    手順 8

    nfsd が実行されていない場合

    手順 4

  4. nfsd がエクスポートするダミーディレクトリを作成します。


    # mkdir /dummy-dir
    

    dummy-dir

    たとえば、dummy などの任意のディレクトリ名。このディレクトリにはファイルは含まれない。この目的は、NFS デーモンを「呼び起こして」、エクスポートされた CD-ROM を認識させることにある。

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


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


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

       # File System Sharing
    share cdrom*

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

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


    # chmod 444 /etc/rmmount.conf
    

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

  12. CD をロードします。

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

    CD にアクセスするために、リモートユーザーは、「他のシステム上の CD にアクセスする方法」の指示に従って、名前によりその CD をマウントする必要があります。

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

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


    # share
    -    /dummy  ro "dummy dir to wake up NFS daemon"
    -    /Solaris_2.7_sparc  ro  ""

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

次の例では、ローカルシステムの CD-ROM ドライブにロードされた 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/solaris_2_6_sparc/s5   ro   ""  
-               /cdrom/solaris_2_6_sparc/s4   ro   ""  
-               /cdrom/solaris_2_6_sparc/s3   ro   ""  
-               /cdrom/solaris_2_6_sparc/s2   ro   ""  
-               /cdrom/solaris_2_6_sparc/s1   ro   ""  
-               /cdrom/solaris_2_6_sparc/s0   ro   ""  

音楽 CD を演奏するようにシステムを設定する方法

Solaris システムに接続された CD-ROM から音楽 CD を演奏できます。パブリックドメインソフトウェアである Workman にアクセスして、外部スピーカまたはヘッドホンを、CD-ROM ドライブに接続する必要があります。システムハードウェアに接続されたスピーカは動作しません。

システムを設定したら、それを CD-ROM ドライブに挿入するだけで、音楽 CD を演奏できます。Workman のコントロールパネルは、デスクトップに自動的に表示されます。

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

  2. /etc/rmmount.conf を編集します。

    以下の例に示すように、# Actions の下、cdrom 記述の前に次の行を追加します。

       # Actions
    action cdrom action_workman.so path/workman workman-options
    

    path

    Workman ソフトウェアを置いたディレクトリ 

    workman-options

    Workman ソフトウェアによって許可されたオプション 

例 - 音楽 CD を演奏するようにシステムを設定する

この例では、Workman ソフトウェアをサポートするように変更された /etc/rmmount.conf ファイルを示します。


# @(#)rmmount.conf 1.3     96/05/10 SMI
#
# Removable Media Mounter configuration file.
#

# File system identification
ident hsfs ident_hsfs.so cdrom
ident ufs ident_ufs.so cdrom floppy rmscsi pcmem
ident pcfs ident_pcfs.so floppy rmscsi pcmem

# Actions
action cdrom action_workman.so /usr/dist/exe/workman
action cdrom action_filemgr.so
action floppy action_filemgr.so
action rmscsi action_filemgr.so

# File System Sharing
share cdrom*
share floppy*

新しい CD-ROM ドライブ用にシステムを準備する方法

boot -r コマンドによって正しくブートされたシステムでは、ボリューム管理は新しい CD-ROM ドライブを自動的に認識します。ただし、ボリューム管理が常に新しいドライブを認識するようにするには、/reconfigure ファイルを作成する必要があります。

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

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


    # touch /reconfigure
    

    /reconfigure ファイルは、システムの電源を入れたとき、またはシステムをブートしたときに、Solaris 環境が、新たにインストールされた周辺デバイスがあるかどうかをチェックするように設定するものです。この後で、ボリューム管理は、新しいデバイスを検出し、ユーザーに代わってそれを自動的に管理します。

ボリューム管理の設定

通常はボリューム管理を使用しないで、フロッピーディスクまたは CD を管理したいことがあります。この項では、ボリューム管理を終了し、また、再起動する方法を説明します。

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

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

    フロッピーディスクまたは CD を使用中のすべてのユーザーを確認したかどうかを調べるには、「CD が使用中かどうかを調べる方法」に説明されている fuser コマンドを使用してください。

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

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


    # /etc/init.d/volmgt stop
    #

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

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

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


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

第 13 章 コマンド行でのフロッピーディスクのフォーマットと使用方法

この章では、Solaris 環境において、コマンド行からフロッピーディスクをフォーマットして使用する方法を説明します。この章で説明する手順は次のとおりです。

フロッピーディスクのフォーマット

表 13-1 作業マップ: フロッピーディスクのフォーマット方法

作業 

説明 

手順の説明 

フォーマットされていないフロッピーディスクのロード 

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

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

フロッピーディスクのフォーマット 

UFS 用にフロッピーディスクをフォーマットする。 

「UFS フロッピーディスクをフォーマットする方法」

 

DOS 用にフロッピーディスクをフォーマットする。  

「DOS フロッピーディスクをフォーマットする方法」

UFS ファイルシステムの作成 

UFS の場合のみ。

省略可能。フロッピーディスクをファイルの保存に使用する場合は、UFS ファイルシステムを作成する。文字の保存に使用する場合に、この手順は不要。  

「UFS ファイルシステムをフロッピーディスクに作成する方法」

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

フォーマットが終了したら、すぐに使用する場合でも、必ずそのフロッピーディスクを取り出す。 

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

フロッピーディスクの名前について

フロッピーディスクを操作する場合は、名前、または次の表 13-2 の呼び名によって識別できます。説明を簡単にするために、作業の説明では floppy0 を使用しますが、フロッピーディスク名または別の呼び名も使用できます。

表 13-2 フロッピーディスクを識別する方法

フロッピーディスク 

フロッピーディスクの代替名 

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

floppy0

2 番目のフロッピーディスクドライブ 

floppy1

3 番目のフロッピーディスクドライブ 

floppy2


注 -

名前の付いていない (つまり「ラベル」がない) フロッピーディスクには、noname というデフォルト名が割り当てられます。


ハードウェアの考慮点

Solaris システムは、Solaris システム用と DOS システム用にフロッピーディスクをフォーマットできます。ただし、ハードウェアプラットフォームによっていくつかの制限があります。次の表はこの制限を要約したものです。

プラットフォームの種類 

フロッピーディスクのフォーマット仕様 

SPARC 上の Solaris 

SPARC 上の Solaris (UFS) 用 

 

MS-DOS または NEC-DOS (PCFS) 用 

x86 上の Solaris 

x86 上の Solaris (UFS) 用 

 

MS-DOS または NEC-DOS (PCFS) 用 

UFS 用にフォーマットされたフロッピーディスクは、それらがフォーマットされたハードウェアプラットフォームに制限されます。つまり、SPARC システムでフォーマットされた UFS フロッピーディスクは、x86 システム上の UFS には使用できません。x86 システム上でフォーマットされたフロッピーディスクの場合も同様です。これは、SPARC と x86 の UFS フォーマットが異なるためです。SPARC はリトルエンディアンによるビットコーディング、x86 はビッグエンディアンによるビットコーディングを採用しています。

SunOS ファイルシステム用の完全な形式は、基本的な「ビット」形式と、SunOS ファイルシステムをサポートするための構造からなります。DOS ファイルシステム用の完全な形式は、基本的な「ビット」形式と、MS-DOS または NEC-DOS のいずれかのファイルシステムをサポートする構造からなります。フロッピーディスクを準備するために必要な手順は、ファイルシステムによって異なります。したがって、フロッピーディスクをフォーマットする前には、どの作業が必要かを決めてください。「フロッピーディスクのフォーマット」を参照してください。

Solaris システム (SPARC または x86 のいずれか) では、7 つの異なる密度のフロッピーディスクをフォーマットできます (適切なドライブが必要です)。

フロッピーディスクのサイズ 

フロッピーディスクの密度 

容量 

3.5"  

拡張密度 

2.88M バイト 

3.5" 

高密度 (HD) 

1.44M バイト 

3.5" 

中密度 (DD) 

1.2M バイト 

3.5" 

低密度 

720M バイト 

5.25" 

高密度 (HD) 

1.2M バイト 

5.25" 

中密度 (DD) 

720K バイト 

5.25" 

低密度 

360K バイト 

デフォルトにより、フロッピーディスクドライブは、それに近い密度にフロッピーディスクをフォーマットします。つまり、1.44M バイトのドライブは、フロッピーディスクが実際に 1.44M バイトのフロッピーディスクかどうかに関係なく、特に指示しないかぎり、そのフロッピーディスクを 1.44M バイト用にフォーマットしようとします。1.44M バイトドライブに、フロッピーディスクを、たとえば 720K バイトにフォーマットするように指示できます。しかし、720K バイトドライブに、フロッピーディスクを 1.44M バイト用にフォーマットするよう指示することはできません。つまり、フロッピーディスクもドライブも、その容量以下にフォーマットすることは可能です。

ドライブに対して、フロッピーディスクをデフォルト以外の密度にフォーマットするよう指示するには、次の作業に示すように、fdformat コマンドを使用してください。この場合、次の表 13-3 から適切な密度オプションを使用するようにしてください。

表 13-3 密度のオプション

フロッピーディスクのフォーマット密度 

ドライブがデフォルト密度を使用する場合 

fdformat コマンドに使用する密度オプション

2.88M バイト 

2.88M バイト 

-E

1.44M バイト 

2.88M バイト 

-H

1.44M バイト 

1.44M バイト 

なし 

1.2M バイト 

1.44M バイト 

-t nec -M

720K バイト 

1.44M バイト 

-D または -t dos -D

1.2M バイト 

1.2M バイト 

なし 

720K バイト 

1.2M バイト 

-D

720K バイト 

720K バイト 

なし 

360 バイト 

720K バイト 

-D

fdformat コマンドのオプションについては、マニュアルページを参照するか、fdformat -z を入力してください。この -z オプションを使用すると、コマンドのすべてのオプションが表示されます。

ドライブのデフォルト密度がわからない場合は、デフォルト設定 (つまり、密度オプションのない状態) によってフォーマット処理を開始して、設定メッセージに注意してください。このメッセージは、次のように表示されます。


Formatting 1.44 M in /vol/dev/rdiskette0/unformatted
Press return to start formatting floppy.

確認メッセージには、ドライブのデフォルト密度が示されます。たとえば、上の例では、ドライブのデフォルト密度は 1.44M バイトです。密度が目的のものでない場合は、Ctrl-c キーを使用してフォーマット処理を中止し、フォーマットをやりなおしてください。

UFS フロッピーディスクをフォーマットする方法

最初の説明にあるように、SPARC システムでフォーマットされた UFS フロッピーディスクは、SPARC システムでしか使用できません。また、x86 システムでフォーマットされた UFS フロッピーディスクは、Solaris を実行する x86 システムでしか使用できません。


注意 - 注意 -

フロッピーディスクをフォーマットすると、既存の内容はすべて消去されます。


  1. ファイルマネージャを終了します。

    ファイルマネージャは、フォーマットされていないフロッピーディスクを挿入すると、フォーマット用ウィンドウを自動的に表示します。ただし、以下で説明するフォーマット方法が、ファイルマネージャによるフォーマットよりも確実です。このウィンドウが表示されないようにするには、ファイルマネージャを終了してください。ファイルマネージャを開いておきたい場合は、フォーマットウィンドウが表示されたときに、それを終了してください。

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

    3.5 インチと 5.25 インチのどちらのフロッピーディスクでも、書き込み保護は、左下または右下の角にある小さなタブによって設定されます。タブの背後に四角い穴が見える場合、フロッピーディスクは書き込み保護になっています。この穴がタブによって覆われている場合、フロッピーディスクは書き込み可能です。(フロッピーディスクを取り出して調べる必要がある場合は、eject floppy とシェルに入力してください。)

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

    フロッピーディスクが完全に挿入されたことを確認してください。

  4. フォーマットを実行します。


    $ fdformat -v -U [density-options convenience-options]

    -v

    フロッピーディスクが正しくフォーマットされたかどうかを確認する。 

    -U

    フロッピーディスクがマウントされている場合は、それを解除する。 

    density-options

    ドライブ密度が 1.44M バイトの場合、密度オプションは次のようになる。

     

    - なし - 

    1.44M バイトにフォーマットする。 

     

    -D

    720K バイトにフォーマットする。 

     

     

    density-options のリストは、表 13-3 を参照。

    convenience-options

     

     

    -e

    フォーマットが終了すると、フロッピーディスクを取り出す。 

     

    -f

    フォーマットの前に確認を要求しない。 

     

    -b label

    フロッピーディスクに名前を付ける。名前は、8 文字以下にする必要がある。大文字小文字は区別されない。 

     

    -z

    fdformat コマンドのすべてのオプションを一覧表示するが、フロッピーディスクはフォーマットしない。


    注 -

    720K バイト (DD) のフロッピーディスクを 1.44M バイト用にフォーマットしようとしたときに、-v オプションが指定されていない場合は fdformat の処理は中止されません。-v オプションがされている場合には、fdformat はフロッピーディスクをフォーマットしますが、検査でエラーが検出されて次のメッセージが出力されます。fdformat: check diskette density, I/O error


    fdformat コマンドは -f オプションを使用していなければ、確認メッセージを表示して実行されるフォーマットのタイプを示します。


    Formatting 1.44 M in /vol/dev/rdiskette0/unformatted
    Press return to start formatting floppy.
  5. 目的に応じて、以下のいずれかのキーを使用します。

    目的 

    使用するキー 

    フォーマットのタイプの確認 

    Return キー (前の手順で -f オプションを使用していない場合。使用した場合は、確認は不要。)

    フォーマットの取り消し 

    Ctrl-c キー 

    フォーマット処理中には、ドットが連続して表示されます。検査処理中には、ドットの後に V が連続して表示されます。表示が停止すると、フォーマットは完了です。

    これでフロッピーディスクを、tarcpio などの raw データ操作に使用することができます。

例-UFS フロッピーディスクをフォーマットする

次に、UFS フォーマットのいくつかの例を示します。最初の例では、1.44M バイトのフロッピーディスクを 1.44M バイトドライブでフォーマットしています。


$ fdformat -v -U
Formatting 1.44 M in /vol/dev/rdiskette0/unformatted
Press return to start formatting floppy. [ Return キー ]
.......................................................
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv

次の例では、同じジョブを実行していますが、フロッピーディスクに myfiles という名前を割り当てています。


$ fdformat -v -U -b myfiles
Formatting 1.44 M in /vol/dev/rdiskette0/unformatted
Press return to start formatting floppy. [ Return キー ]
.......................................................
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv

次の例では、720K バイトフロッピーディスクを、1.44M バイトドライブでフォーマットして、それに myfiles という名前を付けています。


$ fdformat -v -U -D -b myfiles
Formatting 720 KB in /vol/dev/rdiskette0/unformatted
Press return to start formatting floppy. [ Return キー ]
.......................................................
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv

UFS ファイルシステムをフロッピーディスクに作成する方法

UFS ファイルシステムを作成する手順は、x86 システムおよび SPARC システムのどちらでフォーマットされた UFS フロッピーディスクでも同じですが、SPARC システムでフォーマットされた UFS フロッピーディスクは、SPARC システムでしか使用できません。また、x86 システムでフォーマットされた UFS フロッピーディスクは、Solaris を実行する x86 システムでしか使用できません。

  1. UFS ファイルシステム用にフロッピーディスクをフォーマットします。

    「UFS フロッピーディスクをフォーマットする方法」で説明した手順に従ってください。

  2. フロッピーディスクに SunOS ファイルシステムを作成します。


    $ /usr/sbin/newfs -v /vol/dev/aliases/floppy0
    

    -v

    状態メッセージを出力する。 

    /vol/dev/aliases/floppy0

    フロッピーの位置を指定する。 

    newfs コマンドは、ファイルシステムの作成を確認するメッセージを表示します。

  3. ファイルシステムの作成を確認します。


    newfs: construct a new file system
           /vol/dev/aliases/floppy0:(y/n)? y
    

    状態メッセージが表示されて、ファイルシステムとフロッピーディスクのフォーマットの詳細を示します。

    これで、フロッピーディスクを SPARC システムで使用することができます。ただし、ボリューム管理にフロッピーディスクを認識させるには、次の手順で説明するように、volrmmount コマンドを実行する必要があります。

  4. フロッピーディスクが挿入されたことをボリューム管理に通知するために、-i オプションを指定して volrmmount コマンドを呼び出します。


    $ volrmmount -i floppy0
    
  5. /floppy ディレクトリで ls コマンドを使用して、UFS ファイルシステムがフロッピーディスク上に作成されていることを確認します。

    floppy0 サブディレクトリが表示されれば、UFS ファイルシステムがフロッピーディスクに保存され、正しくマウントされたということです。


    $ ls /floppy
    floppy0

例 - UFS ファイルシステムをフロッピーディスクに作成する


$ volcheck -v
media was found
$ /usr/sbin/newfs -v /vol/dev/aliases/floppy0
newfs: construct a new file system /vol/dev/aliases/floppy0: (y/n)? y
mkfs -F ufs /vol/dev/aliases/floppy0 2880 18 2 8192 1024 16 10 5 2048 
t 0 -1 8 15
/vol/dev/aliases/floppy0:  2880 sectors in 80 cylinders of 2 tracks, 
18 sectors
        1.4MB in 5 cyl groups (16 c/g, 0.28MB/g, 128 i/g)
super-block backups (for fsck -F ufs -o b=#) at:
 32, 640, 1184, 1792, 2336,
$ volrmmount -i floppy0
$ ls /floppy
floppy0

DOS フロッピーディスクをフォーマットする方法

SPARC および x86 のどちらの Solaris システムでも、DOS フロッピーディスクをフォーマットできます。両者の手順は同じですが、SPARC の場合はフロッピーディスク上に SunOS ファイルシステムが作成されるのに対して、x86 の場合はファイルシステム上に DOS ファイルシステム (MS-DOS または NEC-DOS) が作成されます。


注意 - 注意 -

フロッピーディスクをフォーマットすると、既存の内容はすべて消去されます。


  1. ファイルマネージャを終了します。

    ファイルマネージャは、フォーマットされていないフロッピーディスクを挿入すると、フォーマットウィンドウを自動的に表示します。ただし、以下で説明するフォーマット方法が、ファイルマネージャによるフォーマットよりも確実です。このウィンドウが表示されないようにするには、ファイルマネージャを終了してください。ファイルマネージャを開いたままにしておきたい場合は、フォーマットウィンドウが表示されてから、それを終了してください。

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

    3.5 インチと 5.25 インチのどちらのフロッピーディスクでも、書き込み保護は、左下または右下の角にある小さなタブによって設定されます。タブの背後に四角い穴が見える場合、フロッピーディスクは書き込み保護になっています。この穴がタブで覆われている場合、フロッピーディスクは書き込み可能です。(フロッピーディスクを取り出して調べる必要がある場合は、eject floppy とシェルに入力してください。)

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

    フロッピーディスクが完全に挿入されたことを確認してください。

  4. フォーマットを実行します。


    $ fdformat -v -U [density-options convenience-options]

    -v

    フロッピーディスクが正しくフォーマットされたかどうかを確認する。 

    -U

    フロッピーディスクがマウントされている場合は、それを解除する。 

    density-options

    ドライブ密度が 1.44M バイトの場合、密度オプションは次のようになる。

     

    -d

    1.44M バイトで MS-DOS 用にフォーマットする。 

     

    -d -D

    720K バイトで MS-DOS 用にフォーマットする。 

     

    -t nec -M

    1.2M バイトで NEC-DOS 用にフォーマットする。 

     

     

    density-options のリストは、表 13-3 を参照。

    convenience-options

     

     

    -e

    フォーマットが終了すると、フロッピーディスクを取り出す。 

     

    -f

    フォーマットの前に確認を要求しない。 

     

    -b label

    フロッピーディスクに名前を付ける。名前は、8 文字以下にする必要がある。大文字小文字は区別されない。 

     

    -z

    fdformat コマンドのすべてのオプションを一覧表示するが、フロッピーディスクはフォーマットしない。


    注 -

    720K バイト (DD) のフロッピーディスクを、1.44M バイト用にフォーマットしようとした場合、fdformat は、-v オプションが指定されないかぎり、処理を中止しない。-v オプションを使用すると、fdformat は、フロッピーディスクをフォーマットするが、検査でエラーが検出されて、次のメッセージによって通知される。fdformat: check diskette density, I/O error


    fdformat コマンドは、確認メッセージを表示して、実行されるフォーマットのタイプを示します。


    Formatting 1.44 M in /vol/dev/rdiskette0/unformatted
    Press return to start formatting floppy.
  5. 目的に応じて、以下のいずれかのキーを使用します。

    目的 

    使用するキー 

    フォーマットのタイプの確認 

    Return キー (前の手順で -f オプションを使用していない場合。使用した場合は、確認は不要。)

    フォーマットの取り消し 

    Ctrl-c キー 

    フォーマット処理中には、ドットが連続して表示されます。検査処理中には、ドットの後に V が連続して表示されます。表示が停止すると、フォーマットは完了し、DOS システム上でフロッピーディスクが使用できるようになります。

  6. フロッピーディスクが挿入されたことをボリューム管理に通知するために、-i オプションを指定して volrmmount コマンドを呼び出します。


    $ volrmmount -i floppy0
    

    ボリューム管理は、フロッピーディスクを /floppy/floppy0 の下にマウントします。

例 - DOS 用にフロッピーディスクをフォーマットする

次の例は、1.44 M バイトで MS-DOS 用にフロッピーディスクをフォーマットして、そのフロッピーディスクに myfiles という名前を付けています。


$ fdformat -v -U -b myfiles
Formatting 1.44 M in /vol/dev/rdiskette0/unformatted
Press return to start formatting floppy. [ Return キー ]
......................................................
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv

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

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

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

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

第 14 章 コマンド行での PCMCIA メモリーカードの使用方法

この章では、Solaris 環境においてコマンド行から PCMCIA メモリーカードをフォーマットして使用するために必要な作業について説明します。

この章で説明する手順は次のとおりです。

PCMCIA メモリーカードのフォーマット

表 14-1 作業マップ: PCMCIA メモリーカードのフォーマット方法

作業 

説明 

手順の説明 

フォーマットされていない PCMCIA メモリーカードのロード 

IPCMCIA メモリーカードをドライブに挿入し、volcheck コマンドを実行する。

「PCMCIA メモリーカードをロードする方法」

PCMCIA メモリーカードのフォーマット 

PCMCIA メモリーカードを、UFS 用にフォーマットする。 

「UFS PCMCIA メモリーカードをフォーマットする方法」

 

PCMCIA メモリーカードを、DOS 用にフォーマットする。 

「DOS PCMCIA メモリーカードをフォーマットする方法」

UFS ファイルシステムの作成 

UFS の場合のみ。省略可能。PCMCIA メモリーカードをファイルの保存に使用する場合は、UFS ファイルシステムを作成する。文字の保存に使用する場合には、この手順は不要。

「UFS ファイルシステムを PCMCIA メモリーカード上に作成する方法」

PCMCIA メモリーカードの取り出し 

PCMCIA メモリーカードのフォーマットを終了したら、すぐに使用する場合でも、必ずそれを取り出す。 

「PCMCIA メモリーカードを取り出す方法」

PCMCIA メモリーカードの名前について

PCMCIA メモリーカードを操作する場合は、名前、または次の表 14-2 に示す呼び名によってそれらを識別できます。説明を簡単にするために、作業の説明では pcmem0 を使用しますが、PCMCIA メモリーカード名または別の呼び名も使用できます。

表 14-2 PCMCIA メモリーカードを識別する方法

PCMCIA カード 

代替名 

最初の PCMCIA ドライブ 

pcmem0

2 番目の PCMCIA ドライブ 

pcmem1

3 番目の PCMCIA ドライブ 

pcmem2


注 -

名前の付いていない (つまり「ラベル」がない) PCATA ドライブには、noname というデフォルト名が割り当てられます。


ハードウェアの考慮点

Solaris システムは、Solaris システム用と DOS システム用に PCMCIA メモリーカードをフォーマットできます。ただし、ハードウェアプラットフォームにいくつかの制限があります。次の表はこの制限を要約したものです。

プラットフォームの種類 

PCMCIA メモリーカードのフォーマット仕様 

SPARC 上の Solaris 

SPARC 上の Solaris (UFS) 用 

 

MS-DOS または NEC-DOS (PCFS) 用 

x86 上の Solaris 

x86 上の Solaris (UFS) 用 

 

MS-DOS または NEC-DOS (PCFS) 用 

UFS 用にフォーマットされた PCMCIA メモリーカードは、それらが形式されたハードウェアプラットフォームに制限されます。つまり、SPARC システムでフォーマットされた UFS PCMCIA メモリーカードは、x86 システム上の UFS には使用できません。x86 システム上でフォーマットされた PCMCIA メモリーカードの場合も同様です。これは、SPARC と x86 とで UFS フォーマットが異なるためです。

UFS ファイルシステム用の完全な形式は、基本的な「ビット」形式と、UFS ファイルシステムをサポートする構造からなります。DOS ファイルシステム用の完全な形式は、基本的な「ビット」形式と、MS-DOS または NEC-DOS のいずれかのファイルシステムをサポートする構造からなります。PCMCIA メモリーカードを準備するために必要な手順はファイルシステムによって異なります。したがって、PCMCIA メモリーカードをフォーマットする前には、どの作業が必要かを決めてください。「PCMCIA メモリーカードのフォーマット」 を参照してください。

fdformat コマンドのオプションについては、fdformat(1) を参照するかまたは fdformat -z と入力してください。この -z オプションを使用すると、fdformat コマンドのすべてのオプションが表示されます。

UFS PCMCIA メモリーカードをフォーマットする方法

最初の説明にあるように、SPARC システムでフォーマットされた UFS PCMCIA メモリーカードは、SPARC システムでしか使用できません。また、x86 システムでフォーマットされた UFS PCMCIA メモリーカードは、Solaris を実行する x86 システムでしか使用できません。


注意 - 注意 -

PCMCIA メモリーカードをフォーマットすると、既存の内容はすべて消去されます。


  1. ファイルマネージャを終了します。

    ファイルマネージャは、フォーマットされていない PCMCIA メモリーカードを挿入すると、フォーマット用ウィンドウを自動的に表示します。ただし、以下で説明するフォーマット方法が、ファイルマネージャによるフォーマットよりも確実です。このウィンドウが表示されないようにするには、ファイルマネージャを終了してください。ファイルマネージャを開いておきたい場合は、フォーマットウィンドウが表示されたときに、それを終了してください。

  2. PCMCIA メモリーカードが書き込み可能になっていることを確認します。

    書き込み保護は、PCMCIA メモリーカードの端にある小さいスライドスイッチによって設定します。

  3. PCMCIA メモリーカードを挿入します。

    PCMCIA メモリーカードが完全に挿入されたことを確認してください。

  4. フォーマットを実行します。


    $ fdformat -v -U [convenience-options]

    -v

    PCMCIA メモリーカードが正しくフォーマットされたかどうかを確認する。 

    -U

    PCMCIA メモリーカードがマウントされている場合は、それを解除する。 

    convenience-options

     

     

    -e

    フォーマットが終了すると、PCMCIA メモリーカードを取り出す。 

     

    -f

    フォーマットの前に確認を要求しない。 

     

    -b label

    PCMCIA メモリーカードに名前を付ける。名前は、8 文字以下にする。大文字と小文字は区別されない。 

     

    -z

    fdformat コマンドのすべてのオプションを一覧表示するが、PCMCIA メモリーカードはフォーマットしない。

    fdformat コマンドの -f オプションを使用していなければ、実行されるフォーマットのタイプと確認メッセージが表示されます。


    Formatting in /vol/dev/aliases/pcmem0
    Press return to start formatting pcmem0.
  5. 目的に応じて、以下のいずれかのキーを使用します。

    目的 

    使用するキー 

    フォーマットのタイプの確認 

    Return キー (前の手順で -f オプションを使用していない場合。使用した場合は、確認は不要。)

    フォーマットの取り消し 

    Ctrl-c キー 

    フォーマットの進行中は、ドットが連続して表示されます。検査の進行中は、ドットの後に V が連続して表示されます。表示が停止すると、フォーマットは完了です。

    これで PCMCIA メモリーカードを、tarcpio などの raw データ操作に使用できます。

例 - UFS PCMCIA メモリーカードをフォーマットする

次に、UFS フォーマットの例を示します。


$ fdformat -v -U
Formatting in /vol/dev/aliases/unformatted
Press return to start formatting pcmem0. [ Return キー ]
.........................................................
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv

次の例では、同じジョブを実行していますが、PCMCIA メモリーカードに myfiles という名前を割り当てています。


$ fdformat -v -U -b myfiles
Formatting in /vol/dev/aliases/unformatted
Press return to start formatting pcmem0. [ Return キー ]
.........................................................
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv

UFS ファイルシステムを PCMCIA メモリーカード上に作成する方法

UFS ファイルシステムを作成する手順は、x86 システムおよび SPARC システムのどちらでフォーマットされた UFS PCMCIA メモリーカードでも同じですが、SPARC システムでフォーマットされた UFS PCMCIA メモリーカードは、SPARC システムでしか使用できません。また、x86 システムでフォーマットされた UFS PCMCIA メモリーカードは、Solaris を実行する x86 システムでしか使用できません。

  1. UFS ファイルシステム用に PCMCIA メモリーカードをフォーマットします。

    「UFS PCMCIA メモリーカードをフォーマットする方法」で説明した手順に従ってください。

  2. newfs コマンドと、ボリューム管理ディレクトリへの絶対パス名を使用して、PCMCIA メモリーカード上に UFS ファイルシステムを作成します。


    $ /usr/sbin/newfs -v /vol/dev/aliases/pcmem0
    

    -v

    状態メッセージを出力する。 

    /vol/dev/aliases/pcmem0

    PCMCIA メモリーカードの位置を示す。 

    newfs コマンドは、ファイルシステムの作成を確認するメッセージを表示します。

  3. ファイルシステムの作成を確認します。


    newfs: construct a new file system  ¥
    
           /vol/dev/aliases/pcmem0:(y/n)? y
    

    状態メッセージが表示されて、ファイルシステムと PCMCIA メモリーカードのフォーマットの詳細を示します。


    mkfs -F ufs /vol/dev/aliases/pcmem0 2848 8 2 8192 1024 16 ¥
    
        10 60 2048 t 0 -1 8 -1
    
    /vol/dev/aliases/pcmem0:  2848 sectors in 128 cylinders of ¥
    
        2 tracks, 8 sectors
    
    1.0MB in 8 cyl groups (16 c/g, 0.12MB/g, 64 i/g)
    
    super-block backups (for fsck -F ufs -o b=#) at:
    
        32, 304, 544, 816, 1056, 1328, 1568, 1840

    これで、PCMCIA メモリーカードを SPARC システムで使用できます。ただし、ボリューム管理が PCMCIA メモリーカードを認識する前に、次の手順で説明するように、volrmmount コマンドを使用する必要があります。

  4. メモリーカードが挿入されたことをボリューム管理に通知するために、-i オプションを指定して volrmmount コマンドを使用します。


    $ volrmmount -i pcmem0
    

    PCMCIA メモリーカードは、これで /pcmem/pcmem0 にマウントされます。

  5. UFS ファイルシステムが PCMCIA メモリーカード上に作成されたかどうかを確認するには、/pcmem ディレクトリで ls コマンドを使用します。

    pcmem0 サブディレクトリが表示されれば、UFS ファイルシステムが PCMCIA メモリーカードに作成され、正しくマウントされたことになります。


    $ ls /pcmem
    pcmem0

例 - UFS ファイルシステムを PCMCIA メモリーカード上に作成する


$ volcheck -v
media was found
$ /usr/sbin/newfs -v /vol/dev/aliases/pcmem0
newfs: construct a new file system  ¥

       /vol/dev/aliases/pcmem0:(y/n)? y
mkfs -F ufs /vol/dev/aliases/pcmem0 ...

$ volrmmount -i pcmem0

media was found

DOS PCMCIA メモリーカードをフォーマットする方法

SPARC および x86 のどちらの Solaris システムでも、DOS PCMCIA メモリーカードをフォーマットできます。両者の手順は同じですが、SPARC の場合は PCMCIA メモリーカード上に SunOS ファイルシステムが作成されるのに対して、x86 の場合はファイルシステム上に DOS ファイルシステム (MS-DOS または NEC-DOS) が作成されます。


注意 - 注意 -

PCMCIA メモリーカードをフォーマットすると、既存の内容はすべて消去されます。


  1. ファイルマネージャを終了します。

    ファイルマネージャは、フォーマットされていない PCMCIA メモリーカードを挿入すると、フォーマットウィンドウを自動的に表示します。ただし、以下で説明するフォーマット方法が、ファイルマネージャによるフォーマットよりも確実です。このウィンドウが表示されないようにするには、ファイルマネージャを終了してください。ファイルマネージャを開いたままにしておきたい場合は、フォーマットウィンドウが表示されてから、それを終了してください。

  2. PCMCIA メモリーカードが書き込み保護されていないことを確認します。

    書き込み保護は、PCMCIA メモリーカードの端にある小さいスライドスイッチによって設定します。

  3. PCMCIA メモリーカードを挿入します。

    PCMCIA メモリーカードが完全に挿入されたことを確認してください。

  4. フォーマットを実行します。


    $ fdformat -v -U [density-options convenience-options]

    -v

    PCMCIA メモリーカードが正しくフォーマットされたかどうかを確認する。 

    -U

    PCMCIA メモリーカードがマウントされている場合は、それを解除する。 

    density-options

    ドライブ密度が 1.44M バイトの場合、density-options は次のとおり。

     

    -d

    MS-DOS 用にフォーマットする。 

     

    -t nec -M

    1.2M バイトで NEC-DOS 用にフォーマットする。 

     

     

    密度オプションの一覧は、fdformat(1) のマニュアルページを参照。

    convenience-options

     

     

    -e

    フォーマットが終了すると、PCMCIA メモリーカードを取り出す。 

     

    -f

    フォーマットの前に確認を要求しない。 

     

    -b label

    PCMCIA メモリーカードに名前を付ける。名前は、8 文字以下にする。大文字と小文字は区別されない。 

     

    -z

    fdformat コマンドのすべてのオプションを一覧表示するが、PCMCIA メモリーカードはフォーマットしない。


    注 -

    720K バイト (DD) のフロッピーディスクを 1.44M バイト用にフォーマットしようとしたときに、-v オプションが指定されていない場合は fdformat の処理は中止されません。-v オプションが指定されている場合には、fdformat はフロッピーディスクをフォーマットしますが、検査でエラーが検出されて次のメッセージ出力されます。fdformat: check diskette density, I/O error


    実行されるフォーマットのタイプと、確認メッセージが表示されます。


    Formatting 1.44 M in /vol/dev/rdiskette0/unformatted
    Press return to start formatting floppy.
  5. 目的に応じて、以下のいずれかのキーを使用します。

    目的 

    使用するキー 

    フォーマットのタイプの確認 

    Return キー (前の手順で -f オプションを使用していない場合。使用した場合は、確認は不要。)

    フォーマットの取り消し 

    Ctrl-c キー 

    フォーマット処理中には、ドットが連続して表示されます。検査処理中には、ドットの下に V が連続して表示されます。表示が停止すると、フォーマットは完了したことになり、DOS システム用に使用することができます。

  6. メモリーカードが挿入されたことをボリューム管理に通知するために、-i オプションを指定して volrmmount コマンドを使用します。


    $ volrmmount -i pcmem0
    

    ボリューム管理は、PCMCIA メモリーカードを /pcmem/pcmem0 の下にマウントします。

PCMCIA メモリーカードの使用方法

表 14-3 作業マップ: PCMCIA メモリーカードの使用方法

作業 

説明 

手順の説明 

PCMCIA メモリーカードのロード 

PCMCIA メモリーカードをドライブに挿入して、volcheck コマンドを実行する。

「PCMCIA メモリーカードをロードする方法」

PCMCIA メモリーカードの内容の確認 

省略可能。PCMCIA メモリーカードの内容を調べるには、/PCMCIAmemorycard の下にある適切なディレクトリを調べる。

「PCMCIA メモリーカードの内容を調べる方法」

ファイルの交換 

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

「PCMCIA メモリーカードから情報をコピーまたは移動する方法」

 

「PCMCIA メモリーカードへ情報をコピーまたは移動する方法」

PCMCIA メモリーカードが使用中かどうかの確認 

省略可能。PCMCIA メモリーカードを取り出す前に、PCMCIA メモリーカードが使用中であるかどうかを調べる。 

「PCMCIA メモリーカードが使用中かどうかを調べる方法」

PCMCIA メモリーカードの取り出し 

終了したら、PCMCIA メモリーカードを取り出す。 

「PCMCIA メモリーカードを取り出す方法」

PCMCIA メモリーカードをロードする方法

  1. PCMCIA メモリーカードがフォーマットされていることを確認します。

    確認できない場合は、PCMCIA メモリーカードを挿入して、以下の「PCMCIA メモリーカードの使用方法」 で説明されているように、コンソールの状態メッセージをチェックしてください。PCMCIA メモリーカードをフォーマットする必要がある場合は、「UFS PCMCIA メモリーカードをフォーマットする方法」、または 「DOS PCMCIA メモリーカードをフォーマットする方法」を参照してください。

  2. PCMCIA メモリーカードを挿入します。

    PCMCIA メモリーカードがドライブに完全に挿入されたことを確認してください。ドライブにふたがある場合は、それを閉じてください。

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


    $ volcheck -v
    media was found

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

    media was found

    ボリューム管理が PCMCIA メモリーカードを検出して、それを /pcmem ディレクトリにマウントしようとする。

     

    PCMCIA メモリーカードが正しくフォーマットされていると、エラーメッセージはコンソールに表示されない。 

     

    PCMCIA メモリーカードがフォーマットされていない場合でも、「media was found」メッセージは表示されるが、次のエラーメッセージがコンソールに表示される。

    fd0: unformatted diskette or no diskette in the drive

    fd0: read failed (40 1 0)

    fd0: bad format

    PCMCIA メモリーカードをフォーマットしてからでないと、ボリューム管理はそれをマウントできない。フォーマットの方法は、「UFS PCMCIA メモリーカードをフォーマットする方法」 (UFS 用) と 「DOS PCMCIA メモリーカードをフォーマットする方法」 (DOS 用) を参照。

    no media was found

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

  4. 内容をリスト表示して、PCMCIA メモリーカードがマウントされていることを確認します。


    $ ls /pcmem/pcmem0
    pcmem0 myfiles

    前述したように、pcmem0 は PCMCIA メモリーカードの実際の名前へのシンボリックリンクです。この場合は myfiles が実際の名前です。PCMCIA メモリーカードに名前はないけれども正しくフォーマットされている場合は、unnamed_floppy と示されます。

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

       /pcmem/name on /vol/dev/diskette0/name ...

    という行が表示されない場合、PCMCIA メモリーカードはマウントされていません。コンソールのエラーメッセージを確認してください。

PCMCIA メモリーカードの内容を調べる方法

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


$ ls -L [-l] pcmem0

-L

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

-l

長形式。アクセス権と所有権を出力に含む。 

例 - PCMCIA メモリーカードの内容を調べる

次の例では、pcmem0 で識別される最初のフロッピードライブの PCMCIA メモリーカードの内容を一覧表示しています。


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

PCMCIA メモリーカードから情報をコピーまたは移動する方法

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

  1. PCMCIA メモリーカードがフォーマットされてマウントされていることを確認します。


    $ ls /pcmem
    pcmem0  PCMCIA memorycard-name
    

    PCMCIA メモリーカードが正しくフォーマットされてマウントされていれば、その名前とシンボリックリンクが、/pcmem の下に表示されます。

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

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

    コピーするもの 

    使用するコマンド 

    ファイル 

    cp

    ディレクトリ 

    cp -r

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

例 - PCMCIA メモリーカードから情報をコピーまたは移動する

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


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

PCMCIA メモリーカードへ情報をコピーまたは移動する方法

  1. PCMCIA メモリーカードが書き込み保護になっていないことを確認します。

    書き込み保護は、PCMCIA メモリーカードの端にある小さなスライドスイッチによって設定されます。

  2. PCMCIA メモリーカードがフォーマットされてマウントされていることを確認します。


    $ ls /pcmem
    pcmem0  PCMCIA memorycard-name
    

    PCMCIA メモリーカードが正しくフォーマットされてマウントされていれば、その名前とシンボリックリンクの pcmem0 が、/pcmem の下に表示されます。

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

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

    作業 

    使用するコマンド 

    ファイルのコピー 

    cp

    ディレクトリのコピー 

    cp -r

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

    mv

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

例 - 情報を PCMCIA メモリーカードにコピーまたは移動する

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


$ mv readme.doc /pcmem/pcmem0
$ cp readme2.doc /pcmem/pcmem1
$ cp -r /home/smith/morefiles /pcmem/pcmem0

PCMCIA メモリーカードが使用中かどうかを調べる方法

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

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

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


    # fuser -u [-k] pcmem0
    

    -u

    PCMCIA メモリーカードを使用中のユーザーを表示する。 

    -k

    PCMCIA メモリーカードにアクセスしているプロセスを終了させる。 

例 - PCMCIA メモリーカードが使用中かどうかを調べる

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


# fuser -u /pcmem/pcmem0
/pcmem/pcmem0: 6400c(root)  6399c(smith)

プロセスは、root により個別に終了することも、fuser コマンドに -k オプションを付けて使用して、ファイルシステムにアクセス中のすべてのプロセスを終了することもできます。


# fuser -u -k /pcmem/pcmem0
/pcmem/pcmem0: 6400c(root)Killed  6399c(smith)Killed

fuser コマンドは、終了したプロセスの一部を識別できないことがあります。確認するには、-u オプションを付けてもう一度このコマンドを実行してください。

PCMCIA メモリーカードを取り出す方法

  1. PCMCIA メモリーカードが使用中でないことを確認します。

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

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

  2. PCMCIA メモリーカードを取り出します。


    # eject pcmem0
    

    手で PCMCIA メモリーカードを取り出す必要があります。ウィンドウを実行している場合は、PCMCIA メモリーカードを取り出すように指示する画面メッセージに注意してください。

    PCMCIA メモリーカードが使用中の場合は、次のメッセージが表示されます。

       /vol/dev/pcmem/noname: Device busy

    この場合は、手順 1 に戻って誰も PCMCIA メモリーカードを使用していないことを確認してから、もう一度それを取り出してください。

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

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

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


    $ mkdir directory
    

    directory

    他のシステムの PCMCIA メモリーカードのマウントポイントとして使用するディレクトリの名前 

  2. マウントしたい PCMCIA メモリーカードの名前を検索します。

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

  3. スーパーユーザーとして、PCMCIA メモリーカードをマウントします。


    # mount -F nfs -o rw system-name:/pcmem/PCMCIA memory-card-name local-mount-point
    

    system-name

    マウントする PCMCIA メモリーカードが存在するシステムの名前 

    PCMCIA memory-card-name

    マウントしたい PCMCIA メモリーカードの名前 

    local-mount-point

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

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

  5. PCMCIA メモリーカードが実際にマウントされたかどうかを確認するには、ls コマンドを使用して、マウントポイントの内容を表示します。


    $ ls /pcmem
    

例 - 他のシステム上の 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

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

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

  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 デーモンを「呼び起こして」、エクスポートされた PCMCIA メモリーカードを認識させることを目的としている。

  5. 次のエントリを /etc/dfs/dfstab に追加します。

       share -F nfs -o ro [-d comment] /dummy-dir
    

    NFS デーモンを起動すると、このエントリを参照して、エクスポートされた PCMCIA メモリーカードドライブを認識します。コメント (-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. 現在ドライブ内にある PCMCIA メモリーカードを取り出します。


    # eject pcmem0
    
  9. 書き込み権を /etc/rmmount.conf に割り当てます。


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

       # File System Sharing
    share floppy*

    上記の行によって、システムの PCMCIA メモリーカードドライブにロードされた PCMCIA メモリーカードが共有されます。

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


    # chmod 444 /etc/rmmount.conf
    

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

  12. PCMCIA メモリーカードをロードします。


    -PCMCIA メモリーカードを挿入する-
    # volcheck -v
    media was found

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

  13. PCMCIA メモリーカードが実際に他のシステムで使用できるかどうかを確認するには、share コマンドを使用してください。

    PCMCIA メモリーカードが使用可能な場合は、その共有の設定が表示されます。(共有されるダミーディレクトリも表示されます。)


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

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

次の例では、ローカルシステムの CD-ROM ドライブにロードされた 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   ""  

第 15 章 ボリューム管理の動作の概要

この章では、ボリューム管理が取り外し可能な媒体を格納するために作成するマウントポイントとシンボリックリンクについて説明します。

この章で説明する手順は次のとおりです。

ボリューム管理が取り外し可能な媒体すべてをマウントする

ボリューム管理は、/vol/dev の下にあるすべての CD-ROM とフロッピーディスクのドライブへのアクセスを提供します。

Graphic

フロッピーディスクへのアクセス

ボリューム管理は、/vol/dev のサブディレクトリ、つまり diskette0rdiskette0 から、システムのフロッピーディスクドライブへのアクセスを提供します。

Graphic

システムに 2 番目のフロッピーディスクドライブがある場合、ボリューム管理は、diskette1rdiskette1 という 2 番目の対のディレクトリを作成します。3 つ目のフロッピーディスクドライブの場合は、diskette2rdiskette2 という対が作成されます。ドライブが追加されるたびに、同様に対のディレクトリが作成されます。

diskette ディレクトリからはファイルシステムに、rdiskette ディレクトリからは raw データに、それぞれアクセスできます。フロッピーディスク自体は、ドライブディレクトリの下にあるサブディレクトリに示されます。 [ この章の図では、ノードのいくつかは説明をわかりやすくするためにグレーで示されています。これは構造上の違いを示すものではありません。]

Graphic

CD へのアクセス

CD の場合は、フロッピーディスクの場合と似ていますが、ブロックディレクトリと raw ディレクトリにそれぞれ /dsk および /rdsk という名前が付けられている点が異なります。また、CD-ROM デバイスは、実際にはこれらよりも 1 つ下のディレクトリにあります。

Graphic

上記の図では、そのディレクトリは c0t6 と命名されています。これは、特定システムのデバイス命名規則を反映しています。このため、使用するシステムによっては、ディレクトリが同じ形式であってもディレクトリ名が異なる場合があります。

ただし、CD 自体は、それらのデバイスに属するディレクトリの下にマウントされるという点で、フロッピーディスクと似た規則に従っています。

Graphic

したがって、1 つのフロッピーディスクドライブと 1 つの CD-ROM ドライブを備えたシステムの /vol/dev ファイルシステムは、次のようになります。

Graphic

(実際には、/vol/dev には、aliases という名前のサブディレクトリが含まれますが、これについては後で説明します。)

アクセスが容易なマウントポイント

アクセスをより容易にするために、ボリューム管理は、/floppy および /cdrom という 2 つの特殊なマウントポイントを使用します。

Graphic

ボリューム管理は、/vol/dev/diskette0 および /vol/dev/dsk/c0t6 というディレクトリを、/floppy および /cdrom にマウントします。

Graphic

これらのマウントポイントがあるため、フロッピーディスクを挿入すると、/floppy/diskette-name によりアクセスできます。同様に、CD を挿入すると、/cdrom/cd-name によりアクセスできます。

Graphic

ただし、これらのマウントポイントは、適切なフォーマットが必要です。フロッピーディスクがフォーマットされていればマウントは成功しますが、フォーマットされていないと、マウントは失敗して、フロッピーディスクは /vol/dev/diskette0 でしか使用できません。フロッピーディスクは、「UFS フロッピーディスクをフォーマットする方法」または 「DOS フロッピーディスクをフォーマットする方法」の説明に従ってフォーマットできます。

システムに複数のドライブがある場合は、/floppy/floppy0/floppy/floppy1/cdrom/cdrom0 などの並列のディレクトリにマウントされます。

最終的に作成される 2 セットのシンボリックリンク

ボリューム管理は、さらに次の 2 つの個別のシンボリックリンクセットを作成します。

ファイルシステムアクセス用シンボリックリンク

ファイルシステムアクセス用のシンボリックリンクは、ディレクトリ /floppy/floppy0/cdrom/cdrom0 を、最初のフロッピーディスクドライブに挿入されたフロッピーディスクと、最初の CD-ROM ドライブに挿入された CD にリンクします。

/floppy/floppy0 --> /floppy/name --> /vol/dev/diskette0/name

/cdrom/cdrom0 --> /cdrom/name --> /vol/dev/dsk/c0t6/CD-name

これらのリンクを使用すると、名前を知らないフロッピーディスクや CD にアクセスすることができます。リンク名 floppy0 または cdrom0 を名前の代わりに使用できます。

後続のドライブに挿入されたフロッピーディスクと CD は、表 11-3 に要約した命名規則に従います。

raw デバイスアクセス用シンボリックリンク

raw デバイスへのアクセスをさらに容易にするために、ボリューム管理は、/vol/dev の下に aliases ディレクトリを作成します。

Graphic

ボリューム管理は、aliases ディレクトリの下に、ブロック型アクセス用に使用されるものに似たシンボリックリンクのセットを作成します。つまり、raw データをアクセスする場合、これらのディレクトリは同等にあつかえます。

/vol/dev/aliases/floppy0 --> /vol/dev/rdiskette0/diskette-name

/vol/dev/aliases/cdrom0 --> /vol/dev/rdsk/c0t6d0/cd-name

ファイルシステムアクセス用シンボリックリンクと同様、これらのリンクの目的は、raw データフロッピーディスクまたは CD の名前を知らなくても、アクセスできるようにすることにあります。つまり、/vol/dev/aliases/floppy0 および /vol/dev/aliases/cdrom0 の各リンク名を使用します。

上記の例は、フロッピーディスク用と CD 用にそれぞれ 1 つずつシンボリックリンクがある場合を示しています。システムに 2 つのフロッピーディスクまたは 2 つの CD がある場合は、次に示すように、それぞれに 1 つずつシンボリックリンクが作成されます。

Graphic

UFS フォーマットによる制限

UFS フォーマットは、アーキテクチャが異なると互換性がないため、それらがフォーマットされたアーキテクチャ上で使用する必要があります。たとえば、SPARC システム用にフォーマットされた UFS CD は、x86 システムでは認識されません。 同様に、 x86 UFS CD は、ボリューム管理によって SPARC システム上にマウントすることはできません。同じ制限が、フロッピーディスクにもあてはまります。

したがって、ボリューム管理は、SPARC システム上の x86 UFS 媒体を認識してマウントすることはできません。また、x86 システム上の SPARC UFS 媒体も認識できません。

ほとんどの CD は、ISO 9660 標準 (High Sierra File System - HSFS) に従ってフォーマットされます。これは、ボリューム管理をまったく制限しないため、 CD において互換性が問題になることはほとんどありません。

フロッピーディスクの場合、UFS の互換性の問題は、CD の場合よりも頻繁に起こる可能性があります。これは、ユーザーがフォーマットを設定できるためです。あるアーキテクチャで UFS フロッピーディスクをフォーマットした場合、それを別のアーキテクチャでは使用できないことに注意してください。 (「UFS フロッピーディスクをフォーマットする方法」を参照してください。)

混合 (ハイブリッド) フォーマットについて

いくつかの CD、特にインストール用 CD には、混合フォーマットが含まれます。つまり、一部が UFS で、一部 ISO 9660 です。異なるフォーマットを格納するために、CD は、実質的にハードディスクのパーティションに似たスライスに分割されます。9660 部分は移植可能ですが、UFS 部分はアーキテクチャに固有です。さらに、CD をいくつかの異なるアーキテクチャで使用できるようにするために (異なる PROM アーキテクチャがシステムのブートに使用される可能性のあるインストールの場合などのために)、複数の UFS フォーマットが CD にロードされます。

Graphic

この場合ボリューム管理は、ローカルシステムのアーキテクチャに固有ではない UFS フォーマットを無視して、適切な UFS スライスと ISO 9660 スライスをマウントします。

Graphic

これらのスライスは、サブディレクトリとして、/vol/dev/dsk/c0t6/cdrom/cdrom0 の両方の下に現れます。


$ ls /cdrom/cdrom0
S0  S2
$ ls /vol/dev/dsk/c0t6
S0 S2