Hallo 151kg,
aber nur hier im Posting
Hatte ich fast befürchtet…
Im Script ist es drinnen.
Kennst Du (oder sonst jemand) Dich näher mit Udev aus?
Naja, was heisst näher. Ich kenne das, was in den Links steht. Aber ich habe es gerade nochmal für meinen USB-Stick ausprobiert und da hat es funktioniert.
Meine Datei heisst persistent-usb.rules sieht so aus:
BUS=="usb", ACTION=="add", KERNEL=="sdc1", SYSFS{idProduct}=="1a00", SYMLINK+="backback"
Ich habe das bewusst klein und simpel gehalten (ohne Skript und ohne Metazeichen bei KERNEL==…) um Schreib- und sonstige Fehler auszuschliessen. Aber so hat es bei mir tatsächlich den Softlink auf sdc1 angelegt:
ubuntu@ubuntu:~$ ls -l /dev/back\*
lrwxrwxrwx 1 root root 4 2011-04-27 18:35 /dev/backback -\> sdc1
Vielleicht solltest Du auch erstmal so minimalistisch anfangen.
Sonstige Fehlerquellen, die mir jetzt so einfallen:
* falsche SYSFS{idProduct}
* nicht als root erstellt und/oder abgespeichert
* Regeln nicht mit
sudo service udev reload
neu eingelesen
Außerdem habe ich jetzt auch mal ein bewusst fehlerhaftes Skript eingefügt, auch damit wird der Softlink angelegt.
Mehr Fehlermöglichkeiten fallen mir jetzt nicht ein, denn auch die nicht gerade sinnvolle udev-Regel
BUS=="usb", ACTION=="add", KERNEL=="\*", SYSFS{idProduct}=="1a00", SYMLINK+="back%k", RUN+="/usr/local/bin/MeinScript"
funktioniert, samt Softlink und diesmal richtigem Skript.
Übrigens habe ich die Regel bewusst
persistent-usb.rules
genannt und nicht z.B.
10-persistent-usb.rules
damit sie garantiert nicht von anderen, nachfolgenden Regeln „überschrieben“ werden kann. /etc/udev/rules.d/README empfiehlt dies:
If the ordering of files in this directory are not important to you,
it’s recommended that you simply name your files „descriptive-name.rules“
such that they are processed AFTER all numbered rules in both this
directory and /lib/udev/rules.d and thus override anything set there.
Viele Grüße
Marvin