web-dev-qa-db-ja.com

同じUSBソケットにあるすべてのUSBデバイスを同じマウントポイントに自動マウントする方法

  • 私は2つのUSBソケット(AとB)を備えた小さなコンピューターを持っています。
  • 任意の外部USBディスク、接続されているソケットA-を「deviceA "」としてマウントしたい
  • 任意の外部USBディスク、接続されているソケットB-を「deviceB "」としてマウントしたい

特に
任意の数の異なるディスクをソケットAに接続できます。それらはすべて「devicesA」としてマウントする必要があります。
この場合、ディスクのUUIDを使用できず、ソケットを識別する必要があります。

Udevルールを使用してディスクを自動マウントしています。どのように実装しますか?

2
Skip

Udevadm(8)の出力を見てください。私にとって使用したディスクは/ dev/sddだったので、次のものを使用しました。

udevadm info --attribute-walk --name=/dev/sdd

これにより、デバイス自体と親デバイスに関する情報が得られます。親デバイスの1つは、接続されているUSBポートに対応しているようで、ディスクを接続した場所によって異なります。私にとっては、udev(7)ルールでmathingに使用するのはこのエントリです。

looking at parent device '/devices/pci0000:00/0000:00:12.2/usb1/1-4/1-4:1.0':
  KERNELS=="1-4:1.0"
  SUBSYSTEMS=="usb"
  DRIVERS=="usb-storage"
  [...]

ここでは、名前がKERNELS、SUBSYSTEMS、およびDRIVERSであり、KERNEL、SUBSYSTEM、およびDRIVERではないことに注意してください。 http://www.reactivate.net/writing_udev_rules.html のページとudev(7)のマニュアルページによると、これらはデバイス自体だけでなく(Sで終わらないバリアントとして)一致しています。 do)だけでなく、親デバイスも。

したがって、udevルールでの照合にこのデータを使用することで、特定のUSBポートのUSBストレージに固定名を付けることができるはずです。実際のマウントは、udev(7)のマニュアルページを理解している限り、udevルール内の「RUN」を使用して実行することもできます。ただし、マウントには別のルールを使用する必要がある場合があります。

2
Stefan Eggers