जवाबों:
लिनक्स-आधारित ऑपरेटिंग सिस्टम पर, जिसे नेटवर्क ब्लॉक डिवाइस या डिवाइस मैपर डिवाइस के साथ किया जा सकता है। आपके द्वारा प्राप्त फ़ाइल एक ब्लॉक डिवाइस है।
के साथ nbd
:
ln -s /path/to/first-file file.0
...
ln -s /path/to/last-file file.19
nbd-server -C /dev/null -m 127.0.0.1:12345 file
sudo nbd-client localhost 12345 /dev/nbd0
(सम्मिलन है /dev/nbd0
)।
डिवाइस मैपर के साथ (फ़ाइल का आकार 512 से अधिक होना चाहिए):
sudo losetup /dev/loop0 file1
sudo losetup /dev/loop1 file2
s0=$(sudo blockdev --getsize /dev/loop0)
s1=$(sudo blockdev --getsize /dev/loop1)
printf '%s\n' "0 $s0 linear /dev/loop0 0" "$s0 $s1 linear /dev/loop1 0" |
sudo dmsetup create mybundle
(सम्मिलन है /dev/mapper/mybundle
)।
आज एक फ्यूज ड्राइवर लिखा है, अगर किसी को फ्यूज सॉल्यूशन में दिलचस्पी है (डिवाइस मैपर के साथ-साथ ऊपर दिए गए nbd- सॉल्यूशन से ब्लॉक डिवाइसेस रेगुलर फाइल नहीं बनाएंगे - जो टूट जाएगा, अगर आप परिणामी आउटपुट को सीधे वीडियो एडिटिंग के साथ इस्तेमाल करना चाहते हैं सॉफ्टवेयर या अन्य उपकरण जो सीधे ब्लॉक डिवाइस से पढ़ने के लिए तैयार नहीं हैं)
आपने मूल रूप से प्रश्न के पहले वाक्य में इसका उत्तर दिया: हाँ, यह किया जा सकता है। हालाँकि, आपको कस्टम फ़ाइल सिस्टम ड्राइवर लिखना होगा। यदि इसे एक फाइल सिस्टम ऑब्जेक्ट माना जाता है, तो इसे कुछ स्तर पर कर्नेल द्वारा नियंत्रित किया जाना चाहिए (जिसमें FUSE शामिल है )। ड्राइवर को मानक फ़ाइल सिस्टम syscalls API ( stat()
, open()
इत्यादि, जिसमें मांग करना शामिल है) के लिए बैकएंड प्रदान करना होगा । आप इसे पूरी तरह से यूजर स्पेस में नहीं कर सकते हैं (कम से कम एक अखंड कर्नेल के साथ नहीं - लेकिन यहां तक कि एक माइक्रोक्राइन के साथ भी आपको एक फाइल सिस्टम ड्राइवर प्रदान करने की आवश्यकता होगी, भले ही एक नियमित यूजरस्पेस प्रक्रिया के रूप में चल रहा हो)।