Posting tersebut menguraikan langkah-langkah untuk membuat aturan UDEV yang menjalankan skrip tertentu saat perangkat USB dipasang atau dilepas. Kita dapat menggunakan alat udevadm untuk melihat informasi dan properti saat perangkat dipasang atau dilepas. Menggunakan “subsystem-match=SUBSYSTEM ” Kami dapat menentukan jenis perangkat yang dipasang/dilepas.
1. Misalnya, dalam hal ini dengan SUBSYSTEM USB, Anda dapat menjalankan perintah di bawah ini:
# udevadm monitor --kernel --property --subsystem-match=usb monitor will print the received events for: KERNEL - the kernel uevent
2. Sekarang, pasang atau lepaskan perangkat USB, untuk memicu peristiwa UDEV.
3. Di bawah ini adalah contoh output, informasi dengan baris “<---" merupakan informasi penting yang perlu diperhatikan untuk menetapkan aturan.
# udevadm monitor --kernel --property --subsystem-match=usb monitor will print the received events for: KERNEL - the kernel uevent KERNEL[6147.486744] add /devices/pci0000:00/0000:00:0c.0/usb1/1-2 (usb) ACTION=add <--------------------------------------------------------- ACTION of the device BUSNUM=001 DEVNAME=/dev/bus/usb/001/010 DEVNUM=010 DEVPATH=/devices/pci0000:00/0000:00:0c.0/usb1/1-2 DEVTYPE=usb_device MAJOR=189 MINOR=9 PRODUCT=90c/1000/1100 <--------------------------------------------------------- ENV{PRODUCT} SEQNUM=2192 SUBSYSTEM=usb <--------------------------------------------------------- " SUBSYSTEM=="type_of_device" TYPE=0/0/0 KERNEL[6147.489141] add /devices/pci0000:00/0000:00:0c.0/usb1/1-2/1-2:1.0 (usb) ACTION=add DEVPATH=/devices/pci0000:00/0000:00:0c.0/usb1/1-2/1-2:1.0 DEVTYPE=usb_interface INTERFACE=8/6/80 MODALIAS=usb:v090Cp1000d1100dc00dsc00dp00ic08isc06ip50in00 PRODUCT=90c/1000/1100 SEQNUM=2193 SUBSYSTEM=usb TYPE=0/0/0 KERNEL[6206.530205] remove /devices/pci0000:00/0000:00:0c.0/usb1/1-2/1-2:1.0 (usb) ACTION=remove <--------------------------------------------------------- ACTION of the device DEVPATH=/devices/pci0000:00/0000:00:0c.0/usb1/1-2/1-2:1.0 DEVTYPE=usb_interface INTERFACE=8/6/80 MODALIAS=usb:v090Cp1000d1100dc00dsc00dp00ic08isc06ip50in00 PRODUCT=90c/1000/1100 <--------------------------------------------------------- ENV{PRODUCT} SEQNUM=2216 SUBSYSTEM=usb <--------------------------------------------------------- " SUBSYSTEM=="type_of_device" TYPE=0/0/0 KERNEL[6206.530551] remove /devices/pci0000:00/0000:00:0c.0/usb1/1-2 (usb) ACTION=remove BUSNUM=001 DEVNAME=/dev/bus/usb/001/010 DEVNUM=010 DEVPATH=/devices/pci0000:00/0000:00:0c.0/usb1/1-2 DEVTYPE=usb_device MAJOR=189 MINOR=9 PRODUCT=90c/1000/1100 SEQNUM=2217 SUBSYSTEM=usb TYPE=0/0/0
4. Menggunakan contoh di atas, Anda dapat membuat aturan untuk menjalankan skrip di /etc/udev/rules.d/ . Misalnya, Anda dapat membuat file baru "5-usbstick-font.rules ", dengan sintaks yang mirip dengan :
# cat /etc/udev/rules.d/5-usbstick-font.rules ACTION=="add", SUBSYSTEM=="usb", ENV{PRODUCT}=="90c/1000/1100", RUN=="/bin/su godiego --command='/home/godiego/run-start.sh'" ACTION=="remove", SUBSYSTEM=="usb", ENV{PRODUCT}=="90c/1000/1100", RUN+="/bin/su godiego --command='/home/godiego/run-stop.sh'"
5. Muat ulang aturan UDEV dengan menjalankan perintah di bawah ini.
# udevadm control --reload
Sekarang, jika Anda memasang atau melepas perangkat USB lagi, skrip yang disesuaikan (seperti run-start.sh atau run-stop.sh) akan dijalankan.