Linux の 101 試験対策: ファイルシステムのマウント、アンマウントの制御

データにアクセスする

Linux® ファイルシステムをマウントする方法、USB や IEE 1394 などのリムーバブル・デバイスを構成して使用する方法、そしてフロッピーディスク、CD、DVD に正しくアクセスする方法を学んでください。この記事の内容は、Linux のシステム管理者として認定するための LPI 101 試験に備えるためにも、Linux ファイルシステムにアクセスする方法を学ぶ上でも役立ちます。

Ian Shields, Senior Programmer, IBM

Ian ShieldsIan Shields は、developerWorks Linux ゾーンの様々な Linux プロジェクトに関わっています。彼はノースキャロライナ州 Research Triangle Park にある IBM のシニア・プログラマーです。1973年にオーストラリアのキャンベラでシステム・エンジニアとして IBM に入社して以来、カナダのモントリオールやノースキャロライナ州 Research Triangle Park で、コミュニケーション・システムやパーベイシブ・コンピューティングに携わってきました。彼はいくつかの特許を保持しています。Australian National University にて純粋数学および哲学で学位を取得し、また North Carolina State University にてコンピューター・サイエンスで修士号と博士号を取得しています。Ian について詳しく知るには、My developerWorks で彼のプロフィールを見てください。


developerWorks 貢献著者レベル

2010年 10月 20日

この連載について

この連載は Linux システム管理タスクの学習に役立つだけでなく、LPIC-1 (Linux Professional Institute Certification レベル 1) 試験に備えるための教材にもなります。

連載の各記事についての説明とリンクに関しては、developerWorks の LPIC-1 ロードマップを参照してください。現在進行中のこのロードマップは、LPIC-1 試験の現在の目標 (2009年 4月) を反映しています。完成した記事はその都度ロードマップに追加されていきますが、当面は developerWorks の LPI 認定試験対策チュートリアルで同様の教材の以前のバージョンを調べてください。これらのバージョンは、2009年 4月より前の LPIC-1 目標に対応しています。

概要

この記事で説明する内容は以下のとおりです。

  • ファイルシステムを手動でマウント、アンマウントする方法
  • ブート時のファイルシステムのマウントを構成する方法
  • テープ・ドライブ、外部 USB ドライブ、フロッピーディスク、CD、DVD など、ユーザーがマウントおよびアンマウントできるファイルシステムを構成する方法

この記事は、Linux Professional Institute の Junior Level Administration (LPIC-1) 101 試験の主題 104 の目標 104.3 の試験対策に役立ちます。この目標の重要度は 3 です。

前提条件

この連載の記事を最大限に活用するには、Linux の基礎知識と、記事に記載されたコマンドを演習できる実際の Linux システムが必要です。特に断りのない限り、記事に記載する例では、カーネル 2.6.34 を搭載した Fedora 13 を使用しています。他のシステムでは、結果が異なる場合もあります。プログラムのバージョンによって出力のフォーマットに違いが出てくる場合もあるため、コマンドの実行結果は必ずしもここに記載するリストや図とまったく同じであるとは限りません。

また、記事「Linux の 101 試験対策: パーティションおよびファイルシステムの作成」で説明している内容についても十分に理解している必要があります。


ファイルシステムのマウント

Ian とつながるには

Ian は developerWorks で人気の高いお馴染みの著者の 1 人です。Ian が書いたすべての developerWorks 記事を閲覧してみてください。また、My developerWorks では、Ian のプロフィールを調べることや、彼やその他の著者、そして他の読者とつながることができます。

Linux ファイルシステムは / をルートとする 1 つの大きなツリーですが、他にも私たちが使用するファイルシステムがさまざまなデバイスおよびパーティションに散在しています。このようにファイルシステムがさまざまに存在する状況を、私たちはどのようにして解決するのでしょうか。ルート (/) ファイルシステムは、初期化プロセスの一環としてマウントされます。ルート以外のファイルシステムについては、作成した個々のファイルシステムをマウント・ポイントにマウントするまでは、Linux システムで使用可能になりません。

現状でマウントされている一連のファイルシステムでは、マウント・ポイントは単なるディレクトリーにすぎません。そのディレクトリーで、デバイス上のファイルシステムがツリーに接続されるというだけです。マウントとは、デバイス上のファイルシステムをアクセス可能にするプロセスのことです。例えば、ハード・ディスクのパーティション上にあるファイルシステムを /boot、/tmp、または /home としてマウントすることもあれば、フロッピーディスク・ドライブ上のファイルシステムを /mnt/floppy としてマウントし、CD-ROM 上のファイルシステムを /media/cdrom1 としてマウントすることもあります。このように、マウント・ポイントはルート・ディレクトリー内に設定することも、ツリーの奥深くにあるサブディレクトリー内に設定することもできます。

パーティション、フロッピーディスク、および CD 上のファイルシステムに加え、別のタイプのファイルシステムもあります。そのうちの 1 つ、tmpfs ファイルシステムは、仮想メモリーのファイルシステムです。また、NFS や AFS のようなネットワークで接続したファイルシステムを使用すれば、あるシステム上のファイルシステムを別のシステムにマウントすることができます。さらには、既存のファイルシステム内にファイルを作成し、そのファイルを別の種類のファイルシステムとしてフォーマットしてマウントすることも可能です。この方法は、光メディアのイメージでよく使われます。つまり、例えば CD または DVD の ISO イメージ・ファイルをダウンロードした後、それを実際のメディアに焼くのではなく、イメージ・ファイルをファイルシステムとしてマウントするという方法です。専用スワップ・パーティションではなく、ファイル内のスワップ領域もその一例として挙げられます。

マウント・プロセスは、実際にはあるデバイス (またはその他のリソース) 上のファイルシステムをマウントするわけですが、通常は「デバイスをマウントする」と略して表現されます。これは、「デバイス上のファイルシステムをマウントする」という意味として理解されています。

通常、ファイルシステムをマウントおよびアンマウントするには root 権限が必要となります。一般ユーザーとしてログインしているとしたら、su - で root に切り替えるか、あるいは sudo を使用するかのいずれかによって、マウント、アンマウント操作を行うことになります。この記事の例で、以下のリスト 1 のようにコマンド・プロンプトが # で終わっている場合には、root 権限での操作であることを示しています。

基本的な形の mount コマンドは、2 つのパラメーターを取ります。1 つは、マウントするファイルシステムが含まれるデバイス (またはその他のリソース)、そしてもう 1 つはマウント・ポイントです。例えば FAT32 パーティション /dev/sda9 をマウント・ポイント /dos にマウントする場合には、リスト 1 に記載するコマンドを使用します。

リスト 1. /dos のマウント
[root@echidna ~]# mount /dev/sda9 /dos

マウント・ポイントがあらかじめ存在していなければ、そのマウント・ポイントには何もマウントすることはできません。存在しないマウント・ポイントにマウントしようとすると、リスト 2 に示されているようなエラーを受け取ることになります。その場合、該当するマウント・ポイントを作成するか、別のマウント・ポイントを使用しなければなりせん。

リスト 2. マウント・エラー
[root@echidna ~]# mount /dev/sda9 /dos
mount: mount point /dos does not exist
[root@echidna ~]# mkdir /dos
[root@echidna ~]# mount /dev/sda9 /dos

ファイルシステムを既存のディレクトリーにマウントすると、そのファイルシステムにあるファイルが、マウント・ポイントのファイルおよびサブティレクトリーになります。マウント・ポイントのディレクトリー内にすでにファイルまたはサブディレクトリーがある場合、これらの既存のファイルやサブディレクトリーは、失われはしないものの、ファイルシステムがマウントされた後は可視でなくなります。再び可視になるのは、マウントされたファイルシステムがアンマウントされた時点です。したがって、マウント・ポイントには空のディレクトリーだけを使用して、この問題が起こらないようにすることが賢明です。

ファイルシステムをマウントした後は、マウント・ポイントやその下にあるディレクトリーでファイルあるいはディレクトリーの作成、コピーを行うと、そのファイルまたはディレクトリーはマウントされたファイルシステム上に作成されます。したがって、例えば /dos/sampdir/file.txt というファイルを作成すると、このファイルは上記の例で /dos にマウントした FAT32 ファイルシステムに作成されることになります。

通常、mount コマンドはマウントされるファイルシステムのタイプを自動的に検出します。しかし場合によっては、-t オプションを使用してファイルシステムのタイプを明示的に指定しなければならないこともあります (リスト 3 を参照)。

リスト 3. タイプを明示的に指定したファイルシステムのマウント
[root@echidna ~]# mount -t vfat /dev/sda9 /dos

マウントされたファイルシステムを確認するには、パラメーターなしの mount コマンドを使用してください。リスト 4 に、この記事でのサンプル・システムを示します。マウントされているファイルシステムをリストするだけの場合には、root 権限は必要ありません。

リスト 4. マウント済みファイルシステムの表示
[ian@echidna ~]$ mount
/dev/sda6 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda2 on /grubfile type ext3 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
gvfs-fuse-daemon on /home/ian/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=ian)
dw.raleigh.ibm.com:/vol/vol1/dwcontent on /mnt/dwcontent type nfs (rw,addr=9.42.155.6)
/dev/sdb9 on /mnt/sdb9 type ext3 (rw)
/dev/sda9 on /dos type vfat (rw)
/dev/sr0 on /media/KNOPPIX type iso9660 (ro,nosuid,nodev,uhelper=udisks,uid=1000,gid=1000
,iocharset=utf8,mode=0400,dmode=0500)

上記のような情報を表示するには、マウントされているファイルシステムに関する情報が含まれる /proc/mounts または /etc/mtab を表示するという方法もあります。


マウント・オプション

mount コマンドには、デフォルトの振る舞いを変更するオプションがいくつかあります。例えば、-o ro を指定すると、ファイルシステムを読み取り専用としてマウントすることができます。マウント済みのファイルシステムを読み取り専用にするには、このオプションと併せて remount を追加します (リスト 5 を参照)。

リスト 5. 読み取り専用としての再マウント
[root@echidna ~]# mount -o remount,ro /dos

注:

  • remountro を一緒に使う場合など、複数のオプションを指定するには、カンマでオプションを区切ってください。
  • マウント済みのファイルシステムを再マウントする場合には、マウント・ポイントまたはデバイス名のどちらかを指定するだけで十分です。両方とも指定する必要はありません。
  • 読み取り専用ファイルシステムを読み取り/書き込み用ファイルシステムとしてマウントすることはできません。例えば CD-ROM ディスクなどの変更不可能なメディアは、自動的に読み取り専用としてマウントされます。
  • 書き込み可能なデバイスを読み取り/書き込み用としてマウントするには、-o remount,rw を指定します。

再マウントするファイルシステムに含まれるファイルまたはディレクトリーが、何らかのプロセスによって開かれている場合、再マウント・コマンドは正常に完了しません。詳細については、「ファイルシステムのアンマウント」のセクションを参照してください。


ラベル、UUID、リンク

UNIX および初期の Linux システムでは、通常は /dev ディレクトリーに、システムに接続することのできるデバイスすべてのエントリーが含まれます。使用済みのデバイスは常に /dev ツリー内の同じ場所に配置されるため、/dev/sda6 のような名前を使用するのが当然のことでした。USB や Firewire (IEEE 1394) 接続デバイスなどのホットプラグ対応デバイスの出現により、今日はある USB ポートに接続されているデバイスが、明日は別の USB ポートに接続されるといった事態が起こり得るようになりました。このような環境では、どの USB ポートに接続するのかに関わらず、USB スティックは常に /media/myusbstick にマウントされるようにしたいはずです。主題 102 に対応した記事、「Linux の 101 試験対策: ブート・マネージャー」では、デバイス名の代わりにラベルと UUID (Universally Unique ID) を使用してパーティションを識別する方法を学びました。パーティション上のファイルシステムがラベルまたは UUID のどちらかをサポートしていれば、mount コマンドでもこの 2 つの識別手段を使用することができます。デバイスに関連付けられたUUID とラベル (存在する場合) は、blkid コマンドを使用して確認することができます。リスト 6 に、blkid を使ってルート・パーティションのラベルと UUID を確認する方法、続いて 2 つのマウント・ポイントを追加で作成し、これらのマウント・ポイントにルート・パーティションをマウントする方法を示します。これは単なる説明のための操作です。本番環境で普段、このような操作を行うことはありません。

リスト 6. ラベルまたは UUID を使用したマウント
[root@echidna ~]# blkid /dev/sda6
/dev/sda6: LABEL="Fedora-13-x86_64" UUID="082fb0d5-a5db-41d1-ae04-6e9af3ba15f7"
 TYPE="ext4" 
[root@echidna ~]# mkdir /mnt/sda6label
[root@echidna ~]# mkdir /mnt/sda6uuid
[root@echidna ~]# mount LABEL="Fedora-13-x86_64" /mnt/sda6label
[root@echidna ~]# mount UUID="082fb0d5-a5db-41d1-ae04-6e9af3ba15f7" /mnt/sda6uui

udev の導入により、ハードディスク・ドライブなどのデバイスの /dev ディレクトリーには通常、追加のシンボリック・リンクがあります。リスト 7 に、私が使用している Fedora 13 システム上の /dev/sda6 に張られているリンクを記載します。

リスト 7. /dev/sda6 に張られたシンボリック・リンク
[ian@echidna ~]$ find /dev -lname "*sda6"
/dev/disk/by-label/Fedora-13-x86_64
/dev/disk/by-uuid/082fb0d5-a5db-41d1-ae04-6e9af3ba15f7
/dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0-part6
/dev/disk/by-id/wwn-0x50014ee001a8d027-part6
/dev/disk/by-id/scsi-SATA_WDC_WD1001FALS-_WD-WMATV3772868-part6
/dev/disk/by-id/ata-WDC_WD1001FALS-00J7B1_WD-WMATV3772868-part6
/dev/block/8:6

デバイスをマウントするときには、デバイス名を指定する代わりの手段として、シンボリック・リンクを使用することもできます。


ブート時のマウントと fstab

主題 102 に関する記事「Linux の 101 試験対策: ブート・マネージャー」では、ブート・ローダーにルートとしてマウントするファイルシステムを指定するために、GRUB と LILO の両方で root= パラメーターを使用する方法を学びました。ルート・ファイルシステムがマウントされると、初期化プロセスによって -a オプションを指定した mount が実行され、自動的に一連のファイルシステムがマウントされます。その際にマウントされるファイルシステムのセットが指定されている場所は、/etc/fstab です。リスト 8 に、サンプル Fedora 13 システムの /etc/fstab の内容を記載します。この例では、すべてのハードディスク・ドライブのパーティションが UUID によって識別されています。リスト 9 に別の例として、Ubuntu 9.10 システムでの内容を記載します。

リスト 8. Fedora 13 での fstab の例
#
# /etc/fstab
# Created by anaconda on Fri May 28 12:37:05 2010
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=082fb0d5-a5db-41d1-ae04-6e9af3ba15f7 /                  ext4    defaults        1 1
UUID=488edd62-6614-4127-812d-cbf58eca85e9 /grubfile          ext3    defaults        1 2
UUID=2d4f10a6-be57-4e1d-92ef-424355bd4b39 swap               swap    defaults        0 0
UUID=ba38c08d-a9e7-46b2-8890-0acda004c510 swap               swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
リスト 9. Ubuntu 9.10 での fstab の例
# /etc/fstab: static file system information.
#
# Use 'blkid -o value -s UUID' to print the universally unique identifier
# for a device; this may be used with UUID= as a more robust way to name
# devices that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
# / was on /dev/sda7 during installation
UUID=8954fa66-e11f-42dc-91f0-b4aa480fa103 /               ext3    errors=remount-ro 0  1
# /grubfile was on /dev/sda2 during installation
UUID=3a965842-b6dd-4d52-8830-2d0fdb4284a2 /grubfile       ext3    defaults        0  2
/dev/sda5       none            swap    sw              0       0
/dev/scd0       /media/cdrom0   udf,iso9660 user,noauto,exec,utf8 0       0
/dev/fd0        /media/floppy0  auto    rw,user,noauto,exec,utf8 0       0

# 文字で始まっている行はコメントです。残りの行には、以下に説明する 6 つのフィールドが記載されています。これらのフィールドは位置に関するフィールドなので、すべて指定されていなければなりません。

file system
このフィールドには、デバイス名 (/dev/sda1 など)、ラベル (LABEL=)、UUID (UUID=) のいずれかを指定することができます。Fedora 13 の例で言うと、ルート・ファイルシステムは /dev/sda6、LABEL="Fedora-13-x86_64"、または UUID="082fb0d5-a5db-41d1-ae04-6e9af3ba15f7" となります。ラベルまたは UUID を使用することで、デバイスの追加または取り外しに対して、より堅牢なシステムにすることができます。
mount point
このフィールドに指定するのは、上記の「ファイルシステムのマウント」セクションで説明したマウント・ポイントです。スワップ領域の場合、このフィールドの値は「none」または「swap」にします。古いシステムでは通常、値には「none」が使用されます。
type
ファイルシステムのタイプを指定するためのフィールドです。多くの場合、CD/DVD ドライブは ISO9660 または UDF ファイルシステムのいずれかをサポートするので、リスト 9 に記載されているように、カンマ区切りリストに複数の可能なタイプを指定しても構いません。mount コマンドに自動的にタイプを判別させるには、リスト 9 の最後の行でフロッピーディスク・ドライブに対して行っているように、auto を指定します。
option
マウント・オプションを指定します。デフォルトのマウント・オプションを使用する場合は、defaults を指定してください。知っておくべきオプションとしては、以下のものがあります。
  • rw および ro は、それぞれファイルシステムを読み取り/書き込み用、読み取り専用としてマウントするように指定します。
  • noauto を指定すると、ブート時、あるいは mount -a が実行されても、ファイルシステムは自動的にマウントされません。上記の例では、リムーバブル・ドライブに対してこのオプションを指定しています。
  • user は、非 root ユーザーにファイルシステムのマウントとアンマウントを許可する場合に指定します。これは特に、リムーバブル・メディアに便利なオプションです。古いシステムでは、このオプションは mount コマンドで指定されるのではなく、/etc/fstab に指定されます。新しいシステムでは、/lib/udev/rules.d または /etc/udev/rules.d に置かれている rules ファイル内の udev ルールに指定することができます。私のFedora 13 システムに搭載されている DVD ドライブのオプションは udev ルールで指定されています。上記の /etc/fstab に光ドライブのエントリーがリストされていないのは、そのためです。
  • exec および noexec では、マウントされているファイルシステムのファイルを実行可能にするか、または実行できないようにするかを指定します。ユーザーがマウントしたファイルシステムは、user後にexec が指定されていない限り、デフォルトで noexec に設定されます。
  • noatime を指定すると、アクセス時間が記録されないように設定されます。アクセス時間を記録しないことで、パフォーマンスが改善される可能性があります。
dump
このフィールドは、dump コマンドでこの ext2 または ext3 ファイルシステムをバックアップに含めるかどうかを指定します。0 の値を指定すると、dump コマンドはこのファイルシステムを無視します。
pass
ゼロ以外の値は、「Linux の 101 試験対策: ファイルシステムの整合性の維持」で説明したように、ブート時にファイルシステムをチェックする順序を指定します。

/etc/fstab にリストされているファイルシステムをマウントするときには、デバイス名またはマウント・ポイントのいずれかを指定するだけで構いません。両方とも指定する必要はありません。

SUSE 11.2 などの一部のシステムでは、インストール時に生成された fstab で、デバイスのシンボリック・リンクが使用されている場合があります。つまり、ファイルシステムの値が /dev/sda6 ではなく、/dev/disk/by-id/ata-WDC_WD1001FALS-00J7B1_WD-WMATV3772868-part6 になっているということです。

上記で取り上げていないオプションをはじめ、fstabmount、および udev についての詳細は、それぞれの man ページを参照してください。


ファイルシステムのアンマウント

通常、マウントされているファイルシステムはすべて、システムのリブート時またはシャットダウン時に、システムによって自動的にアンマウントされます。ファイルシステムがアンマウントされると、メモリーにキャッシュされたファイルシステムのデータはディスクにフラッシュされます。

ファイルシステムは手動でアンマウントすることもできます。実のところ、フロッピーディスクや USB ドライブ、あるいはメモリー・キーなどの書き込み可能メディアを取り外すときには、手動でファイルシステムをアンマウトしなければなりません。

ファイルシステムをアンマウントするには、デバイス名またはマウント・ポイントのいずれかを引数として指定した umount コマンドを実行します。リスト 10 に、/dos をアンマウントする方法、続いて同じファイルシステムを再マウントして、今度はデバイス名を使ってアンマウントする方法を示します。

リスト 10. ファイルシステムのアンマウント
[root@echidna ~]# umount /dos
[root@echidna ~]# mount /dev/sda9 /dos
[root@echidna ~]# umount /dev/sda9

ファイルシステムがアンマウントされると、マウント・ポイントとして使用されていたディレクトリー内のファイルがすべて可視の状態に復帰します。

何らかのプロセスでファイルシステム内のファイルを開いているときに、そのファイルシステムをアンマウントしようとすると、エラー・メッセージが表示されます。したがって、ファイルシステムをアンマウントする前には、アンマウントしようとしているファイルシステムでファイルを開いている実行中のプロセスがないことを確認しなければなりません。開かれているファイル、またはファイルを開いているプロセスを判別するには、lsof または fuser コマンドを使用します。lsof を使用する場合には、-w オプションを指定すると、Gnome 仮想ファイルシステム (gvfs) に関連する警告メッセージが表示されません。その他のマウント・オプションおよび lsof については、man ページを参照してください。デバイス全体を確認するには、デバイス名またはマウント・ポイントを指定することができます。また、個々のファイルが使用されているかどうかを確認することもできます。

これらのコマンドを説明するため、/dos に /etc/fstab のコピーを作成し、10 秒間隔で stdin から 1 行ずつ読み取って stdout に出力する小さなスクリプトを作成しました。リスト 11 に、ファイルの使用中に umount を実行したために出力されたエラー・メッセージに続き、lsof および fuser を使用して /dos または /dev/sda9 デバイスで開かれているファイルがあるかどうかを確認する方法を記載します。

リスト 11. 開かれているファイルのチェック
[root@echidna ~]# umount /dos
umount: /dos: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
[root@echidna ~]# lsof -w /dos
COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
slowread. 2560  ian    0r   REG    8,9      899  123 /dos/fstab
sleep     2580  ian    0r   REG    8,9      899  123 /dos/fstab
[root@echidna ~]# lsof -w /dev/sda9
COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
slowread. 2560  ian    0r   REG    8,9      899  123 /dos/fstab
sleep     2580  ian    0r   REG    8,9      899  123 /dos/fstab
[root@echidna ~]# fuser -m /dos
/dos:                 2560  2586
[root@echidna ~]# fuser -m /dev/sda9
/dev/sda9:            2560  2588

このチェックが完了した時点で、ファイルシステムがビジー状態でなくなるまで待つことも、あるいは -l オプションを指定して遅延アンマウントを行うこともできます。遅延アンマウントは、ファイルシステムをファイルシステム・ツリーから即時に分離し、ファイルシステムがビジー状態でなくなった時点で、ファイルシステムへの参照がなくなるようにします。


リブーバブル・ファイルシステム

記事の前半で、USB または Firewire (IEEE 1394) 接続デバイスなどのリムーバブル・デバイスに関する問題について触れましたが、このようなデバイスをマウント、アンマウントする必要が生じるたびに root アクセス権限に切り替えるのでは不便です。このことは、デバイスをアンマウントしなければメディアを変更することができない CD、DVD、およびフロッピーディスク・ドライブにも当てはまります。fstab についてのセクションで user オプションについて説明しましたが、このオプションを使用すれば、一般ユーザーでもデバイスをマウント、アンマウントできるようになります。リスト 9 に、フロッピーディスク・ドライブ、または CD あるいは DVD ドライブの fstab エントリーをコード化する 1 つの方法が示されています。

光ディスク・ドライブに指定するファイルシステム・タイプは udf,iso9660 である一方、フロッピーディスクのファイルシステム・タイプには auto を指定することに注意してください。光ドライブのマウント・プロセスでは、最初に udf ファイルシステム (DVD に共通) を探してから、iso9660 ファイルシステム (CD に共通) を探します。フロッピーディスク・ドライブの場合、マウント・プロセスではファイルシステム・タイプのプローブが行われます。プローブするファイルシステムの順番は、/etc/filesystems を作成または編集して変更することができます。

注: リムーバブル・ドライブの接続を外す場合、またはメディアを取り外す場合には、必ずその前に、リムーバブル・ドライブまたはメディアをアンマウントしてください。アンマウントする前にリブーバブル・ドライブの切断またはメディアの取り外しを行うと、デバイスにまだ書き込まれていないデータが失われる可能性があります。

Nautilus などのグラフィカル・デスクトップを実行している場合は、通常、リムーバブル・デバイスやメディアを自動的にマウントするためのオプションがあるはずです。例えば、私のシステムで Knoppix DVD を DVD ドライブに挿入すると、リスト 12 のようなマウント・エントリーが表示されます。「uid=1000」は、このディスクをアンマウントできるのは、ID が 1000 のユーザーであることを意味します。id コマンドによって、ユーザー ian の uid は 1000 であると示されています。したがって、ian はこのディスクをアンマウントすることができます。

リスト 12. DVD のデクストップ・マウント
[ian@echidna ~]$ mount | grep sr0
/dev/sr0 on /media/KNOPPIX type iso9660 (ro,nosuid,nodev,uhelper=udisks,
uid=1000,gid=1000,iocharset=utf8,mode=0400,dmode=0500)
[ian@echidna ~]$ id ian
uid=1000(ian) gid=1000(ian) groups=1000(ian)

大抵の CD および DVD ドライブでサポートしているように、ドライブが eject 操作をサポートしている場合には、このコマンドを使ってリムーバブル・メディアを取り出すこともできます。デバイスがまだアンマウントされていなければ、eject コマンドによってディスクがアンマウントされると共に取り出されます。


スワップ領域

fstab について説明したセクションですでにお気付きかもしれませんが、スワップ領域にはマウント・ポイントがありません。ブート・プロセスは、noauto オプションが指定されていない限り、通常は /etc/fstab に定義されたスワップ領域を有効にします。例えば新しいスワップ・パーティションを追加した場合などに、実行中のシステムでスワップ領域を手動で制御するには、swapon および swapoff コマンドを使用します。詳細については、man ページを参照してください。

現在有効になっているスワップ・デバイスを確認するには、cat /proc/swaps または swapon -s を使用します (リスト 13 を参照)。

リスト 13. スワップ領域の表示
[ian@echidna ~]$ swapon -s
Filename				Type		Size	Used	Priority
/dev/sdb1                               partition	514044	0	-1
/dev/sdb5                               partition	4192928	0	-2
[ian@echidna ~]$ cat /proc/swaps
Filename				Type		Size	Used	Priority
/dev/sdb1                               partition	514044	0	-1
/dev/sdb5                               partition	4192928	0	-2

これで、Linux でのデバイスのマウント方法についての基本をすべて理解できたはずです。

参考文献

学ぶために

製品や技術を入手するために

  • ご自分に最適な方法で IBM 製品を評価してください。評価の方法としては、製品の試用版をダウンロードすることも、オンラインで製品を試してみることも、クラウド環境で製品を使用することもできます。また、SOA Sandbox では、数時間でサービス指向アーキテクチャーの実装方法を効率的に学ぶことができます。

議論するために

コメント

developerWorks: サイン・イン

必須フィールドは(*)で示されます。


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


お客様が developerWorks に初めてサインインすると、お客様のプロフィールが作成されます。会社名を非表示とする選択を行わない限り、プロフィール内の情報(名前、国/地域や会社名)は公開され、投稿するコンテンツと一緒に表示されますが、いつでもこれらの情報を更新できます。

送信されたすべての情報は安全です。

ディスプレイ・ネームを選択してください



developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

必須フィールドは(*)で示されます。

3文字から31文字の範囲で指定し

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


送信されたすべての情報は安全です。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Linux
ArticleID=587500
ArticleTitle=Linux の 101 試験対策: ファイルシステムのマウント、アンマウントの制御
publish-date=10202010