web-dev-qa-db-ja.com

Linux(Debian)でUSBドライブを自動マウントするにはどうすればよいですか?

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"

また、これを行うための安定したソリューションは何ですか?それは新しいリリースに更新した後でも確実に機能しますが、おそらく見逃していましたか?

5
Circonflexe

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
4
GAD3R

私は、nautilus、udisks2、およびlibglib2.0-bin(gioバイナリを含む)のDebianにおける(逆)パッケージ依存関係を調査しました。これと Archlinux Udisksページ に基づいて、私は今信じています:

  • 実際にマウントを行うための最新技術はudisks2です。自動マウントの次善の策はudisksctl unmount -b /dev/$DEVICE
  • 「標準」のDebian Gnomeインストールでは、nautilusがデスクトップ上のアイコンを制御しています。 USBドライブが接続されると、ドライブのアイコンが表示されますが、ドライブはアイコンをクリックしたときにのみマウントされます。
  • USB自動マウント用の最小限のデスクトップに最適な選択は、おそらく udiskie です。

ユーザー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
1
Thomas Koch