क्या लिनक्स में पोस्ट-माउंट और प्री-ऑमाउंट स्क्रिप्ट प्रदान करने का एक तरीका है?
मैं स्टोरेज मीडिया पर कुछ स्क्रिप्ट्स करने की कोशिश कर रहा हूं जब माउंट किया गया और umounting से पहले (जैसे, सिंकिंग के लिए)।
किसी भी मदद की सराहना की।
क्या लिनक्स में पोस्ट-माउंट और प्री-ऑमाउंट स्क्रिप्ट प्रदान करने का एक तरीका है?
मैं स्टोरेज मीडिया पर कुछ स्क्रिप्ट्स करने की कोशिश कर रहा हूं जब माउंट किया गया और umounting से पहले (जैसे, सिंकिंग के लिए)।
किसी भी मदद की सराहना की।
जवाबों:
यदि आप ऐसा करने की कोशिश कर रहे हैं जो लोगों /sbin/mount
और /sbin/umount
कमांड को आमंत्रित कर रहे हैं , तो आपको बस इतना करना होगा कि आप दोनों के लिए एक रैपर प्रोग्राम बनाएं और इन रैपर प्रोग्राम्स में जो आप चाहते हैं उसे प्रोग्राम करें।
एक आवरण कार्यक्रम किया जा रहा है की जगह /sbin/mount
आवरण प्रोग्राम है जो वास्तविक कॉल के साथ /sbin/mount
(जैसे कुछ नाम दिया /sbin/mount-real
या /sbin/umount-real
)। वास्तविक प्रोग्राम को कॉल करने से रोकने के लिए, इसे प्रतिबंधित करने के लिए समूह अनुमतियों का उपयोग करें और आवरण कार्यक्रमों पर SGID बिट सेट करें।
यदि आप mount(2)
लाइब्रेरी कॉल को ठीक करना चाहते हैं , तो यह एक अच्छा प्रयास है और शायद मुश्किल है और शायद यह उचित नहीं है क्योंकि इससे आंतरिक प्रणालियों के लिए विशेष रूप से स्टार्टअप और शटडाउन के दौरान समस्या हो सकती है।
रैपर प्रोग्राम के साथ भी आपको सिस्टम के व्यवधान से बचने के लिए पूरी तरह से परीक्षण करना होगा और उचित समायोजन करना होगा।
आप शायद एक inotify कर्नेल हुक का उपयोग कर सकते हैं , हालांकि एक पूर्व-अनमाउंट घटना वास्तव में पकड़ने के लिए मुश्किल हो सकती है क्योंकि मुझे यकीन नहीं है कि निर्देशिका के बाहर होने से पहले कोई इनॉटिफ़ाइ इवेंट भेजा गया है।
/media
या /mnt
), लेकिन ऐसा नहीं कि उस डायरेक्टरी में फाइलसिस्टम माउंट किया गया है।
सबसे सरल उपाय जो शायद हमेशा के लिए काम करने वाला है, वह है प्रदूषण /etc/mtab
या /proc/mounts
। एक बार उस फ़ाइल में बदलाव किया जाता है, तो इसका मतलब है कि या तो कुछ माउंट हो गया या अनमाउंट हो गया। फिर आपको उस डिवाइस की जांच करनी होगी जिसे आप चाहते हैं।
Udev सबसे अच्छा समाधान नहीं है क्योंकि यह आपको बताता है कि क्या एक उपकरण जुड़ा हुआ है। यह नहीं कहता कि डिवाइस वास्तव में माउंट किया गया है या नहीं। यह कभी-कभी काम कर सकता है लेकिन यह एक घिनौना समाधान है जो किसी बिंदु पर टूट जाएगा और आप अपने बालों को बाहर खींच लेंगे।
आप ऐसा करने के लिए एक udv नियम लिख सकते हैं। मैं एक usb ड्राइव के लिए स्वचालित रूप से सामान का बैकअप लेने के लिए कुछ इस तरह का उपयोग किया है । मजेदार चीजें।