सीडी / डीवीडी ड्राइव नियम: माउंट ड्राइव ऑन इनसर्ट "/ मीडिया / डीवीडी"
ऐसा करें यदि आप ऑटो-माउंटिंग को कुछ नियंत्रण के साथ पुनर्स्थापित करना चाहते हैं तो यह कैसे किया जाता है।
- माध्यम के सम्मिलन पर ऑटो-माउंट आरोह बिंदु
- विशिष्ट अनुमतियों के साथ बिंदु को माउंट करने के लिए ऑटो-माउंट माध्यम
- माध्यम हटाने पर ऑटो-रिम माउंट बिंदु
क्रिया: CD / DVD ट्रे में मीडिया है और इसे अंदर खींच लिया गया है
आपको इस क्रिया पर प्रतिक्रिया करने के लिए अपने सिस्टम को बताना होगा। आप इसे एक माउंट स्क्रिप्ट (कोई भी कस्टम स्क्रिप्ट) चला सकते हैं। ऐसा करने के लिए, आपको फ़ोल्डर में एक नया नियम बनाने की आवश्यकता है lib/udev/rules.d
। इन कमांडों को रूट के रूप में चलाने की आवश्यकता है ( sudo
इन्हें रूट के रूप में चलाने के लिए निम्न कमांड के लिए उपसर्ग का उपयोग करें या रूट यूजर बनेंsudo -s
- एक नई फ़ाइल बनाएं और इसे ऑटोडेव्ड.रुल्स कहें
touch /lib/udev/rules.d
- अपनी सीडी / डीवीडी ड्राइव के बारे में जानकारी के लिए खोज करें
udevadm info --query=all --attribute-walk --name=/dev/sr0
(रूट आवश्यक नहीं है, लेकिन दोनों तरीकों से काम करता है) कुछ ऐसा देखें जो आपकी ड्राइव को विशिष्ट रूप से पहचानता है (बेहतर या बेहतर रूप से मैंने उठाया है ATTRS{vendor}=="HL-DT-ST"
, जो मेरी ड्राइव है (आपका तब तक अलग होगा जब तक आप मेरे जैसा ही ड्राइव करने के लिए)) इसे बाद के लिए कहीं और कॉपी करें। आप इस फ़ाइल को देखने के लिए कुछ समय ले सकते हैं और इसकी तुलना नीचे दिए गए नियम उदाहरण से कर सकते हैं। इसमें SUBSYSTEM और ATTRS मिल सकते हैं।
- अपना नया नियम संपादित करें (आप जो भी संपादक चुनते हैं उसका उपयोग कर सकते हैं, मैं उपयोग करता हूं
vim /lib/udev/rules.d
, लेकिन nano /lib/udev/rules.d
काम भी करता है और आसान है। इन चीजों को जोड़ें। आपका एटीटीआरएस संपादन आपके लिए मेल खाने के लिए है (यह संवेदनशील हिस्सा है, आपको एक अलग विशेषता चुननी पड़ सकती है अगर यह काम नहीं करता है) और अपने और आपके क्षेत्र को सही करें:
KERNEL=="sr[0-9]*", SUBSYSTEM=="block", ATTRS{vendor}=="HL-DT-ST", SYMLINK+="dvdburner", OWNER="YOURUSER", GROUP="YOURGROUP" ACTION=="change",RUN+="/home/YOURUSER/Scripts/Bash/automountdvd.sh"
KERNEL=="sr[0-9]*"
यह सब परीक्षण सिर्फ साधन scsi
उपकरणों (sr0-SR9)
SYMLINK
ड्राइव करने के लिए सिर्फ एक प्रतीकात्मक कड़ी है (जैसे /dev/cdrom
असली करने के लिए है /dev/sr0
)
आपको सभी udv नियमों को पुनः लोड करने की आवश्यकता हो सकती है:
udevadm control --reload rules
reload udev
udevadm trigger
माउंट स्क्रिप्ट
निम्न को जैसे कहीं भी सहेजें: /home/YOURUSER/Scripts/Bash/automountdvd.sh
यस और यारूप फील्ड को सही करें। ओह, इस स्क्रिप्ट को उपयोगकर्ता फ़ोल्डर में रखना खतरनाक है, क्योंकि यह रूट द्वारा चलाया जाएगा, जिसका अर्थ है कि यदि कोई आपके उपयोगकर्ता फ़ोल्डर को हैक करता है, तो वे स्क्रिप्ट को समायोजित कर सकते हैं कि वे जो चाहें और रूट इसे चलाएंगे (आदि) और संभावना सफल है, क्योंकि रूट उपयोगकर्ता का सिस्टम पर पूरा नियंत्रण है) संभवतः इसे उस फ़ोल्डर में छिपाने के लिए बेहतर है जो केवल रूट देख सकता है। यदि आप प्रयोग कर रहे हैं, तो यह ठीक है।
#!/bin/bash
{
mountpoint="/media/DVD"
user=YOURUSER
group=YOURGROUP
uid=$(id -u ${user})
gid=$(id -g ${group})
FS_TYPE="`blkid /dev/sr0 | grep -o 'udf'`"
if [ ${FS_TYPE} == 'udf' ]; then
echo "ID_CDROM_MEDIA set to 1, creating ${mountpoint} and attempting to mount DVD."
mkdir -p ${mountpoint} && chown ${user}:${group} ${mountpoint}
mount -t ${FS_TYPE} -o ro,uid=${uid},gid=${gid} /dev/sr0 ${mountpoint}
echo "DVD mounted at ${mountpoint}."
else
echo "Attempting to unmount -l ${mountpoint}."
umount -l ${mountpoint}
rm -rf ${mountpoint}
echo "Unmounting ${mountpoint} and removing folder ${mountpoint}."
fi
} &>> "/var/log/autodvd.log" &
mkdir anythingAtAll; sudo mount /dev/sr0 anythingAtAll