LinuxでUSBドライブを自動マウントする方法は、新しいリリースごとに変わるようです(幸い、Debianを使用しているので、2年ごとに数日しか失われていません)。以前はusbmount、udisks、udisks2、udisks-glue、pmount、カスタムudevルールがありましたが、私はもっともっと忘れているでしょう。 (ざっと見てみると、少なくともafuse
という名前のものが存在しているように見えますが、あまり文書化されていません)。これらはどれも機能しません(少なくとも私にとっては)。
DebianでUSBドライブを自動マウントする「現在の」方法は何ですか?私は次のudev
ルールを使用しましたが、ストレッチからバスターへの更新以降、これは機能しなくなりました。
SUBSYSTEM=="usb", DRIVERS=="usb-storage", ACTION=="add", \
RUN+="mkdir /media/usb%n; mount -o gid=plugdev,umask=002,fmask=111,users /dev/%k%n /media/usb%n"
また、これを行うための安定したソリューションは何ですか?それは新しいリリースに更新した後でも確実に機能しますが、おそらく見逃していましたか?
systemd.mount
および systemd.automount
ユニットファイルを作成できます。次に例を示します。
/dev/sdb1
の下に/mnt/moutpoint
をマウントするには、mnt-mountpoint.automount
ファイルを作成します。
Sudo nano /etc/systemd/system/mnt-mountpoint.mount
注:ユニットファイルの名前は、マウントポイントから抽出されたdir-sub-dir.mount
である必要があります/dir/sub-dir
(/media
の下でデバイスをマウントする必要がある場合、名前はmedia-mountpoint.mount
になります)
次に、次の行を貼り付けます。
[Unit]
Description=Mount sdb1
[Mount]
What=/dev/disk/by-uuid/UUID_here
Where=/mnt/mountpoint
Type=auto
Options=defaults
[Install]
WantedBy=multi-user.target
blkid
を使用して、UUID_here
を/dev/sdb1
のuuidに置き換えます。
mnt-mountpoint.automount
ファイルを作成します。
Sudo nano /etc/systemd/system/mnt-mountpoint.automount
次の行で:
[Unit]
Description=Automount usb
[Automount]
Where=/mnt/mountpoint
[Install]
WantedBy=multi-user.target
USBを接続し、ユニットを有効にして起動します。
Sudo systemctl daemon-reload
Sudo systemctl enable --now mnt-mountpoint.mount mnt-mountpoint.automount
私は、nautilus、udisks2、およびlibglib2.0-bin(gioバイナリを含む)のDebianにおける(逆)パッケージ依存関係を調査しました。これと Archlinux Udisksページ に基づいて、私は今信じています:
udisksctl unmount -b /dev/$DEVICE
。ユーザーsystemdサービスを追加して、udiskieを起動しました。
[Unit]
Description=Udiskie automount daemon
[Install]
WantedBy=graphical-session.target
[Service]
ExecStart=/usr/bin/udiskie --verbose --use-udisks2 --automount --no-config --notify --tray --appindicator