तुरंत डेटा को रिकॉर्ड करने के लिए कॉन्फ़िगर कैसे करें?


12

यदि मैं अपने पेनड्राइव पर फ़ाइलों को संपादित करता हूं, और फिर इसे केवल भौतिक रूप से हटा देता हूं, तो डेटा रिकॉर्ड नहीं किया जाएगा। मुझे "बेदखल" पर क्लिक करना होगा, और इसलिए एलईडी को झपकी लेना शुरू हो जाएगा, और डेटा रिकॉर्ड होना शुरू हो जाएगा।

मैं इसे कैसे बदल सकता हूं, ताकि परिवर्तित होने पर डेटा तुरंत दर्ज किया जाए?

अद्यतन: Ubuntu 11.10

उबंटू 11.10 में मैंने नियम फ़ाइल ( @enzotib उत्तर से) लिखी है , और काम करता है, लेकिन जब मैं बेदखल करने की कोशिश करता / करती हूं तो निम्न संदेश देता है:

यहाँ छवि विवरण दर्ज करें

(क्या मुझे Ubuntu 11.10 के लिए एक और सवाल शुरू करना चाहिए?)


2
प्रदर्शन कम होगा क्योंकि राइट कैश अब उपयोग नहीं किया जाता है। इजेक्ट / अनमाउंट विकल्पों का उपयोग करके विभाजन को ठीक से अनमाउंट करें या आप डेटा खो देंगे।
लेकेनस्टाइन

4
syncविभाजन बढ़ते समय आप विकल्प का उपयोग कर सकते हैं । हालांकि यह नाटकीय रूप से थंबड्राइव को लिखने की संख्या बढ़ाता है, यह अनुशंसित नहीं है।
व्यवस्थित करें

2
@ ubuntu के रूप में व्यवस्थित करें automount, क्या इसे syncडिफ़ॉल्ट रूप में रखने का एक तरीका है , इसलिए मुझे हर बार टर्मिनल में ऐसा करने की आवश्यकता नहीं है? और मुझे पता है कि यह नाटकीय रूप से लिखों की संख्या में वृद्धि करेगा, फिर भी मैं यही चाहता हूं। धन्यवाद!
टॉम ब्रिटो


@ अरेंज ने इसे देखा, लेकिन यह अभी भी एक पूर्ण उत्तर नहीं है ...
टॉम ब्रिटो

जवाबों:


8

उस प्रश्न (और उत्तर) के बाद जो @arrange उनकी टिप्पणी में दिखाता है, चलो एक नई फ़ाइल बनाते हैं

/etc/udev/rules.d/11-media-by-label-auto-mount.rules

और इसमें निम्नलिखित सामग्री लिखें (देखें udev :: माउंट अंडर / मीडिया; यदि मौजूद हो तो विभाजन लेबल का उपयोग करें )

KERNEL!="sd[a-z][0-9]", GOTO="media_by_label_auto_mount_end"

# Import FS infos
IMPORT{program}="/sbin/blkid -o udev -p %N"

# Get a label if present, otherwise specify one
ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}"
ENV{ID_FS_LABEL}=="", ENV{dir_name}="usbhd-%k"

# Global mount options
ACTION=="add", ENV{mount_options}="relatime,sync"
# Filesystem-specific mount options
ACTION=="add", ENV{ID_FS_TYPE}=="vfat|ntfs", ENV{mount_options}="$env{mount_options},utf8,uid=1000,gid=1000,umask=002"

# Mount the device
ACTION=="add", RUN+="/bin/mkdir -p /media/%E{dir_name}", RUN+="/bin/mount -o $env{mount_options} /dev/%k /media/%E{dir_name}"

# Clean up after removal
ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l /media/%E{dir_name}", RUN+="/bin/rmdir /media/%E{dir_name}"

# Exit
LABEL="media_by_label_auto_mount_end"

मैंने वेबसाइट पर रिपोर्ट के संबंध में कुछ छोटे संशोधन किए हैं

  • में syncविकल्प जोड़ा गयाENV{mount_options}
  • gid=100विकल्प को संशोधित किया uid=1000,gid=1000, जहां संख्या आपके द्वारा उपयोग की गई आईडी और समूह-आईडी के सापेक्ष है, जैसा कि इसके द्वारा लौटाया गया है id -uऔरid -g

दूसरा आपको घुड़सवार विभाजन पर सभी फ़ाइलों का स्वामी बनाता है, इसलिए कोई अनुमति समस्या उत्पन्न नहीं हो सकती है। स्पष्ट रूप से यह मामला नहीं है यदि एक से अधिक उपयोगकर्ता को फ़ाइलों तक पहुंच प्राप्त करनी चाहिए, लेकिन इसे अन्य तरीकों से भी नियंत्रित किया जा सकता है।

गैर-विंडोज फाइल सिस्टम के लिए, स्वामी और समूह फाइल सिस्टम पर मेटाडेटा हैं, और माउंट विकल्प द्वारा नहीं बदला जा सकता है।

नया नियम (तुरंत सक्रिय है udev का उपयोग करता है inotify नए और संशोधित नियम फ़ाइलों का पता लगाने के लिए)।

माउंट की गई ड्राइव स्वचालित रूप से किसी फ़ाइल प्रबंधक विंडो में नहीं खुलती है, जैसा कि आप देख सकते हैं, और यह प्राप्त करना मुश्किल है, यह देखते हुए कि बढ़ते प्रक्रिया रूट के स्वामित्व में है, और आपके ग्राफ़िकल लॉगिन सत्र तक पहुंच नहीं है। लेकिन ड्राइव आपके डेस्कटॉप पर है, इसलिए एक साधारण डबल-क्लिक इसे खोल देगा।

दुर्भाग्य से मुझे काम करने के लिए डेस्कटॉप पर राइट-क्लिक नहीं किया जा सकता है, लेकिन यह एक बड़ी समस्या नहीं है: syncजगह में विकल्प होने से , आप बस डिवाइस को अनप्लग कर सकते हैं, और udev नियम /proc/mountsमाउंट से प्रवेश को हटाने और हटाने का ख्याल रखता है- बिंदु।


मैं यह लिखने के लिए कैसे नहीं मिल सकता है, यह करने के लिए धन्यवाद;) और मैं भी काम करने के लिए उपयोगकर्ता को नहीं मिल सका, ऐसा लगता है कि usersविकल्प केवल fstabफ़ाइल में मान्य है ... यह नहीं है यहाँ एक समस्या है ("सिंक"), लेकिन एक सामान्य के लिए यह कैसे होगा।
व्यवस्थित करें

जवाब के लिए धन्यवाद। दुर्भाग्य से, वर्णित करने के बाद, मैं पेनड्राइव पर किसी भी फाइल को बना, संपादित या हटा नहीं सका। इसके अलावा, जब मैं इसे प्लग करता हूं तो यह अपने आप विंडो को खोलना नहीं है। कोई उपाय?
टॉम ब्रिटो

वैसे, मैंने माना है कि आपने "वॉले" टाइप किया हुआ एक्सटेंशन गलत है, और मैंने उस फ़ोल्डर में अन्य फ़ाइलों का समान उपयोग किया: ".rules"।
टॉम ब्रिटो

प्रलेखन उपयोग करने के लिए विशिष्ट एक्सटेंशन के बारे में बात नहीं करता है। वैसे मैंने साइट से गलत कॉपी की है, इसलिए .rulesसुरक्षित होने के लिए उपयोग करना बेहतर है । बाकी के लिए, संपादित उत्तर देखें।
enzotib

अरे, मैं Ubuntu ११.१० पर हूं, और एक अलग व्यवहार है। कृपया, मेरा अपडेट देखें।
टॉम ब्रिटो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.