/etc/fstab
以下のように追加のルールを追加してUSBドライブの自動マウントを構成しました。
/dev/sda1 /media vfat noauto,nofail,x-systemd.automount,x-systemd.idle-timeout=2,x-systemd.device-timeout=2
その後、systemdはこのエントリを選択して、fsab-generator
マウントと自動マウント用の2つのユニットファイルを作成します/dev/sda1
。
- メディア自動マウント
- メディアマウント
一度挿入すると、USBドライブは指定されたマウントポイントに正しくマウントされます。これはを実行することによって確認されましたls /media
。 Journalctlの出力は次のとおりです。
Sep 17 13:19:55 pcxx systemd[1]: Mounted /media.
Sep 17 13:19:57 pcxx systemd[1]: Unmounting /media...
Sep 17 13:19:57 pcxx systemd[1]: Unmounted /media.
1. systemdが/media
インストール直後に削除されるのはなぜですか?
USBドライブを使用した後、きちんとマウント解除できるようにすることが目的です。
これを行う方法は2つあります。
最初は実行中ですumount /media
。これで操作は完了しますが、media.automount サービスが破損します。 Journalctlと実行時に観察されるエラーメッセージsystemctl status -l media.automount
は次のとおりです。
Sep 17 13:28:44 pcxx systemd[1]: media.automount: Got invalid poll event 16 on pipe (fd=59)
Sep 17 13:28:44 pcxx systemd[1]: media.automount: Failed with result 'resources'.
2番目はsystemdのumountコマンドを実行することですsystemd-umount /media
。この操作も実行されますが、media.mount および media.automount サービスは停止します。その結果、次のUSBドライブを挿入すると自動的にマウントされず、自動マウントの目的が無効になります。
2.自動マウントサービスを停止せずにsystemdによって自動的にマウントされたドライブをアンマウントする正しい方法はありますか?
答え1
Q1:systemdが/mediaをマウントした直後にアンマウントするのはなぜですか?
A1:2秒間アクティビティがない場合は削除するように指示したので:
このx-systemd.idle-timeout
オプションはこれを制御します。項目で2秒に設定しました/etc/fstab
。x-systemd.idle-timeout=2
Q2.自動マウントサービスを停止せずにsystemdによって自動マウントされたドライブをアンマウントする正しい方法はありますか?
A2.私たちはあなたのためにそれをやってみましょうsystemd.automount
。
Q1と同様に、このx-systemd.idle-timeout
オプションは、マウントがアンマウントされる前にマウントがアイドル状態になることができる時間を制御します。現在設定したとおり2秒です。したがって、2秒間アクティビティがないと、USBドライブがマウント解除されます。この時点でやるべきことは、ドライブを取り外し/取り外しすることだけです。コマンドを使用するには、アンマウントされていることを確認することもできますlsblk -f
。 USBドライブにマウントポイントがないと表示されている場合は、まだマウントされていません。明確に説明するために、私のシステムの例は次のとおりです(無視mmcblk0
- システムSDカードです)。
USBドライブをマウントすると、lsblk -f
次のマウントポイントが表示されますsdb1
。
pi@raspberrypi3b:~ $ lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
sdb
└─sdb1 ext4 1.0 SANDISK8GB e5cb39a9-b041-4339-92f5-4172201a4b1a 2.6G 59% /home/pi/SANDISK8GB_ThumbDrv
mmcblk0
├─mmcblk0p1 vfat FAT32 boot C839-E506 203M 19% /boot
└─mmcblk0p2 ext4 1.0 rootfs 568caafd-bab1-46cb-921b-cd257b61f505 26.3G 5% /
出力を監視すると、journalctl --follow
次のようなメッセージが表示され、USBドライブが設定された時間アイドル状態になった後にマウント解除されたことを知らせますx-systemd.idle-timeout
。
Jan 17 10:46:40 raspberrypi3b systemd[1]: Unmounting /home/pi/SANDISK8GB_ThumbDrv...
Jan 17 10:46:40 raspberrypi3b systemd[750]: home-pi-SANDISK8GB_ThumbDrv.mount: Succeeded.
Jan 17 10:46:40 raspberrypi3b systemd[1]: home-pi-SANDISK8GB_ThumbDrv.mount: Succeeded.
Jan 17 10:46:40 raspberrypi3b systemd[1]: Unmounted /home/pi/SANDISK8GB_ThumbDrv.
別のドライブが得られるまで、ドライブはアンマウントされたままになります。自動マウント要求。この例では、ls
下の最初の行の最後に示すようにCLIを入力して要求をトリガーします。
Jan 17 10:40:38 raspberrypi3b systemd[1]: home-pi-SANDISK8GB_ThumbDrv.automount: Got automount request for /home/pi/SANDISK8GB_ThumbDrv, triggered by 927 (ls)
Jan 17 10:40:38 raspberrypi3b systemd[1]: Mounting /home/pi/SANDISK8GB_ThumbDrv...
Jan 17 10:40:38 raspberrypi3b kernel: EXT4-fs (sdb1): mounted filesystem with ordered data mode. Opts: (null)
Jan 17 10:40:38 raspberrypi3b systemd[1]: Mounted /home/pi/SANDISK8GB_ThumbDrv.
次の手順を実行して、USBドライブがマウント解除されていることを確認できます。lsblk -f
マウントポイントが表示されない場合は、デバイスがマウントされていません。
pi@raspberrypi3b:~ $ lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
sdb
└─sdb1 ext4 1.0 SANDISK8GB e5cb39a9-b041-4339-92f5-4172201a4b1a
mmcblk0
├─mmcblk0p1 vfat FAT32 boot C839-E506 203M 19% /boot
└─mmcblk0p2 ext4 1.0 rootfs 568caafd-bab1-46cb-921b-cd257b61f505 26.3G 5% /
答え2
mountの代わりに/media
新しいディレクトリを作成し、そこにマウントします。
/media
これはほとんどのLinuxで予約されている場所です。