Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
admin_grundlagen:udev [2019/07/18 22:14] ingo_wichmann [Dummy Netzwerkinterface dummy0 in intern0 umbenennen] |
admin_grundlagen:udev [2025/02/25 17:00] (aktuell) |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== udev events anzeigen ====== | ||
- | |||
- | udevadm monitor | ||
- | udevtest /block/sdc/sdc1 | ||
- | udevcontrol log_priority=debug | ||
====== zuletzt angelegte Gerätedateien finden ====== | ====== zuletzt angelegte Gerätedateien finden ====== | ||
Zeile 10: | Zeile 5: | ||
find /dev -ctime -30 | find /dev -ctime -30 | ||
find /dev -type c -o -type b -printf '%TY%Tm%Td%TI%TM %p\n' | sort -n | find /dev -type c -o -type b -printf '%TY%Tm%Td%TI%TM %p\n' | sort -n | ||
- | ====== Gerätenamen fest vergeben ====== | + | ====== Dummy Netzwerkinterface dummy0 in intern0 umbenennen ====== |
- | + | ===== ... mit udev.rules ===== | |
- | + | ||
- | + | ||
- | ===== Dummy Netzwerkinterface dummy0 in intern0 umbenennen mit udev.rules ===== | + | |
==== Dummy Netzwerkinterface erzeugen ==== | ==== Dummy Netzwerkinterface erzeugen ==== | ||
modprobe dummy numdummies=1 | modprobe dummy numdummies=1 | ||
Zeile 22: | Zeile 14: | ||
=== Netzdevice umbenennen === | === Netzdevice umbenennen === | ||
- | udevadm info -a -p /sys/class/net/dummy0 | + | udevadm info -a /sys/class/net/dummy0 |
<file txt /etc/udev/rules.d/70-persistent-net.rules> | <file txt /etc/udev/rules.d/70-persistent-net.rules> | ||
… | … | ||
Zeile 36: | Zeile 28: | ||
zweites Terminalfenster: | zweites Terminalfenster: | ||
+ | |||
+ | Konfiguration neu laden: | ||
+ | udevadm control --reload-rules | ||
+ | |||
+ | Modul neu laden: | ||
modprobe -r dummy | modprobe -r dummy | ||
modprobe dummy numdummies=1 | modprobe dummy numdummies=1 | ||
ip link | ip link | ||
+ | |||
+ | oder (ohne neu laden des Moduls): | ||
+ | udevadm trigger -v --action=add --attr-match=subsystem=net --attr-match=address=52:54:00:1d:c5:52 | ||
+ | |||
+ | |||
+ | ===== ... mit systemd.link ===== | ||
+ | <file txt /etc/systemd/network/10-dummy.link> | ||
+ | [Match] | ||
+ | OriginalName=dummy0 | ||
+ | |||
+ | [Link] | ||
+ | Name=intern0 | ||
+ | </file> | ||
====== Kommando bei Aktivierung eines USB-Devices ausführen ====== | ====== Kommando bei Aktivierung eines USB-Devices ausführen ====== | ||
Zeile 46: | Zeile 56: | ||
USB-Gerät einstecken | USB-Gerät einstecken | ||
ls -l /tmp/udev-test | ls -l /tmp/udev-test | ||
+ | |||
+ | (kurzes(( | ||
+ | Alternativen für länger laufende Befehle: | ||
+ | <file txt /etc/udev/rules.d/75-touch-file.rules> | ||
+ | ACTION=="add", SUBSYSTEM=="usb", ENV{ID_FS_LABEL}=="backup", RUN="/usr/bin/systemd-run --on-active=2 /usr/local/bin/backup.sh" | ||
+ | </file> | ||
+ | oder | ||
+ | <file txt /etc/udev/rules.d/75-touch-file.rules> | ||
+ | ACTION=="add", SUBSYSTEM=="usb", ENV{ID_FS_LABEL}=="backup", ENV{SYSTEMD_WANTS}="backup.service" | ||
+ | |||
+ | </file> | ||
+ | )) ) Kommando ausführen, wenn ein USB-Stick mit einem Dateisystem mit dem LABEL=backup eingesteckt wird: | ||
+ | <file txt /etc/udev/rules.d/75-touch-file.rules> | ||
+ | ACTION=="add", SUBSYSTEM=="usb", ENV{ID_FS_LABEL}=="backup", RUN="/bin/touch /tmp/udev-test" | ||
+ | </file> | ||
+ | |||
+ | |||
====== Symlink bei Aktivierung anlegen ====== | ====== Symlink bei Aktivierung anlegen ====== | ||
<file txt /etc/udev/rules.d/75-show-last-usb.rules> | <file txt /etc/udev/rules.d/75-show-last-usb.rules> | ||
Zeile 56: | Zeile 83: | ||
+ | |||
+ | ====== udev events anzeigen ====== | ||
+ | |||
+ | udevadm monitor | ||
+ | udevadm test /block/sdc/sdc1 | ||
+ | udevadm control log_priority=debug | ||
====== Weitere udev Kommandos ====== | ====== Weitere udev Kommandos ====== |