ブート時に特定の場所にマウントするUSBハードディスクがあります。誰もログインしていないのに、そのドライブをマウントして(ローカルバックアップなどのために)使用可能な状態に保つにはどうすればよいですか?
Udevまたは同様の何かがディスクを保持しているようです。このディスクを(UUIDによって)具体的にマウントしようとするエントリを/ etc/fstabに置くと、そのマウントプロセスとudevマウントプロセスはお互いにバトルしているように見え、ディスクはマウントされません。
Udevを使用してディスクをマウントします。この wiki のルールを/etc/udev/user.rules
に配置し、再起動(またはUSB HDDを再接続)します。 wikiにはいくつかのルールがあります(そのため、ここにリストしませんでした)。ニーズに最適なルールを選択してください(たとえば、マウントを解除するには特定の通常のユーザーが必要です)。
/lib/udev/rules.d/80-udisks.rules
を熟読すると、yourハードディスクに対してudevが何をしているのかを理解するのに役立ちます。
上で述べたudevルールに加えて、あなたがとることができる別のアプローチがあると思う:udisksに(udevを介して)指示して、ディスクをそのままにしてfstabを介してマウントする。
このコードは私のシステムで動作します
ACTION!="add|change", GOTO="my_udisks_end"
SUBSYSTEM!="block", GOTO="my_udisks_end"
ENV{ID_TYPE}!="disk", GOTO="my_udisks_end"
ENV{ID_BUS}!="ata", GOTO="my_udisks_end"
ENV{DEVTYPE}!="partition", GOTO="my_udisks_end"
KERNEL=="sd*|hd*", ENV{UDISKS_PRESENTATION_NOPOLICY}="1"
LABEL="my_udisks_end"
ただし、汎用であり、すべてのパーティションが含まれます。特定のhdd/partitionをターゲットにできるようにするには、udevadm info --query=all -n /dev/sdX
を使用してから、udevルールの特定の属性のいくつかと一致させます。
これを支援するのに役立つリソースは、 devルールの作成 です。残念ながら、古い情報が含まれています(udevinfo
はudevadm indo
に置き換えられました)。確かに、それは読む価値があることを保証します-udevは今日の中心的なアーキテクチャであり、それを使用することで多くのことを達成できます。また、かなり柔軟です。
また、udevルールを間違えるのも簡単です:)。 udevadm test $(udevadm info -q path -n /dev/sdX)
を使用して、udevの動作を「覗いて」ください。
UUIDではなく、/ dev/...で参照してみてください。/dev/sdb *である可能性が高いため、[システム]-> [管理]-> [システムモニター]に移動し、[ファイルシステム]タブをクリックして確認できます。最初にUSBドライブを挿入し、自動的にマウントする必要があります。/etc/fstabの「UUID = uuid」を「/ dev/sdb *」に置き換えます。編集する前にfstabをバックアップすることを常にお勧めします。