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

データにアクセスする

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

Ian Shields, Linux Author, Freelance

Ian ShieldsIan Shields は、Linux のフリー・ライターです。ノースカロライナ州 Research Triangle Park にある IBM を退職した彼が、オーストラリアのキャンベラにある IBM にシステム・エンジニアとして入社したのが 1973年であり、それ以降、カナダのモントリオールやノースカロナイナ州 Research Triangle Park でシステム・エンジニアリングとソフトウェア開発の両方に携わってきました。1990年代後半からは、Linux を使用して Linux 上で開発を行うとともに、Linux に関する執筆も行ってきました。彼は、オーストラリア国立大学で純粋数学および哲学の学士号を取得し、ノースカロライナ州立大学でコンピューター・サイエンスの修士号と博士号を取得しています。普段はオリエンテーリングを楽しんでおり、旅行に行くのも好きです。



2016年 4月 28日 (初版 2010年 10月 02日)

概要

より詳しく学び、さらなる開発を行い、より多くの人とつながる

新たに登場した developerWorks Premium メンバーシップ・プログラムでは、メンバーになると、強力な開発ツールのほか、Safari Books Online を通じて提供される最もホットな 500 タイトルの技術書 (Java 開発者向けのものが大量にあります) を含む各種のリソースをすべて自由に利用できるようになります。さらに、主要な開発者向けイベントの登録料の大幅な割引や、最新の O'Reilly カンファレンスの全容を閲覧できる再生動画など、その他にもさまざまな特典が提供されます。今すぐサインアップしてください

このチュートリアルで説明する内容は以下のとおりです。

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

このチュートリアルは、LPIC-1: Linux Server Professional Certification 101 試験における主題 104 の項目 104.3 に備える上で役に立ちます。この項目は、重要度が 3 とされています。


Linux ファイルシステム

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

この連載について

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

連載の各チュートリアルに関する説明とリンクについては、developerWorks の「Linux の 101 試験対策: LPIC-1 のロードマップ」を参照してください。現在進行中のこのロードマップは、2015年 4月 15日に更新された LPIC-1 試験の項目のバージョン 4.0 を反映しています。完成したチュートリアルは、その都度ロードマップに追加されていきます。

前提条件

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

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


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

現状でマウントされている一連のファイルシステムでは、マウント・ポイントは単なるディレクトリーにすぎません。そのディレクトリーで、デバイス上のファイルシステムがツリーに接続されるというだけです。マウントとは、デバイス上のファイルシステムをアクセス可能にするプロセスのことです。例えば、ハード・ディスクのパーティション上にあるファイルシステムを /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/sda3 をマウント・ポイント /dos にマウントします。マウント・ポイントがあらかじめ存在していなければ、そのマウント・ポイントには何もマウントすることができません。存在しないマウント・ポイントにマウントしようとすると、エラーを受け取ることになります。その場合、該当するマウント・ポイントを作成するか、別のマウント・ポイントを使用しなければなりません。基本的なマウント操作のこうした側面を示したのがリスト 1 です。

リスト 1. マウント・エラー
[root@attic4-cent ~]# mount /dev/sda3 /dos
mount: mount point /dos does not exist
[root@attic4-cent ~]# mkdir /dos
[root@attic4-cent ~]# mount /dev/sda3 /dos

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

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

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

リスト 2. 明示的にタイプを指定してファイルシステムをマウントする
[root@attic4-cent ~]# mount -t vfat /dev/sda3 /dos

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

リスト 3. マウント済みファイルシステムを表示する
[ian@attic4-cent ~]$ mount
/dev/sda11 on / type ext3 (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/sda1 on /grubfile type ext3 (rw)
/dev/sdb2 on /home/ian/data type ext4 (rw)
/dev/sdb3 on /home/ian/research type ext3 (rw)
/dev/sdc1 on /home/ian/pictures type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
/dev/sda3 on /dos type vfat (ro)
/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 を追加します (リスト 4 を参照)。

リスト 4. 読み取り専用として再マウントする
[root@attic4-cent ~]# mount -o remount,ro /dos

注:

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

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


ラベル、UUID、リンク

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

リスト 5 に、blkid を使ってルート・パーティションのラベルと UUID を確認する方法、続いて 2 つのマウント・ポイントを追加で作成し、これらのマウント・ポイントにルート・パーティションをマウントする方法を示します。これは単なる説明のための操作です。本番環境で普段、このような操作を行うことはありません。

リスト 5. ラベルまたは UUID を使用したマウント
[root@attic4-cent ~]# blkid /dev/sda11
/dev/sda11: UUID="2f60a3b4-ef6c-4d4c-9ef4-50d7f75124a2" TYPE="ext3" LABEL="CentOS 6" 
[root@attic4-cent ~]# mkdir /mnt/sda11label
[root@attic4-cent ~]# mkdir /mnt/sda11uuid
[root@attic4-cent ~]# mount LABEL="CentOS 6" /mnt/sda11label
[root@attic4-cent ~]# mount UUID="2f60a3b4-ef6c-4d4c-9ef4-50d7f75124a2" /mnt/sda11uuid

udev の導入により、ハードディスク・ドライブなどのデバイスの /dev ディレクトリーには、追加のシンボリック・リンクが見つかるはずです。リスト 6 に、私が使用している CentOS 6 システム上の /dev/sda11 に張られているリンクを記載します。

リスト 6. /dev/sda11 に張られたシンボリック・リンク
[root@attic4-cent ~]# find /dev -lname "*sda11"/dev/root
/dev/disk/by-label/CentOS\x206
/dev/disk/by-uuid/2f60a3b4-ef6c-4d4c-9ef4-50d7f75124a2
/dev/disk/by-id/wwn-0x50014ee056628af6-part11
/dev/disk/by-id/scsi-SATA_WDC_WD6401AALS-_WD-WMASY6347052-part11
/dev/disk/by-id/ata-WDC_WD6401AALS-00L3B2_WD-WMASY6347052-part11
/dev/disk/by-path/pci-0000:00:11.0-scsi-0:0:0:0-part11
/dev/block/8:11
/dev/.udev/watch/113
/dev/.udev/links/disk\x2fby-label\x2fCentOS\x5cx206/b8:11
/dev/.udev/links/root/b8:11
/dev/.udev/links/disk\x2fby-id\x2fwwn-0x50014ee056628af6-part11/b8:11
/dev/.udev/links/disk\x2fby-uuid\x2f2f60a3b4-ef6c-4d4c-9ef4-50d7f75124a2/b8:11
/dev/.udev/links/disk\x2fby-path\x2fpci-0000:00:11.0-scsi-0:0:0:0-part11/b8:11
/dev/.udev/links/disk\x2fby-id\x2fscsi-SATA_WDC_WD6401AALS-_WD-WMASY6347052-part11/b8:11
/dev/.udev/links/disk\x2fby-id\x2fata-WDC_WD6401AALS-00L3B2_WD-WMASY6347052-part11/b8:11

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


ブート時のマウントと fstab

主題 102 に関するチュートリアル「Linux の 101 試験対策: ブート・マネージャーのインストール」では、ブート・ローダーにルートとしてマウントするファイルシステムを指定するために、GRUB と LILO の両方で root= パラメーターを使用する方法を学びました。GRUB2 の場合、これに相当するのが set root ステートメントです。ルート・ファイルシステムがマウントされると、初期化プロセスによって -a オプションを指定した mount が実行され、自動的に一連のファイルシステムがマウントされます。その際にマウントされるファイルシステムのセットが指定されている場所は、/etc/fstab です。

リスト 7 にサンプル CentOS 6 システムの /etc/fstab の内容を示します。この例では、大部分のハードディスク・ドライブのパーティションが UUID によって識別されています。ここには、先ほど行ったように /dos に /dev/sda3 をマウントする方法と、ラベルを指定したパーティションを /mnt/fedora22 にマウントするためにラベルを使用する方法の例が追加されています。

リスト 7. CentOS 6 での fstab の例
[root@attic4-cent ~]# cat /etc/fstab

#
# /etc/fstab
# Created by anaconda on Wed Jul  8 09:34:46 2015
#
# 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=2f60a3b4-ef6c-4d4c-9ef4-50d7f75124a2 /                   ext3    defaults        1 1
UUID=3c3de27e-779a-44d5-ad7a-61c5fd03d9e7 /grubfile           ext3    defaults        1 2
UUID=158d605e-2591-4749-bf59-5e92e1b1c01d 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
UUID=4c962b67-c646-467f-96fb-cbbd6de40140 /home/ian/data      ext4    defaults        1 2
UUID=0998d33c-3398-463d-b0e3-7c13ca0c675f /home/ian/research  ext3    defaults        1 2
UUID=e3be4658-b79b-470d-82fe-bb434bcdcc2f /home/ian/pictures  ext4    defaults        1 2
LABEL="FEDORA22"                          /mnt/fedora22       ext4    defaults        1 2
/dev/sda3                                 /dos                vfat    defaults        0 0

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

ファイルシステム
このフィールドには、デバイス名 (/dev/sda1 など)、ラベル (LABEL=)、UUID (UUID=) のいずれかを指定することができます。CentOS 6 の例で言うと、ルート・ファイルシステムは /dev/sda11、LABEL="CentOS 6"、または UUID=2f60a3b4-ef6c-4d4c-9ef4-50d7f75124a2 となります。ラベルまたは UUID を使用することで、デバイスの追加または取り外しに対して、より堅牢なシステムにすることができます。
マウント・ポイント
このフィールドに指定するのは、上記の「ファイルシステムのマウント」セクションで説明したマウント・ポイントです。スワップ領域の場合、このフィールドの値は「none」または「swap」にします。古いシステムでは通常、値には「none」が使用されます。
タイプ
ファイルシステムのタイプを指定するためのフィールドです。CD/DVD ドライブは多くの場合、ISO9660 または UDF ファイルシステムのいずれかをサポートするので、このようなドライブを /etc/fstab で指定する場合には、複数の可能なタイプをカンマ区切りリストで指定しても構いません。mount コマンドに自動的にタイプを判別させるには、auto を指定します。例えば、古いシステムの /etc/fstab には、CD や DVD、フロッピーディスク・ドライブに対して以下のような行があるのを目にするかもしれません。
/dev/scd0       /media/cdrom0   udf,iso9660 user,noauto,exec,utf8 0       0
/dev/fd0        /media/floppy0  auto    rw,user,noauto,exec,utf8  0       0

このリストの最後の行では、フロッピー・ドライブを対象として auto を指定しています。
オプション
マウント・オプションを指定します。デフォルトのマウント・オプションを使用する場合は、defaults を指定してください。知っておくべきオプションとしては、以下のものがあります。
  • rw および ro は、それぞれファイルシステムを読み取り/書き込み用、読み取り専用としてマウントするように指定します。
  • noauto を指定すると、ブート時、あるいは mount -a が実行されても、ファイルシステムは自動的にマウントされません。上記の例では、リムーバブル・ドライブに対してこのオプションを指定しています。
  • user は、root 以外のユーザーにファイルシステムのマウントとアンマウントを許可する場合に指定します。これは特に、リムーバブル・メディアに便利なオプションです。古いシステムでは、このオプションは mount コマンドで指定されるのではなく、/etc/fstab に指定されます。新しいシステムでは、/lib/udev/rules.d または /etc/udev/rules.d に置かれている rules ファイル内の udev ルールに指定することができます。私の CentOS 6 システムに搭載されている DVD ドライブのオプションは udev ルールで指定されています。上記の /etc/fstab に光ドライブのエントリーが含まれていないのは、そのためです。
  • exec および noexec では、マウントされているファイルシステムのファイルを実行可能にするか、または実行できないようにするかを指定します。ユーザーがマウントしたファイルシステムは、userexec が指定されていない限り、デフォルトで noexec に設定されます。
  • noatime を指定すると、アクセス時間が記録されないように設定されます。アクセス時間を記録しないことで、パフォーマンスが改善される可能性があります。
ダンプ
このフィールドは、dump コマンドでこの ext2 または ext3 ファイルシステムをバックアップに含めるかどうかを指定します。0 の値を指定すると、dump コマンドはこのファイルシステムを無視します。
パス
ゼロ以外の値は、チュートリアル「Linux の 101 試験対策: ファイルシステムの整合性の維持」で説明したように、ブート時にファイルシステムをチェックする順序を指定します。

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

SUSE 11.2 などの一部のシステムでは、インストール時に生成された fstab で、デバイスのシンボリック・リンクが使用されている場合があります。つまり、ファイルシステムの値が /dev/sda11 ではなく、例えば /dev/disk/by-id/ata-WDC_WD6401AALS-00L3B2_WD-WMASY6347052-part11 になっているということです。その他の可能性については、上に戻ってリスト 6 を参照してください。

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


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

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

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

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

リスト 8. ファイルシステムをアンマウントする
[root@attic4-cent ~]# umount /dos
[root@attic4-cent ~]# mount /dev/sda3 /dos
[root@attic4-cent ~]# umount /dev/sda3

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

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

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

リスト 9. 開かれているファイルをチェックする
[root@attic4-cent ~]# 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@attic4-cent ~]# lsof -w /dos
COMMAND     PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
slowread. 28960  ian    0r   REG    8,3     1207    2 /dos/fstab
sleep     28972  ian    0r   REG    8,3     1207    2 /dos/fstab
[root@attic4-cent ~]# lsof -w /dev/sda3
COMMAND     PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
slowread. 28960  ian    0r   REG    8,3     1207    2 /dos/fstab
sleep     28978  ian    0r   REG    8,3     1207    2 /dos/fstab
[root@attic4-cent ~]# lsof -w /dos/fstab
COMMAND     PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
slowread. 28960  ian    0r   REG    8,3     1207    2 /dos/fstab
sleep     28989  ian    0r   REG    8,3     1207    2 /dos/fstab
[root@attic4-cent ~]# fuser -m /dos
/dos:                28960 29001
[root@attic4-cent ~]# fuser -m /dev/sda3
/dev/sda3:           28960 29001

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


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

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

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

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

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

リスト 10. DVD のデクストップ・マウント
[ian@attic4-cent ~]$ 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@attic4-cent ~]$ 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 を使用します (リスト 11 を参照)。

リスト 11. スワップ領域を表示する
[ian@attic4-cent ~]$ swapon -s
Filename				Type		Size	Used	Priority
/dev/sda2                               partition	10241432	8	-1
[ian@attic4-cent ~]$ cat /proc/swaps
Filename				Type		Size	Used	Priority
/dev/sda2                               partition	10241432	8	-1

これで、Linux におけるデバイスのマウントとアンマウントについての概要は終わりです。

参考文献

学ぶために

  • developerWorks Premium のメンバーになると、強力なツールや Safari Books Online から集めて管理する技術ライブラリーをすべて自由に利用できるほか、カンファレンスの割引を受けることや、カンファレンスの記録を閲覧することができ、さらには SoftLayer や Bluemix を利用できるクレジットが提供されるなど、さまざまな特典があります。
  • 2015年 4月時点での LPI のバージョン 4.0 の試験項目に基づく LPIC-1 認定に備えて勉強するのに役立つ developerWorks のチュートリアルを見つけるには、developerWorks の LPIC-1 ロードマップを利用してください。
  • Linux Professional Institute の Web サイトで、LPIC の詳細な試験項目、課題のリスト、例題を調べてください。特に以下のページを参照してください。 必ず Linux Professional Institute の Web サイトで最新の項目を参照してください。
  • The Linux Documentation Project には、HOWTO 文書をはじめ、各種の有益な文書が豊富に揃っています。
  • さまざまな IBM 製品や IT 業界のトピックに焦点を絞った developerWorks テクニカル・イベントで最新の技術情報を入手してください。
  • Twitter で developerWorks をフォローしてください。

議論するために

  • developerWorks コミュニティーに参加してください。ここでは他の developerWorks ユーザーとのつながりを持てる他、開発者が主導するブログ、フォーラム、グループ、Wiki を調べることができます。

コメント

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=1030395
ArticleTitle=Linux の 101 試験対策: ファイルシステムのマウント、アンマウントの制御
publish-date=04282016