2011-04-22 10 views
10

मैं एक विशिष्ट इनोड नंबर के साथ ext3 फाइल सिस्टम में फ़ाइल कैसे बना सकता हूं? (उदा: मैं इनोड-नंबर = 12253 के साथ एक फाइल बनाना चाहता हूं)मैं एक विशिष्ट इनोड नंबर के साथ फ़ाइल कैसे बना सकता हूं?

+0

+1 दिलचस्प सवाल! –

+1

क्या होगा यदि उस इनोड नंबर को लिया जाता है? – bart

उत्तर

0

इनोड नंबर सिस्टम द्वारा असाइन किया गया है। फ़ाइल बनाते समय उपयोगकर्ता कोड इसे निर्दिष्ट नहीं कर सकता है।

0

यह एक बहुत कम संख्या है, इसलिए संभावना है कि यह पहले से ही उपयोग में है; यदि नहीं, तो आप कुछ हज़ार फाइलें बनाने के लिए बैश स्क्रिप्ट चला सकते हैं: for i in $(seq 1 12000); do touch $i.txt; done जैसे कुछ। फिर वह एक ढूंढें जिसे आप चाहते हैं: find/-inum 12253, और इसे जो कुछ भी आप चाहते हैं उसका नाम दें, और जो भी आप चाहते हैं उसे डाल दें। यदि आप आवंटित स्थान को ओवरराइट नहीं करते हैं, तो इस मामले में एक नया इनोड बनाया जाएगा, जो इसे करना चाहिए। यह एक बेवकूफ समाधान है, हालांकि, और एक बेहतर तरीका होना चाहिए।

8

मुझे नहीं लगता कि उपयोगकर्ता स्पेस से फ़ाइल बनाते समय एक विशिष्ट इनोड नंबर का अनुरोध करने के लिए कोई प्रोग्रामेटिक तरीका है। stat() परिणामों में दिखाई देने के अलावा, इनडोर संख्याओं का उपयोग उपयोगकर्तास्थान में कोई महत्व नहीं है; वे फाइल सिस्टम के आंतरिक बहीखाता डेटा का हिस्सा हैं, बस ब्लॉक नंबरों की तरह जहां फ़ाइल सामग्री आवंटित की जाती है।

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

+1

मैंने इनोड 5 (बूट फ़ाइल) के साथ फ़ाइल बनाने के लिए क्या किया: 0) वॉल्यूम अनमाउंट करें 1) 'डीबग्स' के साथ वॉल्यूम खोलें, लिखने के लिए इसे खोलने के लिए '-w' निर्दिष्ट करें 2)' clri <5> '3)' seti <5> '4)' sif <5> मोड 0x81FF' 5) 'ln <5> बूटफाइल' 6)' sif <5> लिंक_count 1' ('ln' इस फ़ील्ड को नहीं बदलता है) 7) बंद करें 'डीबग्स' 8) वॉल्यूम 9 को माउंट करें) संपादित करें 'बूटफाइल' :) –

+0

मुझे आशा है कि आपने सुनिश्चित किया है कि इनोड 5 में इसे साफ़ करने से पहले कुछ अन्य महत्वपूर्ण फ़ाइल नहीं थी ... – Wyzard

+0

इनोड 5 [आरक्षित] है [http://www.nongnu.org/ext2-doc /ext2.html#RESERVED-INODES-VALUES), और इसे 'EXT2_BOOT_LOADER_INO' के रूप में भी जाना जाता है। इसके अलावा, मैंने इसे एक नियंत्रित वातावरण (गैर-महत्वपूर्ण एसडी कार्ड) में किया था। –

संबंधित मुद्दे

 संबंधित मुद्दे