助け合いフォーラム

LPIC

LPIC Lv1-101(Ver5.0)
問題ID : 3522
問題を開く
以下のコマンドを実行して「/dev/sdb2」を「/data」にマウントした。「/dev/sdb2」を正しく(エラーの出ないように)アンマウントできるコマンドは次のうちどれか。(3つ選択)

# mount -t xfs /dev/sdb2 /data

正解

umount /dev/sdb2

umount /data

umount -at xfs

解説

アンマウントを行うには、umountコマンドを使用します。

umountコマンドの書式と主なオプションは以下のとおりです。

umount [オプション] [マウントされているデバイス名、またはマウントポイント]


上記の書式より、正解は
・umount /dev/sdb2
・umount /data
です。

なお、「/etc/mtab」ファイルには現在マウントされているファイルシステムの情報が格納されています。
「-at xfs」オプションを指定すると、現在マウントされている(「/etc/mtab」ファイルに記述されている)xfs形式のファイルシステムを全てアンマウントします。

したがって
・umount -at xfs
も正解です。

その他の選択肢については以下のとおりです。
・umount /dev/sdb2 /data
・umount /data /dev/sdb2
書式が誤っています。一応アンマウントされますが、「umount: /dev/sdb2: マウントされていません」といったエラーメッセージが表示されます。

umountコマンドは「デバイス名」または「マウントポイント」のどちらかを指定すればよいことに注意してください。

参考

【ファイルシステムのマウント】
ファイルシステムにアクセスし、利用するためには、「マウント」を行う必要があります。
マウントとは、デバイスとその上に構築されているファイルシステムを OS に認識させ、指定のディレクトリに割り当て、そのディレクトリ以下のパスでファイルシステム内にアクセスできるようにすることです。
逆に、マウントされているファイルシステムを切り離し、マウント前の状態に戻すことを「アンマウント」といいます。

Linuxでマウントを行うには mountコマンドを使います。

mount [オプション] [デバイス] [マウント先]

「デバイス」にはデバイスファイルを指定します。(/dev/cdrom、/dev/sda1 など)
「マウント先」(「マウントポイント」とも呼ばれる)には、そのファイルシステムをどのディレクトリに割り当てるかを指定します。

なお、マウントの設定ファイル「/etc/fstab」に設定が存在する場合は、「デバイス」か「マウント先」のどちらか片方だけ指定すれば、もう片方は 「/etc/fstab」が参照され自動的に決定されます。
以下は「/etc/fstab」に設定が存在する場合のmountコマンドの書式です。オプションもファイルの設定が参照されますので、省略できます。

mount デバイス
または
mount マウント先

また、「デバイス」と「マウント先」どちらも指定しなかった(mount のみ実行した)場合は、現在マウントされているファイルシステムの一覧が、「/etc/mtab」ファイルの情報を元に表示されます。(マウント中のファイルシステムについては、下記「※マウント中のファイルシステムについて」もご参照ください。)

mountコマンドの主なオプションは以下の通りです。


-o に続けて指定するマウントオプションとしては、「/etc/fstab」に記述するものと同じマウントオプションが利用できます。ファイルシステムの種類によって利用できるオプションが異なります。
以下の例では、-o ro と指定することで読み取り専用でマウントを行うよう指定しています。

例)ext3ファイルシステムの「/dev/sda2」を「/mnt/mydata」に読み取り専用(ro)でマウントする場合

# mount -t ext3 -o ro /dev/sda2 /mnt/mydata

また、アンマウントを行うには、umountコマンドを使います。

umount [オプション] [デバイスorマウント先]

既にマウントされているファイルシステムについて、デバイスかマウント先のどちらかを指定すればアンマウントされます。片方だけ指定すればよいことに注意します。

umountコマンドの主なオプションは以下の通りです。


例)「/mnt/mydata」にマウントした「/dev/sda2」をアンマウントする場合

# umount /mnt/mydata
または
# umount /dev/sda2

なお、ファイルシステムにあるファイルが操作中の場合や、ユーザがファイルシステム内で操作をしている場合、そのファイルシステムはアンマウントできません。

※マウント中のファイルシステムについて
「/etc/mtab」やmountコマンドのほかに、Linuxにおいて各種リソース情報を格納している「/proc」ディレクトリ配下のファイルでもマウント情報を確認することができます。
以下は、現在マウントされているファイルシステムを確認できるコマンドと、実行例です。

・mount


・cat /etc/mtab


・cat /proc/self/mounts


・cat /proc/mounts


なお、「/proc/self/mounts」と「/proc/mounts」の内容は、マウント名前空間の違いにより、ユーザによって異なる場合があります。(詳細は試験範囲外のため、割愛します。)
上に戻る

解答の選択肢について

投稿日 2023/03/12

「/dev/sdb2」を正しく(エラーの出ないように)アンマウントできるコマンドは次のうちどれか。

以下の解答だと、「/dev/sdb2」以外もアンマウントされる可能性がある気がしますが、それでも、他の対象も含めて正しくアンマウントできれば良いという認識でしょうか。

  • umount -at xfs

またその場合、「/dev/sdb2」以外のアンマウント対象がどのような状況でも(エラーの出ないように)アンマウントは可能ですか。

仮定の上で考えてしまっているので、認識に誤りなどあればご指摘下さい。

2023/03/12 10:18

この問題の前提は

# mount -t xfs /dev/sdb2 /data

コマンドでマウントした /dev/sdb2 をアンマウントすることなので、それ以外のことを考慮することは求められていないんじゃないかなと思います。
仮定の話で回答を考えると、

  • 選択肢のコマンド実行前にすでにマウントしてあるので、アンマウントができないことだってありうる(問題文の通りにならない)
  • 実は選択肢にはコマンドだけが書いてあって「実行ユーザー権限」が考慮されていないので、どれもコマンド実行権限がなくてエラーになる(=正答なし)

とかありえますよね。
試験勉強としては問われているものを回答することを第一に考えて、しかし実運用の際はbuildさんのように十分注意(考慮、検討)してコマンド実行するというのが良いんじゃないかな、と思います。
コマンド実行に関する注意点を意識できてるの、とても良いと思います!


コメント

b build

2023/03/12 11:05

お早い返信感謝いたします。 > 試験勉強としては問われているものを回答することを第一に考えて 試験の回答基準がわかって良かったです。(問題文に「3つ選択」とあるので、他の選択肢も無いのですが) 実運用も想定しつつ、資格取得のための回答配慮をしていければと思います。 丁寧に回答していただき、ありがとうございました。

この返信に対して
コメントを記入できます

この投稿に対して返信しませんか?