यदि माउंट बिंदु होने के लिए नई निर्देशिका के निर्माण की mount(2)
आवश्यकता है, तो आप केवल पढ़ने के लिए फाइलसिस्टम के तहत कुछ भी माउंट नहीं कर सकते हैं। वह गूंगा होगा, इसलिए हम उस पर शासन कर सकते हैं।
यदि माउंट ने माउंटपॉइंट होने के लिए वैकल्पिक रूप से एक नई निर्देशिका बनाई, तो यह अजीब होगा। यह हर समय माउंट / अनमाउंट नहीं होता है, इसलिए कर्नेल में इन दो चरणों को एक सिस्टम कॉल के साथ करने के लिए अतिरिक्त तर्क रखना एक महत्वपूर्ण स्पीडअप नहीं होगा। mkdir(2)
अगर यह चाहता है तो सिस्टम कॉल करने के लिए इसे केवल यूजर-स्पेस तक छोड़ दें । दिमित्री का जवाब बताता है कि mount(2)
दोनों चीजें करने से यह गैर-परमाणु बन जाएगा। और आप mount(2)
मोड के झंडे के साथ एक अतिरिक्त तर्क चाहते हैं open(2)
, जैसे कि , आदि के लिए O_CREAT
, O_EXCL
यह उपयोगकर्ता-स्थान को ऐसा करने की तुलना में मूर्खतापूर्ण होगा।
या हो सकता है आप mount(8)
(पारंपरिक कार्यक्रम जो mount(2)
सिस्टम कॉल करता है) ऐसा करने के बारे में पूछ रहे थे ? यह संभव होगा, लेकिन mkdir(1)
नौकरी के लिए पहले से ही पूरी तरह से अच्छा है , और यूनिक्स का डिज़ाइन सभी अच्छे छोटे उपकरणों के बारे में है जो संयुक्त हो सकते हैं। यदि आप ऐसा टूल चाहते हैं जो दोनों करता है, तो उस टूल को दो सरल टूल से बनाने के लिए शेल स्क्रिप्ट लिखना आसान है। (या, जैसा कि मौरू ने टिप्पणी की है, udisksctl
पहले से ही ऐसा करता है, इसलिए आपको इसे लिखने की ज़रूरत नहीं है।) इसके अलावा, लिनक्स का सामान्य उपयोग mount(8)
- लिनेक्स से समर्थन करता है, mount -o x-mount.mkdir[=mode]
यह उपयोगकर्ताओं के x-
लिए विकल्पों के सिंटैक्स का उपयोग करता है , बजाय फाइलों के सिस्टम में पारित होने के लिए।
अब और अधिक दिलचस्प सवाल: माता-पिता फाइल सिस्टम पर एक निर्देशिका क्यों होना चाहिए?
जैसे pjc50 का उत्तर बताता है (कोई संबंध नहीं है, भले ही उसके पास मेरे प्रारंभिक हैं!), माउंट पॉइंट्स को डायरेक्टरी लिस्टिंग में दिखाते हैं, फिर हर पर एक अतिरिक्त जांच की आवश्यकता होगी readdir()
।
माउंट पॉइंट्स होने से डायरेक्टरी में निर्देशिका के रूप में उनके (पैरेंट एफएस पर) एक अच्छी चाल है। readdir()
ध्यान नहीं देना है कि यह एक आरोह बिंदु है। यह केवल तब होता है जब माउंट बिंदु का उपयोग पथ घटक के रूप में किया जाता है। पथ के प्रत्येक रिज़ॉल्यूशन घटक के लिए निश्चित रूप से पथ तालिका को माउंट तालिका की जांच करनी होती है।
udisksctl
। क्यों उपयोग करेंmount
?