वहाँ एक डिस्क img फ़ाइल है कि भागों में टूट गया है और इसे एक पाश डिवाइस के रूप में माउंट करने का एक तरीका है?
वहाँ एक डिस्क img फ़ाइल है कि भागों में टूट गया है और इसे एक पाश डिवाइस के रूप में माउंट करने का एक तरीका है?
जवाबों:
मुझे नहीं लगता कि आप इसे कर सकते हैं लेकिन अगर आपके पास पर्याप्त जगह है तो यह काम करना चाहिए:
# Create the files that will hold your data
dd if=/dev/zero of=part-00 bs=1M count=4k
dd if=/dev/zero of=part-01 bs=1M count=4k
# Create the loop devices
losetup /dev/loop0 part-00
losetup /dev/loop1 part-01
# Create a RAID array
mdadm --create /dev/md0 --level=linear --raid-devices=2 /dev/loop0 /dev/loop1
# Copy the original filesystem
dd if=original-file-00 of=/dev/md0 bs=512
# Look at the records written value
dd if=original-file-01 of=/dev/md0 bs=512 seek=<sum of records written values so far>
# Mount the new filesystem
mount /dev/md0 /mnt
आप मूल फ़ाइलों से केवल एक RAID सरणी नहीं बना सकते हैं क्योंकि RAID डिस्क में एक विशिष्ट हेडर होता है जहां डिस्क की संख्या, RAID स्तर, आदि को संग्रहीत किया जाता है। यदि आप ऐसा करते हैं, तो आपकी मूल फ़ाइलों का हिस्सा अधिलेखित हो जाएगा।
आप mdadm --build
मेटाडेटा के बिना एक सरणी बनाने के लिए उपयोग कर सकते हैं लेकिन फिर आपको वास्तव में पहले एक बैकअप बनाना चाहिए। या यदि केवल पढ़ने के लिए माउंट पर्याप्त है:
losetup -r /dev/loop0 original-00
losetup -r /dev/loop1 original-11
mdadm --build /dev/md0 --level=linear --raid-devices=2 /dev/loop0 /dev/loop1
mount /dev/md0 /mnt
तुम ऐसा क्यों करना चाहते हो? यदि आपका फाइल सिस्टम> 4 जीबी फाइल को संभाल नहीं सकता है, तो आपको बस किसी एक पर स्विच करना चाहिए।
truncate
इसके बजाय उपयोग करना चाहते हैं dd
क्योंकि यह बहुत तेज़ है (यह एफएस के लिए वास्तविक लेखन नहीं करता है लेकिन सिर्फ इनोड और मार्क फ़ाइल को आवंटित करता है जिसमें केवल छेद होता है)।
एक विभाजन डिस्क छवि (या विभाजन छवि) को माउंट करने के लिए आपको affuse
उन पुष्टिकरणों का उपयोग करना चाहिए जो वर्तमान में यहां बनाए हुए हैं: https://github.com/sshock/AFFLIBv3
इसलिए, यदि आपके पास कोई फ़ाइल है, तो कई उप-विभाजनों में विभाजित करें test_img.000, test_img.001, test_img.002, test_img.003, test_img.004, test_img.005, test_img.006, test_img.007, test_img.008, test_img.009
तब आप उनके साथ वस्तुतः जुड़ सकते हैं affuse
# affuse test_img.000 /mnt/combine
# ls -lh /mnt/combine
total 0
-r--r--r-- 1 root root 2.0G 1969-12-31 16:00 test_img.000.raw
(यह फ़ाइल 000 के साथ शुरू होने वाली सभी फ़ाइलों को एक साथ जोड़ती है, फिर 001, 002,…)
और फिर छवि को माउंट करें
mount -o ro,loop,offset=329043456 /mnt/combine/test_img.000.raw /mnt/test
उपयोग यहां वर्णित है और कुछ उदाहरण यहां दिए गए हैं । संकलन या स्थापित करने के बाद या यहां एक मैनपेज भी उपलब्ध है ।
पुनश्च: मेरे लिए affuse
केवल तभी काम किया गया था जब स्प्लिट फ़ाइलों का आकार था जो 512 बाइट्स से अधिक था।
आप अपना खुद का ब्लॉक स्टोरेज डिवाइस एक्सटेंशन (फ्यूज-लाइक एक्सटेंशन के बारे में सोच सकते हैं) लिख सकते हैं और पता क्या है, इस पर निर्भरतापूर्वक प्रदर्शन करते हैं।
यहां आप फ्यूज https://github.com/libfuse/python-fuse/blob/master/example/hello.py का उपयोग करने के तरीके का उदाहरण पा सकते हैं
वीएमवेयर वीएम बनाने के लिए एक समाधान के लिए अब तक मुझे सबसे करीबी बात पता है। आप Rescatux या Knoppix की तरह एक लिनक्स लाइव सीडी शुरू करते हैं, आप अपने होस्ट कंप्यूटर पर एक SMB साझा फ़ोल्डर बनाते हैं, आप अपने VM पर उस SMB साझा को माउंट करते हैं, और फिर आप dd
वर्चुअल HD में छवि बनाते हैं। डिफ़ॉल्ट रूप से VMware अपनी डिस्क छवियों को विभाजित फ़ाइलों के रूप में बचाता है, इसलिए यह सीधे एक डिस्क छवि को कई फाइलों में विभाजित करने के लिए पढ़ने के लिए निकटतम चीज है।
बाद में, यदि आप अपने होस्ट कंप्यूटर से फ़ाइलों को एक्सेस करना चाहते हैं, तो आप छवि में एक दूसरे वर्चुअल एचडी को जोड़ने और वहां फाइलों को कॉपी करने का प्रयास कर सकते हैं। फिर आप VM पर एक SMB साझा फ़ोल्डर सेट करें और इसे अपने होस्ट से कनेक्ट करें। इस तरह, आप उदाहरण के लिए, उस घटना में FAT32 की 4 जीबी फ़ाइल सीमा का उल्लंघन कर सकते हैं जो आप एक iPod क्लासिक का उपयोग कर रहे हैं (जो कि केवल fat32), या आपके स्मार्टफोन का SD कार्ड (आमतौर पर आपको एक कस्टम रोम स्थापित करना होगा एक्सटर्नल स्टोरेज पर एक्सट्रीम 3 या एनटीएफएस का उपयोग करें, इसके लिए आपको सैमसंग या मोटोरोला जैसे लोकप्रिय निर्माता से फोन की आवश्यकता होती है, इसलिए यदि आपके पास एक चीनी स्मार्टफोन है जिसे आप स्टम्प्ड करते हैं)।
यह वास्तव में एक कुशल समाधान नहीं है, हालांकि, लेकिन जब से मैं अपने iPod क्लासिक या स्टॉक रॉम के साथ अपने सैमसंग स्मार्टफ़ोन पर fat32 के अलावा किसी भी FS का उपयोग करने में सक्षम नहीं होने के कारण सीमित हो गया हूं, मैंने पूरे इंटरनेट पर बहुत अधिक परिमार्जन किया है अतीत और अभी भी इसके लिए एक कुशल समाधान खोजने में सक्षम नहीं है। मुझे खुद भी लिखना पड़ सकता है।
पुनश्च: उल्लेख करना भूल गया, कि अगर आप विंडोज पर हैं तो ऐसा करने का एकमात्र तरीका हो सकता है।
बीएसडी के तहत आप माउंट करने के लिए यूनियन विकल्प का उपयोग कर सकते हैं। लिनक्स के तहत आप यूनियनएफएस को एक कोशिश दे सकते हैं।