यदि आप लंबे समय से लिनक्स का उपयोग कर रहे हैं, तो आपने "इनोड्स" शब्द देखा होगा। यह कुछ ऐसा है जो कभी-कभी दिखाई देगा, लेकिन आप जो कर रहे हैं उसे प्रभावित नहीं करता है। यहां हम बताएंगे कि इनोड क्या है और यह कैसे काम करता है।
इनोड्स क्या है?
एक पुस्तकालय में, सभी पुस्तकों को शैली, लेखक के नाम या दर्शकों के आयु-समूह द्वारा व्यवस्थित किया जाता है। यदि आप "बॉबी डेनियल" द्वारा एक थ्रिलर का पता लगाना चाहते हैं, तो आप सीधे थ्रिलर सेक्शन में जाएंगे और "बी" से शुरू होने वाले लेखक के नाम ढूंढना शुरू करेंगे। एक पुस्तकालय की तरह, लिनक्स सिस्टम की सभी फाइलें कुशल पुनर्प्राप्ति और उपयोग के लिए व्यवस्थित की जाती हैं। इनोड एक इकाई है जो लिनक्स सिस्टम के भीतर फाइलों की व्यवस्था में सहायता करती है।
फ़ाइल मेटाडेटा क्या है?
मान लें कि हमारे पास "नमूना.txt" नामक एक फ़ाइल है जिसमें डेटा "हैलो" है।
इस फ़ाइल में इसके लिए प्रासंगिक कुछ डेटा और जानकारी है जैसे फ़ाइल का आकार, अनुमतियाँ, उपयोगकर्ता और समूह का स्वामित्व, निर्माण/पहुँच/संशोधन टाइमस्टैम्प, लिंक गणना, आदि। इन सभी सूचनाओं को सामूहिक रूप से फ़ाइल मेटाडेटा के रूप में संदर्भित किया जाता है।
फाइल सिस्टम क्या हैं?
हार्ड ड्राइव जैसे स्टोरेज डिवाइस पर, फाइल स्टोरेज के लिए उपयोग किए जाने से पहले एक पार्टीशन को फाइल सिस्टम के रूप में फॉर्मेट किया जाता है। एक फाइल सिस्टम हार्ड ड्राइव के लिए लाइब्रेरियन है। औपचारिक रूप से, यह डेटा संरचनाओं और एल्गोरिदम का एक सेट है जो विभाजन पर फ़ाइलों को व्यवस्थित रूप से संग्रहीत करने के लिए मिलकर काम करता है।
Linux सिस्टम पर विभाजन अक्सर EXT4 के साथ स्वरूपित होते हैं। अन्य फाइल सिस्टम जैसे बी-ट्री फाइल सिस्टम (बीटीआरएफएस), रीजर फाइल सिस्टम, जेडएफएस, आदि भी उपयोग के लिए उपलब्ध हैं।
सभी को एक साथ बांधना
इनोड Ext4 पर एक डेटा संरचना है जो एक फ़ाइल के लिए सभी मेटाडेटा रखती है।
बेशक एक फाइल सिस्टम पर कई फाइलें होंगी। जैसा कि आपने अनुमान लगाया था, प्रत्येक फ़ाइल का अपना इनोड होगा। इनोड को विशिष्ट रूप से पहचानने के लिए, प्रत्येक इनोड को क्रमांकित किया जाता है।
इनोड नंबरिंग कैसी होगी?
फाइल सिस्टम पर इनोड नंबर 1 से शुरू होते हैं। पहले दस इनोड सिस्टम उपयोग के लिए आरक्षित हैं। उपयोगकर्ता फ़ाइलों में उनका मेटाडेटा इनोड 11 से संग्रहीत होता है। सभी इनोड बड़े करीने से एक इनोड तालिका में एक साथ रखे जाते हैं।
इनोड तालिका में एक प्रविष्टि आकार में 256 बाइट्स होगी। एक फ़ाइल के लिए, Linux 256 बाइट्स के भीतर सभी मेटाडेटा को समझदारी से व्यवस्थित करता है! इसके अतिरिक्त, किसी फ़ाइल के लिए एक इनोड में यह भी जानकारी होगी कि फ़ाइल सिस्टम में फ़ाइल का डेटा कहाँ स्थित है। याद रखें - इनोड में केवल फ़ाइल का मेटाडेटा संग्रहीत होता है।
फ़ाइल सिस्टम में इनोड की कुल संख्या उपलब्ध स्थान और विभाजन पर संग्रहीत की जा सकने वाली फ़ाइलों की संख्या पर निर्भर करती है।
इनोड कैसे आवंटित और हटाए जाते हैं?
जैसे ही उपयोगकर्ता एक ताज़ा स्वरूपित फ़ाइल सिस्टम में फ़ाइलें जोड़ता है, 11 से शुरू होने वाले इनोड फ़ाइल मेटाडेटा को रखने के लिए आवंटित किए जाते हैं।
एक इनोड की आवंटन स्थिति को ट्रैक करने के लिए "इनोड बिटमैप" नामक एक और डेटा संरचना है। यह बिट्स का एक संग्रह है जो मानचित्र के रूप में कार्य करता है।
आइए इनोड बिटमैप में आठ बिट्स पर विचार करें, जो नीचे दी गई तालिका में दिखाए गए अनुसार इनोड 11 से 18 की आवंटन स्थिति को दर्शाता है। बिटमैप में 1 के मान का अर्थ है कि इनोड आवंटित किया जाता है, अर्थात फ़ाइल के लिए मेटाडेटा को होल्ड करने के लिए उपयोग किया जाता है। बिटमैप में 0 के मान का अर्थ है कि इनोड वर्तमान में उपयोग में नहीं है। यहाँ, हम देख सकते हैं कि इनोड 17 प्रयोग में है।
यदि फ़ाइल जिसका मेटाडेटा इनोड 17 में है, को हटा दिया जाता है, तो इसकी संगत बिटमैप स्थिति 0 हो जाएगी, यह दर्शाता है कि यह किसी अन्य फ़ाइल द्वारा उपयोग किए जाने के लिए स्वतंत्र है।
फ़ाइल के लिए इनोड नंबर कैसे देखें?
ऐसा करने के दो तरीके हैं।
पहला ls
. का उपयोग कर रहा है –i
. के साथ कमांड एक फ़ाइल के नाम के बाद स्विच करें। आउटपुट में पहला फ़ील्ड इनोड नंबर होता है जिसमें "sample.txt" का मेटाडेटा होता है।
वही जानकारी stat
. का उपयोग करके प्राप्त की जा सकती है फ़ाइल नाम के बाद कमांड।
किसी पार्टीशन के लिए उपलब्ध इनोड्स की कुल संख्या देखने के लिए, df
कमांड का प्रयोग -i
. के साथ किया जा सकता है स्विच करें।
"/ dev/sda4" विभाजन में, 404754480 इनोड उपयोग के लिए उपलब्ध हैं, जिनमें से केवल 359044 इनोड का उपयोग किया जाता है।
निष्कर्ष
स्वभाव से, इनोड तालिका फ़ाइल डेटा के स्थान के बारे में जानकारी के साथ-साथ सभी फ़ाइलों के मेटाडेटा को इनोड में सावधानीपूर्वक स्टैक करती है। हमने लिनक्स इनोड्स के बारे में जो कुछ भी चर्चा की है, वह केवल हिमशैल का सिरा है। इसके आंतरिक कामकाज के बारे में अधिक जानकारी के लिए, आप इस लिंक पर एक नज़र डाल सकते हैं।