ドライブのマウント、アンマウント

前にも話したけれど、UNIX システムのディレクトリはツリー構造で整理されていて、そのてっぺんのディレクトリが / だ。MS-DOS みたいなほかのオペレーティングシステムとちがって、フロッピーディスクや CD-ROM上のファイル専用のファイル名というのはない: システムでアクセスできる すべての ファイルは、 / で始まるメインディレクトリツリーの下になくてはいけない。

したがって、フロッピーディスクや CD-ROM上のファイルにアクセスするには、まずシステムにコマンドを与えて、どのディスクの中身をメインディレクトリツリーの下に組み込む必要がある。これがディスクの マウント だ。ドライブをマシンに接続するののソフトウェア版だと思えばいいかな。ふつうは、CD-ROM の中身は /mnt/cdrom に置かれる。フロッピーディスクなら /mnt/floppy だ (これらは マウントポイント と呼ばれて特別な設定ファイル /etc/fstab で定義される)。こうやってドライブをアクセスするからといって、システムは別に CD などの中身を全部その /mnt/cdrom ディレクトリにコピーするわけじゃない。単に /mnt/cdrom というディレクトリが CD-ROM を あらわす というだけだ。プログラムがたとえば /mnt/cdrom/index.html というファイルをアクセスしようとしたら、システムは index.html を CD-ROMに探しにいく。

というわけで要するに、ドライブ上のファイルを使うには、まずそれを "マウント" しなきゃいけない。同じように、 ディスクをドライブから抜く前に、まずアンマウントするのだ

GNOME を使うときには、マウントやアンマウントはあまり考えなくてもいい。GNOME は適当な設定ファイルをスキャンして、すべてのドライブのアイコンをデスクトップ上に置く。そのアイコンをダブルクリックすると、対応するドライブが自動的にマウントされて、そのディレクトリでファイルマネージャが起動する。同じように、ドライブアイコンを右クリックして ドライブのイジェクト をポップアップメニューから選ぶと、GNOME は自動的に、イジェクト前にそれをアンマウントする。またマウント/アンマウントには、デスクトップのアイコンを右クリックして デバイスのマウント デバイスのアンマウント をポップアップメニューから選ぶか、ディスクマウントアプレットを使うこともできる。

ほかのプログラムがそのディスクやディスク上のファイルを使っていると、アンマウントできない。たとえばアンマウントしようとしているドライブ上のあるディレクトリでターミナルを開いているとダメだ。だからドライブをアンマウントしようとして "Device busy" というエラーが出たライ、開いてるアプリケーションがドライブ上のファイルやディレクトリを使っていないか確かめよう。

とはいっても、さすがのGNOME も、物理的にフロッピードライブのイジェクトボタンを押されてしまったら、ディスクがイジェクトされるのは防げない。この場合、そうやって物理的に取り出す前に 責任もって自分でドライブをアンマウントしよう。 CD や Zip ドライブだと、ドライブがマウントされている間は、システムがイジェクトボタンをブロックしてくれる。でもフロッピーだと、これは技術的に不可能だ。

Important 重要
 

アンマウントせずに、イジェクトボタンでフロッピーディスクを抜いたら、データが失われるかもしれないよ!

一部のシステムは supermount magicdev といった特別なプログラムを実行している。これはディスクが挿入されたら自動的にマウントして、しばらくドライブを使っていない時には自動的にアンマウントしてくれる。この場合、たぶんドライブのマウントやアンマウントを自分でやる必要はないだろう。たぶんこのページを読む必要さえないと思うよ。

ユーザにドライブをマウント・アンマウントさせるのは、セキュリティ上のリスクがあるので、マルチユーザシステムの多くはドライブのマウントやアンマウントは、root にしか認めない設定になっている。ドライブをマウントしようとしてもエラーが出るなら、たぶんこれが原因だろう。この場合には、システム管理者と相談しよう。

コンピュータが自分個人のワークステーションやホームコンピュータで、セキュリティの心配がなければ、一般ユーザにマウント許可を与えてもいい。これをやるいちばん簡単な方法は linuxconf を使うことだ (これは rootしか使えない)。アクセスしたいドライブを Access local drive のセクションで選ぼう。 Options タブで、 User Mountable オプションを選ぶ。するとそのドライブは、ユーザでもマウントできるようになる。

もし linuxconf が使えなければ、 /etc/fstab ファイルを手で編集して、ユーザアクセスを可能にしよう。これにはドライブに "user" 属性を追加することだ。たとえば:

もし fstab ファイルに以下のような行があったら:

/dev/cdrom /mnt/cdrom iso9660 exec,dev,ro,noauto 0 0
      

4つめの、コンマで区切ったのが並んでいるところに "user" を追加しよう。こんな具合になる:

/dev/cdrom /mnt/cdrom iso9660 user,exec,dev,ro,noauto 0 0