Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


lpi2:udev

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
lpi2:udev [2013/12/09 15:43] – [udev Regel erstellen] ingo_wichmannlpi2:udev [2025/02/25 17:00] (aktuell) – [Kommando bei Aktivierung eines USB-Devices ausführen] ingo_wichmann
Zeile 1: Zeile 1:
-====== udev events anzeigen ====== 
-=== Centos 5 === 
- 
-  udevmonitor 
-  udevtest /block/sdc/sdc1 
-  udevcontrol log_priority=debug 
- 
-=== SuSE 11.0 / Ubuntu 8.04 === 
- 
-  udevadm monitor 
-  udevtest /block/sdc/sdc1 
-  udevcontrol log_priority=debug 
  
 ====== zuletzt angelegte Gerätedateien finden ====== ====== zuletzt angelegte Gerätedateien finden ======
Zeile 17: 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 ====== 
-===== Netzwerkkarte eth0 anhand Mac-Adresse bestimmen ===== +===== ... mit udev.rules ===== 
-''/etc/udev/rules.d/30-net_persistent_names.rules'': ( SuSE 10.1 default ) +==== Dummy Netzwerkinterface erzeugen ==== 
-<file> +  modprobe dummy numdummies=1 
-SUBSYSTEM=="net", ACTION=="add", SYSFS{address}=="00:00:f0:73:d5:5e", IMPORT="/lib/udev/rename_netiface %k eth0" +  ip link show dummy0 
-</file> +(( ''numdummies=1'' überschreibt ''/lib/modprobe.d/systemd.conf'' ))
- +
-===== Netzwerkkarte eth0 anhand PCI-ID bestimmen =====+
 ==== udev Regel erstellen ==== ==== udev Regel erstellen ====
-  udevinfo -a -p /sys/class/net/eth0 
-oder 
-  udevadm info -a -p /sys/class/net/eth0 
  
-  lspci +=== Netzdevice umbenennen === 
-''/etc/udev/rules.d/30-net_persistent_names.rules'': ( SuSE 10.2 ) +  udevadm info  -a /sys/class/net/dummy0  
-<file> +<file txt /etc/udev/rules.d/70-persistent-net.rules> 
-SUBSYSTEMS=="pci", KERNELS=="0000:00:11.0" , IMPORT="/lib/udev/rename_netiface %k eth0"+… 
 +ACTION=="add", SUBSYSTEM=="net", KERNEL=="dummy0", NAME="intern0" 
 +…
 </file> </file>
  
-===== Dummy Netzwerkinterface dummy0 in intern0 umbenennen ===== +Konfigurationsdatei prüfen: 
-==== Dummy Netzwerkinterface erzeugen ==== +  udevadm test /sys/class/net/dummy0
-  modprobe dummy +
-  ifconfig dummy0+
  
-==== udev Regel erstellen ==== +erstes Terminalfenster: 
-  udevinfo -a -p /sys/class/net/dummy0 +  udevadm monitor
-''/etc/udev/rules.d/z25_persistent-net.rules'': ( Debian 4.0 )+
  
-''/etc/udev/rules.d/70-persistent-net.rules'': ( SuSE 11.1, Debian 5.0 )+zweites Terminalfenster:
  
-  udevadm info -a -p /sys/class/net/dummy0 ( Debian 6.0 ) +Konfiguration neu laden: 
-''/etc/udev/rules.d/70-persistent-net.rules'': ( Debian 6.0 )+  udevadm control --reload-rules
  
-''/etc/udev/rules.d/60-net.rules'' ( CentOS 5 ) +Modul neu laden: 
-<file> +  modprobe -r dummy 
-SUBSYSTEM=="net", KERNEL=="dummy0", NAME="intern0" +  modprobe dummy numdummies=1 
-SUBSYSTEM=="net", KERNEL=="dummy0", RUN="/bin/touch /tmp/udev-test"+  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> </file>
  
-==== testen ==== +====== Kommando bei Aktivierung eines USB-Devices ausführen ====== 
-Vorsicht: meine Tests haben gezeigt, das auch schon beim Aufruf von ''udevtest'' das Device umbenannt wird ...  +<file txt /etc/udev/rules.d/75-touch-file.rules> 
-  udevtest /sys/class/net/dummy0 +ACTION=="add", SUBSYSTEM=="usb", RUN="/bin/touch /tmp/udev-test" 
-oder +</file> 
-  udevadm test /sys/class/net/dummy0+USB-Gerät einstecken 
 +  ls -l /tmp/udev-test
  
-==== aktivieren ==== +(kurzes(( 
-  udevtrigger+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 oder
-  udevadm trigger+<file txt /etc/udev/rules.d/75-touch-file.rules> 
 +ACTION=="add", SUBSYSTEM=="usb", ENV{ID_FS_LABEL}=="backup", ENV{SYSTEMD_WANTS}="backup.service"
  
-==== Netzwerkkarten Konfigurationsdatei umbenennen ( SuSE ) ==== +</file> 
-  getcfg eth0 > /tmp/getcfg.txt +)) ) Kommando ausführen, wenn ein USB-Stick mit einem Dateisystem mit dem LABEL=backup eingesteckt wird: 
-  . /tmp/getcfg.txt +<file txt /etc/udev/rules.d/75-touch-file.rules> 
-  mv ifcfg-eth-id-$HWD_ID ifcfg-eth0+ACTION=="add", SUBSYSTEM=="usb", ENV{ID_FS_LABEL}=="backup", RUN="/bin/touch /tmp/udev-test" 
 +</file> 
 + 
 + 
 +====== Symlink bei Aktivierung anlegen ====== 
 +<file txt /etc/udev/rules.d/75-show-last-usb.rules> 
 +SUBSYSTEM=="usb", SYMLINK+="last-usb-device" 
 +</file> 
 +USB-Gerät einstecken 
 +  ls -l /dev/last-usb-device 
 + 
 + 
 + 
 + 
 + 
 +====== udev events anzeigen ====== 
 + 
 +  udevadm monitor 
 +  udevadm test /block/sdc/sdc1 
 +  udevadm control log_priority=debug
  
 ====== Weitere udev Kommandos ====== ====== Weitere udev Kommandos ======
lpi2/udev.1386603829.txt.gz · Zuletzt geändert: 2013/12/09 15:43 von ingo_wichmann