একক লুপ ডিভাইস হিসাবে একাধিক img ফাইল মাউন্ট করা হচ্ছে


19

এমন কোনও ডিস্ক ইমগ ফাইল নেওয়ার কোনও উপায় আছে যা ভাগে ভাগ হয়ে একটি একক লুপ ডিভাইস হিসাবে এটি মাউন্ট করতে পারে?


1
কীভাবে ভেঙে গেছে? এটি কোন ফর্ম্যাট? এটির জন্য যদি কোনও বিশেষ ফর্ম্যাট থাকে তবে এর জন্য কিছু ফিউজ ম্যাজিক থাকতে পারে তবে আমি সন্দেহ করি যে উত্তরটি তাদের একসাথে বিড়াল করা!
কালেব

আমি 4 গিগের চেয়ে কম ফাইলগুলিতে ডিভাইসের ফর্ম্যাট দ্বারা সীমাবদ্ধ am ডিভাইসে যদিও আমার কাছে রুট অ্যাক্সেস রয়েছে।
এলভিএম

উত্তর:


16

আমি মনে করি না আপনি এটি জায়গায় করতে পারবেন তবে আপনার যদি পর্যাপ্ত জায়গা থাকে তবে এটি কাজ করা উচিত:

# 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 জিবি ফাইলগুলি পরিচালনা করতে না পারে তবে আপনার কেবল একটি বুদ্ধিমানের স্যুইচ করতে হবে।


এটি ডিভাইস ম্যাপার দিয়েও করতে সক্ষম হতে পারে তবে উপরেরটি আরও সহজ।
Wodin

এতক্ষণ গ্রহণের জন্য দুঃখিত, খুব ভাল উত্তর I আমি সাধারণ পরিস্থিতিতে এটি করব না, এটি অ্যাডভেঞ্চার মোডের প্রশ্ন more
MageProspero

2
আপনি সম্ভবত এটির চেয়ে দ্রুত truncateপরিবর্তে ব্যবহার করতে চান dd(এটি এফএসে প্রকৃত লেখার কাজ করে না তবে কেবল ইনোড বরাদ্দ করে এবং কেবল গর্তযুক্ত হিসাবে ফাইল চিহ্নিত করে)।
ম্যাকিয়েজ পাইচোটকা

খুশী হলাম। আমি এটা জানতাম না।
stribika

অভিজ্ঞতা থেকে, আপনি যদি বৃহত ক্ষমতার ক্লাউড-ভিত্তিক ব্যাকআপ ব্যবহার করেন বা ক্র্যাশপ্ল্যান বা অর্থ প্রদান করা গুগল ড্রাইভের মতো সমাধানগুলি সিঙ্ক করছেন তবে একক বিশাল ফাইলের পরিবর্তে ছোট স্প্লিট ফাইলগুলি ব্যবহার করা খুব ভাল ধারণা। ব্যর্থ ফাইল ডাউনলোডের ইভেন্টে, আপনাকে কেবল পুনরায় ডাউনলোড করতে হবে, বলুন, পুরো 100 জিবি জিনিসের পরিবর্তে 1 জিবি।
রাক

3

একটি বিভক্ত ডিস্ক চিত্র (বা পার্টিশন চিত্র) মাউন্ট করতে আপনার 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 বাইটের একাধিক ছিল।


4
আমি কেবল এই পদ্ধতিটি চেষ্টা করেছি। এটির একটি প্রধান সতর্কতা রয়েছে: এটি আপনাকে কেবল পঠন হিসাবে আপনার চিত্রটি মাউন্ট করার অনুমতি দেবে।
রাক

যতক্ষণ না আপনার হাতে কয়েকশ ফাইল ফাইল রয়েছে ততক্ষণ দুর্দান্ত কাজ করে। রৈখিক রাইড
জে টেলর

1

আপনি নিজের ব্লক স্টোরেজ ডিভাইস এক্সটেনশন লিখতে পারেন (ফিউজ-জাতীয় এক্সটেনশন ভাবেন) এবং ঠিকানাটি কী তার উপর নির্ভরশীল চেষ্টা করতে পারেন।

এখানে আপনি কীভাবে ফিউজ ব্যবহার করবেন তার উদাহরণ পেতে পারেন https://github.com/libfuse/python-fuse/blob/master/example/hello.py


আপনাকে ধন্যবাদ যে সত্যই আমার একদিনের মেটা বিজ্ঞপ্তিটি সম্পর্কে আমার মাথাটি জড়িয়ে রাখা উচিত
MageProspero

0

সমাধানের পক্ষে আমি এখন পর্যন্ত সবচেয়ে কাছের জিনিসটি একটি ভিএমওয়্যার ভিএম তৈরি করা। আপনি রেসকাটাক্স বা নোপপিক্সের মতো একটি লিনাক্স লাইভ সিডি শুরু করেন, আপনি আপনার হোস্ট কম্পিউটারে একটি এসএমবি শেয়ার্ড ফোল্ডার তৈরি করেন, আপনি আপনার ভিএম-তে সেই এসএমবি ভাগটি মাউন্ট করেন এবং তারপরে আপনি ddচিত্রটি ভার্চুয়াল এইচডি তে প্রেরণ করুন। ডিফল্টভাবে ভিএমওয়্যার তার ডিস্ক চিত্রগুলিকে বিভক্ত ফাইল হিসাবে সংরক্ষণ করে, তাই এটি সরাসরি একাধিক ফাইলে বিভক্ত কোনও ডিস্ক চিত্র পড়ার সবচেয়ে কাছের জিনিস।

পরে, আপনি যদি আপনার হোস্ট কম্পিউটার থেকে ফাইলগুলি অ্যাক্সেস করতে চান তবে আপনি চিত্রটিতে একটি দ্বিতীয় ভার্চুয়াল এইচডি যুক্ত করতে এবং ফাইলগুলি অনুলিপি করার চেষ্টা করতে পারেন। তারপরে আপনি ভিএম-তে একটি এসএমবি শেয়ার্ড ফোল্ডার সেট আপ করুন এবং এটি আপনার হোস্ট থেকে সংযুক্ত করুন। আপনি যেমন কোনও আইপড ক্লাসিক (যা কেবল ফ্যাট 32 খায়) ব্যবহার করছেন বা আপনার স্মার্টফোনের এসডি কার্ড ব্যবহার করছেন এমন ইভেন্টে আপনি উদাহরণস্বরূপ, FAT32 এর 4 গিগাবাইট ফাইল সীমা লঙ্ঘন করতে পারেন বা আপনার স্মার্টফোনের এসডি কার্ড (সাধারণত আপনাকে কাস্টম রম ইনস্টল করতে হবে এক্সটেন 3 বা এনটিএফএস বাহ্যিক স্টোরেজে ব্যবহার করতে, এর জন্য আপনার স্যামসুং বা মটোরোলার মতো জনপ্রিয় প্রস্তুতকারকের ফোন দরকার, যাতে আপনার যদি চাইনিজ স্মার্টফোন থাকে তবে আপনি স্টাম্পড হয়ে যান)।

এটি অবশ্যই কার্যকর সমাধান নয়, তবে যেহেতু আমি আমার আইপড ক্লাসিক বা স্টক রমের সাথে আমার স্যামসাং স্মার্টফোনে ফ্যাট 32 ব্যতীত অন্য কোনও এফএস ব্যবহার না করে সীমাবদ্ধ করেছি, তাই আমি পুরো ইন্টারনেটটি পুরোপুরি স্কোর করেছি sc অতীত এবং এখনও এটির একটি কার্যকর সমাধান খুঁজে পেতে সক্ষম নই। এমনকি আমি নিজে এটি লিখতেও পারি।

পিএস: উল্লেখ করতে ভুলে গেছেন যে আপনি যদি উইন্ডোজ এ থাকেন তবে এটি করার একমাত্র উপায় এটি।


আমি যখন এই সমস্যাটি পরিদর্শন করেছি তখন থেকে এটি বেশ কিছুক্ষণ হয়েছে। আমার এখনও এটি আছে. এছাড়াও আমি এটি ঠিক একই কারণে আপনি করছেন। আমি অবাক হই যদি আপনি এমন কোনও প্রক্রিয়া আনতে পারেন যার নিজস্ব কাস্টম ফাইল সিস্টেম রয়েছে তবে সত্যই আমি এটি চেষ্টা করতে চাই। আমি জানি আমি নোডে এটি করতে পারি। দোভাষীকে মূলের মধ্যে আনতে আমার সাফল্য আছে। আমি যদি জানি না তবে এটি আপনার সমস্যার সমাধান করে কিনা। আমার হার্ডওয়্যার স্যামসাং গ্যালাক্সিতে এটি ঠিক আছে। আমাকে বলুন আপনি কি একসাথে এই সমস্যার জন্য কিছু নিয়ে কাজ করতে চান।
MageProspero

-1

BSD এর অধীনে আপনি মাউন্ট করার জন্য ইউনিয়ন বিকল্পটি ব্যবহার করতে পারেন। লিনাক্সের অধীনে আপনি ইউনিয়নএফএসে চেষ্টা করতে পারেন।


2
এটি দূর থেকে প্রাসঙ্গিক বলে মনে হচ্ছে না। আপনি প্রশ্নটি ভুল লিখেছেন?
গিলস 'অশুভ হওয়া বন্ধ করুন'
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.