本文を読み飛ばす

udev: USB接続HDDを無視する。固定pathにマウントする

次のような場合にはudevを修正すると便利でした。

  • USBメモリの中に自動でマウントしたくないpartitionがあるとき [1]

  • ログイン中のユーザ以外からアクセスしたい <- バックアップ用途など [2]

やり方・手順は以下のようになります。

  1. udev に HDD(USBメモリ) が接続された時の rule を追加する \

  2. 無視するドライブの場合: rule に udisks2 のパラメータを設定する

  3. 固定pathにするドライブの場合: rule に udisk2 のパラメータを設定する

  4. 固定pathにするドライブの場合: fstab に mount オプションを書く

OSはUbuntu 17.10です。作った rule ファイルはこちら:

SUBSYSTEM=="block", ENV{ID_FS_UUID}=="796c505a-2a82-43ca-a6c7-e7a6f9b49107", \
    ENV{UDISKS_IGNORE}="1"

SUBSYSTEM=="block", ENV{ID_FS_UUID}=="a35e3b2a-278a-4b02-a4e8-4a8563ad7bba", \
    ENV{UDISKS_IGNORE}="1"

SUBSYSTEM=="block", ENV{ID_FS_UUID}=="1db50d00-28c1-4959-a550-98907bc751fc", \
    ENV{UDISKS_NAME}="home", \
    ENV{UDISKS_FILESYSTEM_SHARED}="1", \
    RUN+="/bin/echo $env{ID_FS_UUID}"

# ACTION=="add", ENV{DEVTYPE}=="partition", \
#     ENV{ID_FS_UUID}=="1db50d00-28c1-4959-a550-98907bc751fc", \
#     RUN+="/bin/mount -U $env{ID_FS_UUID}"

fstabの追加はこちら。(折り返していますが、1行です):

UUID=1db50d00-28c1-4959-a550-98907bc751fc /home2 ext4
  defaults,noatime,noauto,x-gvfs-show 0 0

考察: udev共通

  • ファイル名は間違わないように...: .confでは動かない。.rulesが正です

  • 持っているOSにもよってツールがいろいろあり、調べるのが面倒でした

  • 他の方も書いていますが、この問題の対処にはいろいろな経緯があって \ ツールがいろいろあるようです。

考察: 固定pathでマウントする

  • autofsも方法の一つとしてあります。ただ、rpc使うし、追加installもあるので 最初から入っているudisks2で対処してみました

  • udev に rule を書く例がありますが、 \ systemd の MountFlags=slave という記述があると mount できなくなっています

  • fstab の "x-gvfs-show" がないと動きませんでした。 \ 逆に UDISKS_FILESYSTEM_SHARED が必要かどうかわかりません

  • UDISKS_NAME は、 tune2fs とかで partition に名前つけた場合に使えます。 \ ただ、それだと名前が被ることが想定されるので、使い方によりそうです。

  • 私の場合は、単一のデバイスに限定したかったのでUUIDにしました。 [3]

考察: 無視

  • オプション名が udisks2 になってから、 UDISKS_IGNORE に変わっています

その他

  • fstab 編集中に UUID が知りたいときは:

    :r!blkid /dev/sda2

    などすると良いと思います。

  • fstab の "x-gvfs-show" ですが、システムツールの"ディスク"で 何かのオプションをいじったときに付きました。たまにはGUIもいいですね...

  • systemd の MountFlags=slave を MountFlags=share にすれば \ udevのみでも対応はできますし、マウントのダイアログも出てきません。

    ただ、セキュリティの問題で slave としているのでいつまでこの方法が 通用するのかわからないのと、やりたいのは1つのUSB-HDDなのに 全般に影響を与えるのはどうかな? というのもあってudisks2にしました。

コメント

Comments powered by Disqus
宣伝: