बहाल करने या पुनः लोड करने के लिए त्वरित तरीका / etc / fstab सेटिंग्स?


11

मैं /etc/fstabएक RHEL 6.x- आधारित सर्वर पर एक जटिल के साथ काम कर रहा हूं । सिस्टम में आठ विभाजन में कई माउंट माउंट विकल्प हैं, जिसमें कई बाइंड माउंट भी शामिल हैं। मैं विकल्पों और उनके प्रभाव का परीक्षण कर रहा हूँ जो मैं काम कर रहा हूँ।

जैसे विकल्पों की तरह nodev, nosuid, noexec, nobarrierऔर कई XFS फाइल सिस्टम पैरामीटर स्थान पर हैं।

जबकि मुझे पता है कि यह विशिष्ट विकल्पों के साथ रीमाउंट करना संभव है, क्या हार्डकोड में लगातार सेटिंग्स के लिए सभी माउंट्स को वापस करने का एक त्वरित तरीका है /etc/fstab?

उदाहरण के लिए sysctl -p, /etc/sysctl.confमूल्यों को लोड करता है और उन्हें लागू करता है। क्या कोई mountसमकक्ष है?


संपादित करें:

एक उदाहरण विन्यास:

#
# /etc/fstab
#
UUID=e6ca80cd    /                       ext4    noatime,nobarrier        1 1
UUID=a327d315    /boot                   ext4    defaults                 1 2
UUID=333ada18    /home                   ext4    noatime,nobarrier,nodev  1 2
UUID=7835718b    /tmp                    ext4    nodev,nosuid,noexec      1 2
UUID=4dd2e9d4    /usr                    ext4    defaults                 1 2
UUID=c274f65f    /var                    ext4    noatime,nobarrier        1 2
UUID=5b5941e0    /var/log                ext4    defaults                 1 2
UUID=3645951a    /var/log/audit          ext4    defaults                 1 2
UUID=3213123c    /vol1                   xfs     noatime,logbufs=8,nobarrier 1 2
UUID=1ee1c070    swap                    swap    defaults                 0 0
# Bind mount for /tmp
/tmp             /var/tmp                none    bind                     0 0
tmpfs            /dev/shm                tmpfs   nodev,nosuid,noexec      0 0
devpts           /dev/pts                devpts  gid=5,mode=620           0 0
sysfs            /sys                    sysfs   defaults                 0 0
proc             /proc                   proc    defaults                 0 0

बेशक, एक डेवलपर आवेदन स्थापित करने के लिए अनुमति पर अमल करने के लिए कहता है /tmp...

मुझे पता चल रहा है कि remountडिवाइस को निर्दिष्ट किए बिना और (फिर से) माउंटपॉइंट के बिना इस सिस्टम पर विकल्प काम नहीं करता है । यह एक सुरक्षा-कठोर सर्वर है, इसलिए जिन मुद्दों को मैं देख रहा हूं, वे सेलाइनक्स-संबंधित हो सकते हैं या बाइंड माउंट्स का परिणाम हो सकते हैं, या हो सकता है कि यहां तक ​​कि नकारात्मक विकल्पों की उपस्थिति (नोक्सेक बनाम निष्पादन) ...


क्या डेवलपर स्क्रिप्ट को सीधे शेल या वेब (httpd) के माध्यम से निष्पादित करने की कोशिश कर रहा है? जब आप किसी स्क्रिप्ट को निष्पादित करने का प्रयास करते हैं तो आप क्या त्रुटि संदेश देखते हैं?
डैनियल टी।

इसे एक सामान्य तृतीय-पक्ष एप्लिकेशन इंस्टॉलर के रूप में सोचें जो एक बाइनरी या शेल को निष्पादन योग्य बनाता है /tmp। उदाहरण के लिए ओरेकल।
ewwhite

यह एक SELINUX मुद्दा हो सकता है, आप ausearch -m AVC,USER_AVC -sv noकिसी भी tmpत्रुटि के लिए आउटपुट के माध्यम से कोशिश कर सकते हैं।
डैनियल टी।

जवाबों:


9

इसे बाश में टाइप करें:

egrep -v '^#' /etc/fstab | while read dev dir type opts dump pass ; do
    echo "mount -o remount,${opts} ${dir}";
done

मेरे सिस्टम पर, यह इस तरह आउटपुट उत्पन्न करता है:

mount -o remount,nodev,noexec,nosuid /proc
mount -o remount,relatime,errors=remount-ro /
mount -o remount,defaults /misc

इसे अपने सिस्टम पर आज़माएँ। यदि आपको इसका उत्पादन पसंद है, तो इसका उपयोग करें, या echoऊपर दिए गए कमांड से केवल और दोहरे उद्धरण चिह्नों को हटा दें ।


आप शायद जोड़ने की जरूरत है $dev, भी वहाँ में ...
Freiheit

4

मैं इसे संबंधित फाइल सिस्टम के लिए करने के लिए स्क्रिप्ट का उपयोग करूंगा

for fs in /home /var /whatever
do
    mount -o remount "$fs"
done

-fअगर आपको एक या एक से अधिक fs व्यस्त हो सकते हैं, तो आपको वहाँ भी डालने की आवश्यकता हो सकती है

mount -f -o remount "$fs"

3

से mountमैनपेज :

रिमाउंट कार्यक्षमता मानक तरीके का पालन करती है कि माउंट कमांड fstab से विकल्पों के साथ कैसे काम करता है। इसका मतलब है कि माउंट कमांड केवल एक डिवाइस और डीआईआर पूरी तरह से निर्दिष्ट होने पर fstab (या mtab) नहीं पढ़ता है।

  mount -o remount,rw /dev/foo /dir

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

  mount -o remount,rw  /dir

तो mount -o remount /mountpointमें विकल्पों को पुनर्स्थापित करना चाहिए /etc/fstab:

mgorven@mamma:~% grep boot /etc/fstab
UUID=823c73dc-8f64-4f76-a120-968106ffdf5a /boot           ext4    relatime        0       2
mgorven@mamma:~% sudo mount -o remount,ro /boot
mgorven@mamma:~% mount | grep boot
/dev/sda4 on /boot type ext4 (ro,relatime)
mgorven@mamma:~% sudo mount -o remount /boot
mgorven@mamma:~% mount | grep boot
/dev/sda4 on /boot type ext4 (rw,relatime)

यह मेरे मामले में काम नहीं किया, लेकिन सिस्टम पर अन्य कारकों का एक परिणाम हो सकता है। ऊपर अद्यतन fstab देखें।
18

@ मैं आपके fstab विकल्पों का उपयोग करके समस्या को पुन: उत्पन्न नहीं कर सकता, इसलिए कुछ और चल रहा है।
19

0

क्या आप / etc / fstab और रिबूटिंग के माध्यम से माउंट झंडे की गतिशीलता को बदल रहे हैं?

आप निम्नलिखित नहीं कर सकते हैं (उदाहरण के लिए):

 mount -o remount /usr

/ etc / fstab से मूल विकल्पों को पुनर्स्थापित करने के लिए? आप बिना तर्क के माउंट कमांड का उपयोग करके माउंट किए गए विकल्पों की जांच कर सकते हैं।


0

सिस्टम के अप एंड रन होने के बाद आप एक कठिन समय को दूर करने वाले फाइल सिस्टम जैसे / usr और / var पर जा रहे हैं। उदाहरण के लिए, आलसी रीमाउंटिंग, शायद केवल एक सफलता लौटाएगा लेकिन वास्तव में अनुरोधित रिमाउंट को निष्पादित करने का अवसर नहीं मिलेगा क्योंकि सिस्टम के पूरे जीवन को चलाने के लिए फ़ाइल हैंडल को रखा जाएगा।

यदि यह एक विकास छवि है, जैसा कि यह लगता है, तो मैं प्रत्येक परीक्षण के लिए सिस्टम को ठीक से बूट करने की सलाह देता हूं। यह थकाऊ है, लेकिन कम से कम तब आपको पता है कि सिस्टम उत्पादन में जिस तरह से चल रहा है, उसके लिए आपको पता है, इसलिए आपका परीक्षण विश्वसनीय है।

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