क्या रूट और होम विभाजन के लिए अलग-अलग फाइल सिस्टम होना और भौतिक उपकरणों पर स्थित होना संभव है?


10

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

मैंने इंटरनेट से एक फाइल डाउनलोड की और अस्थायी रूप से /tmp(रूट फाइलसिस्टम में) सेव कर दी , फिर मैंने इसे अपने होम डायरेक्टरी (दूसरा पार्टिशन) में ले जाने का फैसला किया।

मैं इस तरह की एक सरल mvकमांड काम करने के लिए पृष्ठभूमि में होने वाली दर्दनाक प्रक्रिया को महसूस कर सकता हूं ।

तो, पहले, क्या रूट और घर के लिए अलग-अलग फाइल सिस्टम होना संभव है? दूसरे, पिछले प्रश्न के उत्तर को "हां" मानते हुए, ओएस किस तरह से सभी संक्रमण का प्रबंधन करता ext3है btrfsऔर फिर अलग-अलग डिस्क प्रकार (एचडीडी और एसएसडी) के लिए विभिन्न डिवाइस ड्राइवरों का उपयोग करता है?


3
यह परतों के साथ किया जाता है। फाइलसिस्टम लेयर को ब्लॉक डिवाइस लेयर के ऊपर बनाया गया है। आप फाइल सिस्टम लेयर में किसी भी उपयुक्त फाइल सिस्टम का उपयोग कर सकते हैं। आप उस ब्लॉक डिवाइस लेयर में किसी भी उपयुक्त ब्लॉक डिवाइस का उपयोग कर सकते हैं। प्रत्येक माउंट पॉइंट का अपना फाइल सिस्टम और डिवाइस हो सकता है।
चूरा

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

फाइल सिस्टम के बारे में अधिक जानकारी नहीं है, लेकिन मुझे लगता है कि यह प्रक्रिया बाहरी FAT32 ड्राइव पर फ़ाइलों की नकल करने से अलग नहीं होगी
Blaine


2017 में आप ext3 का उपयोग क्यों करते हैं जब ext4 में अपग्रेड करना इतना आसान है?
डेविड फ़ॉस्टर

जवाबों:


25

इसका उत्तर है हां, आपके पास किसी भी डिवाइस पर कोई भी निर्देशिका हो सकती है, जो किसी भी फाइल सिस्टम को चला सकता है जो OS समर्थन कर सकता है।

तो आप कर सकते हैं / /var /home /optऔर यहां तक /home/afr0ckकि विभिन्न उपकरणों पर, अलग-अलग विभाजन, अलग-अलग फ़ाइल सिस्टम।

न केवल आप कर सकते हैं, लेकिन यह आम है। उदाहरण के लिए, हमेशा रखने की सिफारिश की जाती है /varऔर /homeविभिन्न विभाजनों पर /क्योंकि ये अनजाने में डिस्क स्थान का उपभोग करने की सबसे अधिक संभावना है - यदि वे भरते हैं, तो यह सिस्टम को बहुत अधिक प्रभावित नहीं करता है। यदि वे रूट के समान विभाजन पर हैं, तो यह सिस्टम को रोकने का कारण बन सकता है।

और आप गति के कारणों के लिए अलग-अलग निर्देशिकाओं को विभिन्न उपकरणों पर चलाना चाह सकते हैं। और विभिन्न उद्देश्यों के लिए विभिन्न फाइल सिस्टम का उपयोग करें। उदाहरण के लिए, शायद ext4 वह है जो आप ओएस फ़ाइलों के लिए चाहते हैं, क्योंकि वे बहुत ज्यादा नहीं बदलते हैं, लेकिन आप / घर के लिए btrfs चाहते हैं ताकि आप बैकअप के लिए स्नैपशॉट रख सकें। ये सभी निर्णय हैं जो प्रत्येक व्यक्ति द्वारा अपने विशिष्ट उपयोग के मामले में किए जा सकते हैं।

ओएस के उपयोगकर्ता अंतरिक्ष भाग को विभिन्न डिवाइस और फाइल सिस्टम प्रकारों को समझने की आवश्यकता नहीं है। यह सब यह कर्नेल को एक फ़ाइल को स्थानांतरित करने के लिए कहता है, और कर्नेल वहां से सब कुछ ऑर्केस्ट्रा करता है। तो mvकमांड (उदाहरण के लिए) फाइलसिस्टम और डिवाइस प्रकार अज्ञेय है। कर्नेल अलग-अलग विभाजनों को पढ़ने और लिखने के लिए जो भी ड्राइवर की आवश्यकता होती है, उसे आमंत्रित करता है।


7
यह इंगित करने के लिए उपयोगी है कि mv(1)पहले rename(2)फ़ाइल की कोशिश करता है । फिर यह कॉपी-एंड-डिलीट पर वापस आ जाता है। तो नाम बदलने की कोशिश कर रहा है कि कैसे mvयह एक FS-अज्ञेयवादी तरीके से संभव है। ( rename(2)हमेशा विभिन्न उपकरणों के बीच चलते समय विफल रहता है, चाहे वे एक ही फाइलसिस्टम ड्राइवर का उपयोग करें या नहीं, @ afr0k।)
पीटर कॉर्ड्स

1
@PeterCordes हुह, मुझे नहीं पता था कि नाम बदलना एक बात थी। मैंने हमेशा चीजों का नाम बदलने के लिए mv का उपयोग किया है।

5
@stanri: mvफोर्क / rename(1)कमांड को निष्पादित नहीं करता है , यह सिर्फ rename(2)सिस्टम कॉल की कोशिश करता है । एक मानक renameशेल कमांड नहीं है। कुछ सिस्टमों पर, यह पैटर्न-प्रतिस्थापन मल्टीपल-फाइल रीनेमिंग कमांड फ्रॉम यूज-लाइनक्स है। मैं शेल कमांड के बारे में बात नहीं कर रहा था, बस mvआंतरिक रूप से कैसे काम करता है।
पीटर कॉर्डेस

यहां तक ​​कि / usr एक अलग विभाजन पर भी निवास कर सकता है, यही कारण है कि कुछ सही मायने में आवश्यक सामान / बिन / देयता और / sbin में है - क्या सभी इंस्टॉलर इसका समर्थन करेंगे यह एक और मामला है।
रैकबंडमैन

7

हां, अलग फाइलसिस्टम (माउंट पॉइंट) अलग फाइलसिस्टम प्रकार हो सकते हैं।  /procहमेशा एक procfsफाइल सिस्टम है, और /sysहमेशा एक है sysfs। क्षणिक filesystems (कभी-कभी शामिल हैं /tmp) अक्सर tmpfs, और, कार्यसमूह सेटिंग्स में, उपयोगकर्ता की होम निर्देशिकाओं (और उनके कार्य उत्पाद निर्देशिकाओं) nfsया अन्य दूरस्थ (नेटवर्क / साझा) फ़ाइल सिस्टम प्रकारों के लिए सामान्य है।

OS करने के लिए कोई विशेष प्रबंधन नहीं है। एक बिंदु तक, उपयोगकर्ता स्तर पर, सभी फाइलसिस्टम एक जैसे दिखते हैं, इस अर्थ में कि lsलिस्टिंग किसी भी निर्देशिका में बहुत समान दिखेगी। उस बिंदु से परे, फाइल सिस्टम इंटरैक्ट नहीं करता है। यहां तक ​​कि एक ही फाइल सिस्टम प्रकार के एक ही भौतिक डिस्क पर दो फाइल सिस्टम (विभाजन) के बीच, कोई लिंकेज 1 नहीं है । उदाहरण के लिए, फ़ाइल को एक फाइलसिस्टम (आरोह बिंदु) से दूसरे पर ले जाने में हमेशा एक प्रतिलिपि बनाना और मूल हटाना शामिल होता है। कोई फर्क नहीं पड़ता कि वे विभिन्न डिस्क पर विभाजन कर रहे हैं। कोई फर्क नहीं पड़ता कि उनमें से एक HDD है और एक SSD है। कोई फर्क नहीं पड़ता अगर एक है ext3और एक हैbtrfs। इससे कोई फर्क नहीं पड़ता कि कोई आंतरिक है (कंप्यूटर केस के अंदर) और एक बाहरी है (कुछ इंच बाहर, एक केबल द्वारा जुड़ा हुआ) - या रिमोट (नेटवर्क पर एक्सेस किया गया)।

नेटवर्क की बात करें, तो यह थोड़ा सा अनुरूप है ssh। यह कीबोर्ड से पढ़ता है और आपके द्वारा टाइप किए गए अक्षरों को नेटवर्क पर भेजता है। इसके साथ ही, यह नेटवर्क से पढ़ता है और स्क्रीन पर परिणाम प्रदर्शित करता है।

या इस पर विचार करें: कल्पना करें कि आप फोन पर हैं, और आप कमरे में दूसरे फोन और किसी अन्य व्यक्ति के बीच बातचीत कर रहे हैं। यह कोई बड़ी बात नहीं है।
________
1 प्रतीकात्मक लिंक को छोड़कर - लेकिन वे फाइलसिस्टम सीमाओं को पार कर सकते हैं।


1
मैं आपके जवाब से काफी हद तक सहमत हूं, लेकिन यह वास्तव में / tmp के लिए एक tmpfs होने के लिए विशिष्ट नहीं है (हालांकि शायद कुछ डिस्ट्रो पर ऐसा सेट होता है) - सामान्य रूप से रूट विभाजन से दूर और बूट पर साफ किया जाता है। उबंटू
टंड रेडहैट टाइप डिस्ट्रोस का

मैं भ्रमित था। मैंने अपना उत्तर अपडेट कर दिया है।
जी-मैन ने कहा कि मोनिका '

1
@davidgo: /tmptmpfs पर क्या लिनक्स डिस्ट्रोफ डिफ़ॉल्ट नहीं है ? मैंने यह भी सोचा था कि यह बहुत मानक अभ्यास था, क्योंकि आप हमेशा सामान रख सकते हैं /var/tmp(हालांकि यह बूट पर साफ नहीं होता है)। मैं क्रॉस-डिस्ट्रो डिफॉल्ट का विशेषज्ञ नहीं हूं, सिर्फ डेबियन / उबंटू और आर्क। उन प्लस रेडहैट के साथ, जो वहां स्थापित लिनक्स सिस्टम के एक बड़े हिस्से को कवर करता है (लेकिन कुल डिस्ट्रॉस के बड़े हिस्से के रूप में लगभग नहीं)।
पीटर कॉर्डेस

(एम्बेडेड सिस्टम को अनदेखा करते हुए) मैं केवल सेंटो और उबंटू का नियमित रूप से उपयोग करता हूं - ये दोनों / tmp के लिए डिस्क का उपयोग करते हैं। - मुझे पूरा यकीन है कि डेबियन, रेडहैट और मिंट सभी एक ही सम्मेलन का पालन करेंगे। मेरे एंड्रॉइड डिवाइस
davidgo

2
@PeterCordes tmpfsलिनक्स पर उदय पिछले 5-7 वर्षों के अनुसार हाल ही में हुआ है। उदाहरण के लिए, फेडोरा अपनी विकि ~ 2012 पर बदलाव पर चर्चा कर रहे थे, और मुझे विश्वास है कि इसे डेबियन व्हीज़ी में पेश किया गया था।
बॉब
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.