सवाल मैं फ्रीबीएसडी ऑटोमॉउंटर को छोटे टुकड़ों में काटने और तेल में उबालने जा रहा हूं


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

मेरा पहला विचार बस उपयोग करने के लिए था nullfs चढ़ना /home जेल के अंदर, लेकिन nullfs अधीनस्थ फाइल सिस्टम तक पहुंचने का कोई तरीका नहीं प्रदान करता है।

मेरा दूसरा विचार एनएफएस के माध्यम से निर्देशिकाओं को निर्यात करना था और फिर प्रत्येक जेल के अंदर ऑटोमॉन्टर डिमन (एमएमडी) चलाया गया था। यह सिर्फ काम करेगा ... अगर जेल के अंदर एनएफएस माउंट करना संभव था। लेकिन ऐसा नहीं है।

मेरा तीसरा विचार मेजबान और प्रावधान पर एमडी चलाने के लिए था nullfs जेलों में माउंट ... लेकिन एमडी समर्थन के लिए nullfs अस्तित्व में नहीं है

मेरा चौथा विचार एनएफएस का उपयोग कर निर्देशिकाओं को निर्यात करने के लिए वापस जाना था, क्योंकि एनएफएस के साथ एमडी काम करता है, है ना? दुर्भाग्यवश, लक्ष्य माउंटपॉइंट पर निर्देशिका को घुमाने के बजाय, एएमडी चीजों को अस्थायी स्थान पर माउंट करना पसंद करता है (/.amd_mnt/...) और फिर एक सिम्लिंक बनाएं ... जो, ज़ाहिर है, जेल पर्यावरण के अंदर बेकार है।

तो शायद आप उपयोग कर सकते हैं nullfs की एक उपनिर्देशिका का पर्दाफाश करने के लिए /.amd_mnt जेल में? नहीं! यह हमें अपने पहले प्रयास में वापस लाता है, जिसमें हम पाते हैं कि अधीनस्थ फाइल सिस्टम का उपयोग करने का कोई तरीका नहीं है nullfs

और फिर मेरे सिर विस्फोट हुआ।

क्या मैं ऐसा करने का प्रयास कर रहा हूं जिसके लिए मैं कोशिश कर रहा हूं? ए खराब समाधान कई जेल बनाने वाली जेल को बूट करने के बाद एक स्क्रिप्ट चलाने के लिए होगा nullfs प्रत्येक होम निर्देशिका के लिए माउंट पॉइंट्स, लेकिन यह बहुत खराब है - इसे नई निर्देशिकाओं या हटाए गए निर्देशिकाओं को ध्यान में रखने के लिए समय-समय पर चलाने की आवश्यकता होगी। तो मूल रूप से मुझे एक बुरा automounter लिखना होगा।

इसके लिए अवश्य ही एक बेहतर तरीका होना चाहिए। ' मेरी मदद करो, सर्वरफॉल्ट, आप मेरी एकमात्र आशा है!

अद्यतन 1: यह मेरे लिए हुआ कि मैं समस्या का हिस्सा हल करने में सक्षम हो सकता हूं pam_mount, हालांकि यह सबसे अच्छा अधूरा होगा। साथ ही, यह दस्तावेज़ीकरण से स्पष्ट नहीं है या नहीं pam_mount स्वचालित रूप से लक्ष्य माउंटपॉइंट बना सकते हैं। यदि इसे माउंटपॉइंट की प्राथमिकता मौजूद होने की आवश्यकता है, तो यह समाधान खराब ऑटोमॉन्टर से बेहतर नहीं होगा जो मैंने पहले ही प्रस्तावित किया है।

अद्यतन 2: जैसा कि नीचे दिए गए उत्तरों में चर्चा की गई है, सेटिंग VFCF_JAIL एनएफएस फाइल सिस्टम पर जेलों को एनएफएस माउंट करने की अनुमति देता है। दुर्भाग्यवश, ऑटोमॉन्टर व्यवहार करना जारी रखता है जो अनुपयोगी है, और जब जेल में चलाया जाता है तो इस तरह से गड़बड़ी करने में बहुत अच्छा लगता है कि प्रक्रिया प्रविष्टि को हटाने के लिए सिस्टम रीबूट आवश्यक है।


38
2018-06-16 13:20


मूल


और यदि आप उन सुविधाओं को फ्रीबीएसडी पर बंद करने के इच्छुक हैं जो शानदार होंगे। गंभीरता से, मानक लिनक्स ऑटोमाउंटर का व्यवहार इसके लिए भी सही होगा, क्योंकि यह वास्तव में symlinks का उपयोग करने के बजाय लक्ष्य माउंटपॉइंट पर फाइल सिस्टम को माउंट करता है। - larsks
मैं समय की गंभीर कमी को दोषी ठहराता हूं। और शायद प्रेरणा की कमी का थोड़ा सा ...>।> - Ignacio Vazquez-Abrams
भयानक शीर्षक के लिए पूरी तरह से +1। :) - Shauna
यह मुझे चिंतित करता है कि निष्पादन की आपकी विशेष विधि कितनी विशिष्ट है - Mark Henderson♦
ओह, @ विल्शशायर, आप कोई मजेदार नहीं हैं। - larsks


जवाब:


क्यों, हैलो वहाँ लार्स! यह एक आकर्षक सवाल है जिसे आपने पूछा है, और कुछ शोध के बाद मुझे आपके लिए जवाब मिल सकता है।

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

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

और याद रखें...

           ___________    ____                                           
    ______/   \__//   \__/____\                             
  _/   \_/  :           //____\\                             
 /|      :  :  ..      /        \                         
| |     ::     ::      \        /                             
| |     :|     ||     \ \______/     Don't try to rebuild the
| |     ||     ||      |\  /  |        kernel remotely because
 \|     ||     ||      |   / | \         you know you're just
  |     ||     ||      |  / /_\ \        going to hose the server.
  | ___ || ___ ||      | /  /    \    
   \_-_/  \_-_/ | ____ |/__/      \   
                _\_--_/    \      /   
               /____             /  
              /     \           /    
              \______\_________/     

25
2018-06-17 19:51



धन्यवाद, लार्स; काश मैं आपकी सलाह लेता था, क्योंकि अब मैं सर्वर तक नहीं पहुंच सकता और मुझे तब तक इंतजार करना पड़ेगा जब तक कि मैं इसे आज़माने के लिए घर नहीं आ जाता। - larsks
एलओएल के लिए +1। इसे पारित करने का अधिकार भी देखें - रात के मध्य में अपने सर्वर पर KERNEL.OLD बूट करने के लिए ड्राइविंग (या केर्नेल.जेनेरिक - आप अपने सिस्टम पर एक अद्यतित जेनरेट करते हैं, है ना? अगर नहीं, तो आप शुरू करना चाहिए।) कई सबक सिखाता है ... - voretaq7
मैं नेट-बूट करने योग्य प्रतिलिपि रखता हूं mfsbsd आसान, भी, जिसने मुझे कई बूट लोडर से संबंधित समस्याओं से बचाया है। - larsks
सेटिंग VFCF_JAIL एनएफएस ने काम किया है, लेकिन ऑटोमॉन्टर मुझे नीचता रहता है। - larsks
एह, मैं विभिन्न वातावरणों में एक दशक से बेहतर समय के लिए घर निर्देशिकाओं के लिए ऑटोमाउंट का उपयोग कर रहा हूं और मैं इससे खुश हूं। आपको याद है, यह लिनक्स (और सोलारिस) ऑटोमाइंटर है, एमडी नहीं। - larsks