এমন কোনও ডিস্ক ইমগ ফাইল নেওয়ার কোনও উপায় আছে যা ভাগে ভাগ হয়ে একটি একক লুপ ডিভাইস হিসাবে এটি মাউন্ট করতে পারে?
এমন কোনও ডিস্ক ইমগ ফাইল নেওয়ার কোনও উপায় আছে যা ভাগে ভাগ হয়ে একটি একক লুপ ডিভাইস হিসাবে এটি মাউন্ট করতে পারে?
উত্তর:
আমি মনে করি না আপনি এটি জায়গায় করতে পারবেন তবে আপনার যদি পর্যাপ্ত জায়গা থাকে তবে এটি কাজ করা উচিত:
# 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
(এটি 0002, তারপরে 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
সমাধানের পক্ষে আমি এখন পর্যন্ত সবচেয়ে কাছের জিনিসটি একটি ভিএমওয়্যার ভিএম তৈরি করা। আপনি রেসকাটাক্স বা নোপপিক্সের মতো একটি লিনাক্স লাইভ সিডি শুরু করেন, আপনি আপনার হোস্ট কম্পিউটারে একটি এসএমবি শেয়ার্ড ফোল্ডার তৈরি করেন, আপনি আপনার ভিএম-তে সেই এসএমবি ভাগটি মাউন্ট করেন এবং তারপরে আপনি dd
চিত্রটি ভার্চুয়াল এইচডি তে প্রেরণ করুন। ডিফল্টভাবে ভিএমওয়্যার তার ডিস্ক চিত্রগুলিকে বিভক্ত ফাইল হিসাবে সংরক্ষণ করে, তাই এটি সরাসরি একাধিক ফাইলে বিভক্ত কোনও ডিস্ক চিত্র পড়ার সবচেয়ে কাছের জিনিস।
পরে, আপনি যদি আপনার হোস্ট কম্পিউটার থেকে ফাইলগুলি অ্যাক্সেস করতে চান তবে আপনি চিত্রটিতে একটি দ্বিতীয় ভার্চুয়াল এইচডি যুক্ত করতে এবং ফাইলগুলি অনুলিপি করার চেষ্টা করতে পারেন। তারপরে আপনি ভিএম-তে একটি এসএমবি শেয়ার্ড ফোল্ডার সেট আপ করুন এবং এটি আপনার হোস্ট থেকে সংযুক্ত করুন। আপনি যেমন কোনও আইপড ক্লাসিক (যা কেবল ফ্যাট 32 খায়) ব্যবহার করছেন বা আপনার স্মার্টফোনের এসডি কার্ড ব্যবহার করছেন এমন ইভেন্টে আপনি উদাহরণস্বরূপ, FAT32 এর 4 গিগাবাইট ফাইল সীমা লঙ্ঘন করতে পারেন বা আপনার স্মার্টফোনের এসডি কার্ড (সাধারণত আপনাকে কাস্টম রম ইনস্টল করতে হবে এক্সটেন 3 বা এনটিএফএস বাহ্যিক স্টোরেজে ব্যবহার করতে, এর জন্য আপনার স্যামসুং বা মটোরোলার মতো জনপ্রিয় প্রস্তুতকারকের ফোন দরকার, যাতে আপনার যদি চাইনিজ স্মার্টফোন থাকে তবে আপনি স্টাম্পড হয়ে যান)।
এটি অবশ্যই কার্যকর সমাধান নয়, তবে যেহেতু আমি আমার আইপড ক্লাসিক বা স্টক রমের সাথে আমার স্যামসাং স্মার্টফোনে ফ্যাট 32 ব্যতীত অন্য কোনও এফএস ব্যবহার না করে সীমাবদ্ধ করেছি, তাই আমি পুরো ইন্টারনেটটি পুরোপুরি স্কোর করেছি sc অতীত এবং এখনও এটির একটি কার্যকর সমাধান খুঁজে পেতে সক্ষম নই। এমনকি আমি নিজে এটি লিখতেও পারি।
পিএস: উল্লেখ করতে ভুলে গেছেন যে আপনি যদি উইন্ডোজ এ থাকেন তবে এটি করার একমাত্র উপায় এটি।
BSD এর অধীনে আপনি মাউন্ট করার জন্য ইউনিয়ন বিকল্পটি ব্যবহার করতে পারেন। লিনাক্সের অধীনে আপনি ইউনিয়নএফএসে চেষ্টা করতে পারেন।