読むだけでちょっと賢くなる、架空のまとめスレ

【疑問】USBメモリを挿しても /mnt に何も出てこん。マウントと /etc/fstab の基本【LPICレベル1】

25レスカテゴリ:Linux
1: 名無しさん

サーバーにUSBメモリを挿して ls /mnt したけど空っぽ
デバイスは /dev/sdb1 として見えてるのに、中身はどこにあるん

2: 名無しさん

>>1
Linux では、ファイルはすべて / から始まる1本の木(ディレクトリツリー)の中にある
デバイスの中のファイルシステムは、木のどこか(マウントポイント)につなぐまで見えない。このつなぐ操作がマウント

3: 名無しさん

>>2
どうやってつなぐん

4: 名無しさん

>>3
sudo mount /dev/sdb1 /mnt/usb で、/dev/sdb1 の中身が /mnt/usb の下に見えるようになる
マウントポイントは、先に作っておいたディレクトリ(mkdir /mnt/usb)

5: 名無しさん

>>4
中にファイルがあるディレクトリにマウントしたら、元のファイルは消えるん?

6: 名無しさん

>>5
消えはしない。マウントしてる間は隠れて見えなくなるだけで、外せばまた見える

7: 名無しさん

外すときは unmount?

8: 名無しさん

>>7
umount(n がない)。umount /mnt/usb か umount /dev/sdb1
外す前に抜くと、まだ書き込まれてないデータが失われることがある

9: 名無しさん

>>8
target is busy って出て外せん

10: 名無しさん

>>9
誰かがその中のファイルを開いてるか、どこかのシェルのカレントディレクトリがその中にある
cd で外に出てからやり直す。誰が使ってるかは fuser -m /mnt/usb や lsof /mnt/usb で調べられる

11: 名無しさん

今どこに何がマウントされてるかは、どう見るん

12: 名無しさん

>>11
引数なしの mount か findmnt。容量も見たいなら df -h
ディスクとパーティションの構成は lsblk。サイズは バイトの単位で出る

13: 名無しさん

再起動したら、マウントが外れてた

14: 名無しさん

>>13
mount コマンドでのマウントは、その場限り。起動時に自動でマウントしたいなら /etc/fstab に書く
1行に6つの欄を書く
UUID=1234-ABCD /mnt/usb vfat defaults,noauto,user 0 0

15: 名無しさん

>>14
6つの欄の意味は

16: 名無しさん

>>15
左から、デバイス、マウントポイント、ファイルシステムの種類、オプション、dump の対象か(0 か 1)、起動時の fsck の順番
fsck の欄は、ルートファイルシステムが 、それ以外でチェックするものが 、チェックしないものが

17: 名無しさん

>>14
デバイスを /dev/sdb1 じゃなくて UUID で書くのはなんで

18: 名無しさん

>>17
/dev/sdb1 という名前は、挿す順番やディスクの数で変わることがある。UUID はファイルシステムを作ったときに決まる番号で、変わらない
UUID やラベルは blkid で調べられる。LABEL=backup のようにラベルでも書ける

19: 名無しさん

>>14
noauto と user は?

20: 名無しさん

>>19
noauto は、起動時に自動ではマウントしない。user は、一般ユーザーでも mount できるようにする
fstab に書いてあれば、mount /mnt/usb のようにマウントポイントだけ指定して mount できる

21: 名無しさん

fstab を書き換えたあと、確かめる方法は

22: 名無しさん

>>21
sudo mount -a で、fstab に書いてあって noauto がついてないものを全部マウントしてみる
書き間違いがあると、再起動したときに起動が止まることがある。再起動の前に、ここでエラーが出ないか見ておく

23: 名無しさん

>>22
最近は systemd がマウントしてるって聞いた

24: 名無しさん

>>23
systemd を使うシステムでは、fstab の各行から mount ユニットが作られて、起動時にそれがマウントしてる
設定を書く場所は今も fstab でいい

25: 名無しさん

つながないと見えん、外すのは umount、起動時につなぐなら fstab に UUID で、やな

管理人のひとこと