बढ़ते आदेशों के क्रम को स्वचालित करना


9

जब मैं लिनक्स के साथ अपने लैपटॉप में एक डिवाइस (टैबलेट, कैमरा, फ्लैश ड्राइव, एक्सटर्नल हार्डड्राइव) कनेक्ट करता हूं, तो मैं अक्सर कमांड का निम्न क्रम टाइप करता हूं।

$ ls /dev/sd*
मान लीजिए कि मेरा उपकरण / dev / sdc
वैकल्पिक $ sudo mkdir /media/my_flash
वैकल्पिक है$ sudo chmod 777 /media/my_flash
$ sudo mount /dev/sdc /media/my_flash

फिर मैं कुछ फ़ाइलों की प्रतिलिपि बनाऊंगा और

$ sudo umount /dev/sdc

यह अनुक्रम मुझे गारंटी देता है कि फ़ाइलों की प्रतिलिपि बनाई गई है और कुछ भी बुरा नहीं होगा।

क्या आप मुझे बता सकते हैं कि इस क्रम को कैसे स्वचालित किया जाए? इसलिए मैं केवल डिवाइस को प्लग करूंगा, यह पहचान करेगा कि इसे किस निर्देशिका में माउंट किया जाना चाहिए, फिर मैं कुछ फ़ाइल स्थानांतरण करूंगा और फिर यह मुझे संकेत देगा (किसी तरह) मैं डिवाइस को अनप्लग कर सकता हूं? क्या इसके लिए लिनक्स ओएस में कुछ सेटिंग्स हैं?

जवाबों:


6

सिस्टम घटक जो एक हटाने योग्य डिवाइस के कनेक्शन पर प्रतिक्रिया करता है, वह है UW , जैसा कि SHW द्वारा उल्लिखित है । यहां तक ​​कि udv ट्यूटोरियल थोड़ा कठिन हो सकता है; मैं आपको कुछ उदाहरण दिखाता हूँ।

इसमें दो चरण शामिल हैं: /dev/sdcहार्डवेयर डिवाइस के साथ डिवाइस फ़ाइल (जैसे ) को जोड़ना , और फाइल सिस्टम तक पहुंचने के लिए डिवाइस को माउंट करना। उदय की नौकरी पहला कदम है, हालांकि आप इसे बाहरी आदेश जैसे चलाने के लिए कह सकते हैं mount

ज्ञात हटाने योग्य उपकरणों के लिए, मैं एक समर्पित डिवाइस नाम का उपयोग करना पसंद करता हूं /dev/removable(उस निर्देशिका का नाम एक व्यक्तिगत सम्मेलन है)। निम्नलिखित udv नियम (में रखा जाना है /etc/udev/rules.d/my_removable_disks.rules) दो डिस्क के लिए ज्ञात नामों के साथ प्रतीकात्मक लिंक बनाते हैं, दोनों को उनके विभाजन 1 पर फाइल सिस्टम की एक संपत्ति द्वारा पहचाना जाता है:

KERNEL=="sd?", PROGRAM=="/sbin/blkid -o value -s UUID %N1", RESULT=="1234-5678", SYMLINK+="removable/foo"
KERNEL=="sd?", PROGRAM=="/sbin/blkid -o value -s LABEL %N1", RESULT=="Joe's disk", SYMLINK+="removable/joe"

Udv के पुराने संस्करणों को कॉल के बजाय (लेबल के लिए /udev/lib/vol_id -u %N1UUID -l) की आवश्यकता हो सकती है blkid। डिवाइस के विक्रेता और सीरियल नंबर से मिलान करने के लिए और चीजें हैं जो आप पर मेल कर सकते हैं, जैसे ATTRS{vendor}=="Yoyodine", ATTRS{serial}=="XYZZY12345PDQ97"(इसके बजाय PROGRAM==…, RESULT==…)।

तो आप इस तरह से एक लाइन का उपयोग कर सकते हैं /etc/fstab:

/dev/removable/joe  /media/joe  vfat  noauto,user

यदि आप एक स्वचालित माउंट पसंद करते हैं, तो आप , RUN="mkdir /media/foo && mount /dev/removable/foo /media/foo"udv लाइन की तरह कुछ जोड़ सकते हैं । umount /media/fooअनप्लग करने से पहले मत भूलना ।


महान समाधान के लिए धन्यवाद। मेरे पास कुछ बाहरी ड्राइवों पर LVM है, इसलिए अब लंबे समय तक अनुक्रम (VG सक्रियण आदि सहित), अब मैं इस पर बैकअप स्क्रिप्ट भी जोड़ सकता हूं :)।
ग्रेज़गोरज़ वियर्ज़ोवेकी

प्रिय पाठक - यदि आप उपलब्ध एटीटीआरएस के बारे में जानना चाहते हैं, तो अपने डिवाइस के साथ यह कोशिश करें:udevadm info --name=/dev/DEVICE --attribute-walk
ग्रेज़ोगोरज़ वियोरोज़ीकी

8

आप एक UDEV नियम लिखकर ऐसा कर सकते हैं, जो उसी bash कमांड को प्राप्त करने के लिए bash स्क्रिप्ट को "रन" करेगा, जिसका आपने उल्लेख किया है। जब भी आप उक्त उपकरणों को प्लग करते हैं, UDEV इसे पहचान लेगा, और नियम के अनुसार व्यवहार करना शुरू कर देगा।

नियम लेखन के लिए, आप इस लिंक का अनुसरण कर सकते हैं ।


अरे वाह। नहीं पता था कि एक अभी तक - लिंक बुकमार्क करना और इसे मेरे प्रदर्शनों की सूची में जोड़ना।
शादुर

क्या आप कृपया अधिक विशिष्ट हो सकते हैं? लिंक के कौन से पैराग्राफ मेरे लिए प्रासंगिक हैं?
xralf

ऐसा लग रहा है कि जिस चीज की मुझे तलाश है। मेरे पास केवल इन दिनों इसे पढ़ने का समय नहीं है। मैं इसका अध्ययन करूँगा और आपकी टिप्पणी में सही उत्तर को उस समय पेस्ट करूँगा जब मैं इसे समझूँगा। धन्यवाद
xralf

4

आजकल कई ऑटो-बढ़ते डेमन हैं, साथ ही pmountकमांड जो विशेष रूप से उपयोगकर्ताओं को हटाने योग्य उपकरणों को माउंट करने की /mediaआवश्यकता के बिना sudoउपयोग करने की अनुमति देता है।

ग्नोम और केडीई दोनों के कनेक्ट होने पर स्वचालित रूप से हटाने योग्य वॉल्यूम को माउंट करने का विकल्प होता है; आप इस फ़ंक्शन को किस वितरण पर निर्भर करते हैं, यह 'ऑन' के लिए भी डिफ़ॉल्ट हो सकता है।

GNOME में, इस सुविधा को नियंत्रित करने वाले विकल्प के तहत उपलब्ध हैं System -> Preferences -> Removable Media; मुझे केडीई के साथ हाल का कोई अनुभव नहीं है।


मैं इसे स्वतंत्र रूप से विंडो मैनेजमेंट एनवायरनमेंट (जैसे केडीई, गनोम आदि) पर करना चाहता हूं (जैसे कि एक्स शुरू नहीं हुआ था)।
xralf

फिर आपको उस लिंक SHW को पोस्ट करना होगा, और इसके सभी भाग को पढ़ना होगा।
शादुर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.