mountコマンドに慣れる

普段テキスト整形のコマンドばかり使っていて、ファイルシステムはいじることが少ないので、いざmountを使おうとすると、manに頼るばかりで、なかなか覚えられません。たくさん使って、慣れていこうと思います。
でも、ただ、mountだけを使っていても覚えられる気がしないので、mount周辺のコマンドも少しずつ覚えていきます。

mountの使い方は、

mount デバイス パス

でした。
では、使っていきましょう。

手始めに、/dev/zeroがデバイスとして指定できるか試してみます。

takk@deb9:~/tmp$ sudo mount /dev/zero /mnt
mount:  /dev/zero is not a block device
takk@deb9:~/tmp$ 

なんかメッセージが出ました。ブロックデバイスではないと言ってます。
キャラクタデバイスである/dev/zeroはマウントできないんでしょうね。

次は、適当なディレクトリを作って、それぞれマウントできるかやってみます。

takk@deb9:~/tmp$ mkdir a b
takk@deb9:~/tmp$ ls
a  b
takk@deb9:~/tmp$ sudo mount a b
mount:  /home/takk/tmp/a is not a block device
takk@deb9:~/tmp$ 

ディレクトリaは、ブロックデバイスではないと言われました。
ディレクトリはデバイスにはならないようです。

ブロックデバイスって何でしょう。lsblkで一覧を確認してみましょう。

takk@deb9:~/tmp$ lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   40G  0 disk 
├─sda1   8:1    0   36G  0 part /
├─sda2   8:2    0    1K  0 part 
└─sda5   8:5    0    4G  0 part [SWAP]
sr0     11:0    1 55.3M  0 rom  /media/cdrom0
takk@deb9:~/tmp$ 

私の環境の場合は、ハードディスク(sda)と、CDROM(sr0)でした。

マウント対象は、ブロックデバイスじゃないと、いけないだろうってことで、
てっとり上記の中から、CDROMにあたるcr0をデバイスとしてマウントしてみます。

takk@deb9:~/tmp$ sudo mount /dev/sr0 a
mount: /dev/sr0 is write-protected, mounting read-only
takk@deb9:~/tmp$ 

メッセージが出ました。メッセージを読んでも、マウントできたのかできなかったのか、よく分かりません。本来UNIXの考え方からすると、何も表示しないときは成功したときなので、メッセージが出たということは、失敗したように思えます。

mountpointコマンドで、ディレクトリaがマウントポイントになったか確認してみます。

takk@deb9:~/tmp$ mountpoint a
a is a mountpoint
takk@deb9:~/tmp$ 

どうやらマウントは成功していたようです。

マウントする時に、正しくオプションを指定しなかったのでwarningとしてのメッセージだったのでしょう。

一旦アンマウントします。

takk@deb9:~/tmp$ sudo umount a
takk@deb9:~/tmp$ mountpoint a
a is not a mountpoint
takk@deb9:~/tmp$ 

CDROMをマウントするということで、次は、リードオンリーのマウントオプションをつけてマウントします。オプションは-o roです。
先程出ていたメッセージは消えるでしょうか。

takk@deb9:~/tmp$ sudo mount -o ro /dev/sr0 a
takk@deb9:~/tmp$ 

今度は何も表示されませんでした。何も表示されないということは、今度こそうまくいったということですね。
マウントポイントになったか確認。

takk@deb9:~/tmp$ mountpoint a
a is a mountpoint
takk@deb9:~/tmp$ 

そういえば、ブロックデバイスの一覧を見るときに使ったlsblkの表示は、今どうなってるのでしょう。

takk@deb9:~/tmp$ lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   40G  0 disk 
├─sda1   8:1    0   36G  0 part /
├─sda2   8:2    0    1K  0 part 
└─sda5   8:5    0    4G  0 part [SWAP]
sr0     11:0    1 55.3M  0 rom  /home/takk/tmp/a
takk@deb9:~/tmp$ 

マウントポイントがaに書き換わってます。そんな馬鹿な。/media/cdrom0がどこかへ消えてしまいました。

もしかしたら、複数マウントポイントがある場合、最新のものだけを表示する仕組みかもしれません。

確認のため、新たにbにもマウントしてみます。

takk@deb9:~/tmp$ sudo mount -o ro /dev/sr0 b
takk@deb9:~/tmp$ mountpoint b
b is a mountpoint
takk@deb9:~/tmp$ 

lsblkを確認。

takk@deb9:~/tmp$ lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   40G  0 disk 
├─sda1   8:1    0   36G  0 part /
├─sda2   8:2    0    1K  0 part 
└─sda5   8:5    0    4G  0 part [SWAP]
sr0     11:0    1 55.3M  0 rom  /home/takk/tmp/b
takk@deb9:~/tmp$ 

sr0のマウントポイントは、ディレクトリbになりました。
次は、aをアンマウントして、再度マウントします。

takk@deb9:~/tmp$ sudo umount a
takk@deb9:~/tmp$ sudo mount -o ro /dev/sr0 a
takk@deb9:~/tmp$ lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   40G  0 disk 
├─sda1   8:1    0   36G  0 part /
├─sda2   8:2    0    1K  0 part 
└─sda5   8:5    0    4G  0 part [SWAP]
sr0     11:0    1 55.3M  0 rom  /home/takk/tmp/a
takk@deb9:~/tmp$ 

lsblkでのsr0のマウントポイントがaになりました。

aもbもアンマウントします。

takk@deb9:~/tmp$ sudo umount a b
takk@deb9:~/tmp$ mountpoint a
a is not a mountpoint
takk@deb9:~/tmp$ mountpoint b
b is not a mountpoint
takk@deb9:~/tmp$ 

lsblk確認。

takk@deb9:~/tmp$ lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   40G  0 disk 
├─sda1   8:1    0   36G  0 part /
├─sda2   8:2    0    1K  0 part 
└─sda5   8:5    0    4G  0 part [SWAP]
sr0     11:0    1 55.3M  0 rom  /media/cdrom0
takk@deb9:~/tmp$ 

元に戻りました。

コメント

タイトルとURLをコピーしました