Der Dateiname wird von udev generiert, aber die ID in ihm stammt vom Gerät selbst:
Wenn Sie laufen lsusb -v
und danach suchen, werden Sie feststellen, dass dies die Serien-ID des Geräts ist:
... iManufacturer MBED iProduct microcontrolleur iSerial 10105a42e87da33c103dccfb6bc235360a97
oder etwas ähnliches.
Wie kommt es dazu ?
Nehmen wir an, der USB-Stick wird montiert /mnt/tmp
. Auf meinem System bekomme ich:
$ udevadm info --device-id-of-file /mnt/tmp 8:17
Führen Sie nun das aus und suchen Sie nach 8:17
:
$ udevadm info --export-db | less ... P: /devices/pci0000:00/0000:00:1d.7/usb1/1-3/1-3:1.0/host4/target4:0:0/4:0:0:0/block/sdb/sdb1 N: sdb1 W: 61 S: block/8:17 S: disk/by-id/usb-pqi_IntelligentStick_AA04212900042956-0:0-part1
Dies gibt uns den Gerätepfad, der mit udevadm verwendet werden soll. Führen Sie dies aus und suchen Sie nach Ihrer Geräte-ID ( AA042...
in meinem Fall)
$ udevadm test /devices/pci0000:00/0000:00:1d.7/usb1/1-3/1-3:1.0/host4/target4:0:0/4:0:0:0/block/sdb/sdb1 2>&1 | less ... udev_rules_apply_to_event: LINK 'disk/by-id/usb-pqi_IntelligentStick_AA04212900042956-0:0-part1' /lib/udev/rules.d/60-persistent-storage.rules:31
Das gibt uns alle Regeln von udev + angewendete Zeilennummern ( 60-persistent-storage.rules:31
etc)
Und hier kommt der Dateiname:
$ /lib/udev/usb_id /devices/pci0000:00/0000:00:1d.7/usb1/1-3/1-3:1.0/host4/target4:0:0/4:0:0:0/block/sdb pqi_IntelligentStick_AA04212900042956-0:0