udev-Regeln schließen Gerät aus

udev-Regeln schließen Gerät aus

ist es möglich, Udev-Regeln zu verwenden, um ein einzelnes Gerät von der Regel auszuschließen?

Wenn ich beispielsweise fünf Festplatten angeschlossen habe und für alle Festplatten außer einer einzigen benutzerdefinierte Namen erstellen möchte, ist das möglich?

Außerdem werden Kernelnamendatenträger nach sdz mit 2 Zeichen benannt. sdaa, sdab, sdqr usw. Ich habe ein Problem damit, da ich die Partition nicht in sda1, sdb2 usw. aufnehmen möchte. Kann ich alle Zeichen, aber nicht alle Zahlen mit Platzhaltern versehen?

Beispiel:

KERNEL=="sd??",  NAME="test/Disk%n",  ATTRS{ID_SERIAL_SHORT}!="xxxx"

Antwort1

Wenn ich beispielsweise fünf Festplatten angeschlossen habe und für alle Festplatten außer einer einzigen benutzerdefinierte Namen erstellen möchte, ist das möglich?

  • Mit diesen Regeln können Sie GOTORegeln überspringen:

    ENV{ID_SERIAL_SHORT}=="xxxx|yyyy|zzzz", GOTO="custom_names_end"
    ENV{ID_MODEL}=="blahblah", GOTO="custom_names_end"
    
    KERNEL=="sd*", ENV{DEVTYPE}=="disk", SYMLINK+="test/Disk%n"
    
    LABEL="custom_names_end"
    
  • Beachten Sie, dass dies ID_SERIAL_SHORTkein Attribut ist. Es handelt sich um eine Udev-Umgebungsvariable. Sie müssen also ENV{}oder verwenden ENVS{}, um sie abzugleichen. Attribute werden direkt aus sysfs gelesen.

  • Beachten Sie auch, dass neuere Udev-Versionen das Umbenennen von Geräten verbieten. Sie können nur benutzerdefinierte symbolische Links hinzufügen.

Außerdem werden Kernelnamendatenträger nach sdz mit 2 Zeichen benannt. sdaa, sdab, sdqr usw. Ich habe ein Problem damit, da ich die Partition nicht in sda1, sdb2 usw. aufnehmen möchte. Kann ich alle Zeichen, aber nicht alle Zahlen mit Platzhaltern versehen?

  • Sie verwenden den falschen Ansatz. Wenn Sie Festplatten, aber keine Partitionen abgleichen möchten, dannmach genau das:

    KERNEL=="sd*",ENV{DEVTYPE}=="Datenträger", …

    Die DEVTYPEWerte sind in udevadm info /dev/sdaund zu sehen udevadm info /dev/sda1.

verwandte Informationen