जब कोई नया उपकरण दिखाई देता है, तो udev को सूचित किया जाता है। यह सामान्य रूप से /devअंतर्निहित रूल्स के आधार पर डिवाइस फ़ाइल बनाता है । आप डिवाइस फ़ाइल स्थान को बदलने या एक मनमाना कार्यक्रम चलाने के लिए इन नियमों को ओवरराइड कर सकते हैं। यहाँ इस तरह के udev नियम का एक नमूना दिया गया है:
KERNEL=="sd*", ATTRS{vendor}=="Yoyodine", ATTRS{serial}=="123456789", NAME="keepass/s%n", RUN+="/usr/local/sbin/keepass-drive-inserted /dev/%k%n"
NAME=निर्देश उपकरण फ़ाइल का स्थान बदलता है, मैं इसे समझाने के उद्देश्य से शामिल है, लेकिन यह शायद आपके उपयोग के मामले के लिए उपयोगी नहीं है। ATTRSनियम डिवाइस की पहचान; चलाने udevinfo -a -n /dev/sdzजब ड्राइव उपलब्ध है के रूप में /dev/sdzक्या गुण यह है देखने के लिए। सावधान रहें कि आप केवल इनपुट के ATTRSएक खंड से नियमों का udevinfoउपयोग कर सकते हैं (इसके अलावा, आप ATTRप्रारंभिक अनुभाग से नियमों का उपयोग कर सकते हैं )। अधिक पृष्ठभूमि के लिए `udevadm जानकारी -a -n / dev / sdb` का आउटपुट देखें । यह नियम एक फाइल में जाता है जिसे कुछ कहा जाता है /etc/udev/rules.d/local-storage-keypass.rules।
RUNनिर्देश में दी गई स्क्रिप्ट में आप जो कमांड चलाना चाहते हैं, उसे डालें । कुछ इस तरह:
#!/bin/sh
set -e
if [ -d /media/keypass-drive ]; then
[ "$(df -P /media/keypass-drive | awk 'NR==2 {print $1}')" = "$(df -P /media | awk 'NR==2 {print $1}')" ]
else
mkdir /media/keypass-drive
fi
mount "$1" /media/keypass-drive
su ereon -c 'keypass2' &
यदि आपको udev से शुरू की गई स्क्रिप्ट से GUI प्रोग्राम चलाने में समस्या हो रही है, तो क्या मैं रूट के रूप में किसी अन्य उपयोगकर्ता के डेस्कटॉप पर ग्राफ़िकल प्रोग्राम लॉन्च कर सकता हूं?
¹ आधुनिक सिस्टम पर नहीं जहां /devudvtmpfs पर है।
udevadm info -a -n /dev/sdX, तो आप कई पूर्वजों के आधार पर मेल नहीं खा सकते हैं। आप केवल डिवाइस से डेटा, और एकल पूर्वज पर आधारित मिलान कर सकते हैं। यह कवर किया गया हैman 7 udev, लेकिन आसानी से अनदेखी की गई एक छोटी टिप्पणी है।