डिस्क को माउंट करने के लिए उदय नियम काम नहीं करता है


9

मेरे पास /etc/udev/rules.d/81-external-disk.rules में निम्नलिखित सामग्री है:

ENV{ID_FS_UUID}=="6826692e-79f4-4423-8467-cef4d5e840c5", RUN{program}+="/bin/mount -o nofail,x-systemd.device-timeout=1 -t ext4 -U 6826692e-79f4-4423-8467-cef4d5e840c5 /backup/external"

चलने के बाद:

udevadm control --reload ; udevadm trigger /dev/sdb1

यह कुछ भी नहीं करता है। हालाँकि यदि II माउंट कमांड को कुछ के लिए बदलता है जैसे / बिन / टच / tmp / xyz यह काम करता है।

संस्करण:

[root@helsinki rules.d]# rpm -qa | grep udev
libgudev1-219-19.el7_2.12.x86_64
python-pyudev-0.15-7.el7_2.1.noarch
[root@helsinki rules.d]# rpm -qa | grep systemd
systemd-libs-219-19.el7_2.12.x86_64
systemd-219-19.el7_2.12.x86_64
systemd-sysv-219-19.el7_2.12.x86_64
[root@helsinki rules.d]# cat /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core) 

जवाबों:


18

यह एक सिस्टमड फीचर है। मूल udevकमांड को systemd-udevdउसके मैन पेज से बदल दिया गया है । मतभेदों में से एक यह है कि यह अपना स्वयं का फाइल सिस्टम नामस्थान बनाता है, इसलिए आपका माउंट किया जाता है, लेकिन यह प्रमुख नामों में दिखाई नहीं देता है। (आप systemctl status systemd-udevdसेवा के मुख्य पीआईडी ​​को प्राप्त करने के लिए ऐसा कर सकते हैं , फिर /proc/<pid>/mountinfoअपने फाइल सिस्टम के लिए सामग्री देख सकते हैं )।

यदि आप निजी फाइल सिस्टम नेमस्पेस के बजाय एक साझा करने के लिए वापस जाना चाहते हैं, तो /etc/systemd/system/systemd-udevd.serviceसामग्री के साथ एक फ़ाइल बनाएं

.include /usr/lib/systemd/system/systemd-udevd.service
[Service]
MountFlags=shared 

या एक नई निर्देशिका और /etc/systemd/system/systemd-udevd.service.d/myoverride.confसिर्फ अंतिम 2 लाइनों के साथ फ़ाइल , यानी

[Service]
MountFlags=shared

और systemd-udevd सेवा को पुनः आरंभ करें। मुझे ऐसा करने के निहितार्थ नहीं मिले।


हां, मैंने इस तरह के वर्कअराउंड को लागू किया है, मुझे आश्चर्य है कि अगर सुरक्षा निहितार्थ भी हैं।
sebelk

1
बहुत यकीन है कि यह तब तक काम नहीं करता जब तक कि मैं [Service]उन दो पंक्तियों के बीच नहीं जोड़ा ।
गोल्डीलॉक्स

1
@goldilocks आप शायद सही हैं। मैंने जवाब में इसे जोड़ा, धन्यवाद। यह निर्भर हो सकता है कि शामिल फ़ाइल में अंतिम अनुभाग क्या था, लेकिन ऐसा लगता है कि systemd अब आपको *.d/*.confबदलाव करने के तरीके का उपयोग करना पसंद करता है , क्योंकि .includeयह डॉक्यूमेंटेड नहीं लगता है।
मयूह

12

यह एक ही समस्या उबंटू 18.04 में समान अंतर्निहित कारण के साथ होती है। इसे ठीक करने के लिए हम एक ओवरराइड फ़ाइल बनाते हैं systemd-udevd:

sudo systemctl edit systemd-udevd

और इसमें डालें:

[Service]
MountFlags=shared

फ़ाइल सहेजें और फिर निष्पादित करें:

sudo systemctl daemon-reload
sudo service systemd-udevd --full-restart

यह रास्पबेरी (रास्पियन 9 "खिंचाव") पर एक आकर्षण की तरह काम करता था। धन्यवाद!
मैक्सवेल लेइट

2
यह यूएसबी ड्राइव के लिए कोई ऑटोमाउंट की समस्या को हल करने के लिए मेरे उबंटू 18.04 के लिए काम नहीं करता था।
यू शेन

उबुन्टु 18.04 में काम किया। @YuShen, आप अपने udv नियमों की जांच करना चाहते हैं।
ग्रेग बेल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.