এই উত্তর এবং ইমেল বার্তাটি বোঝায় যে "ওভারলেএফএস" নামক কিছুটি উবুন্টু ১১.১০ এ উপলব্ধ এবং উবুন্টু ১২.০৪-এ জোর করে আউফগুলি প্রতিস্থাপন করবে।
আমি কিভাবে এটা ব্যবহার করব? এর ডকুমেন্টেশন কোথায়?
এই উত্তর এবং ইমেল বার্তাটি বোঝায় যে "ওভারলেএফএস" নামক কিছুটি উবুন্টু ১১.১০ এ উপলব্ধ এবং উবুন্টু ১২.০৪-এ জোর করে আউফগুলি প্রতিস্থাপন করবে।
আমি কিভাবে এটা ব্যবহার করব? এর ডকুমেন্টেশন কোথায়?
উত্তর:
সম্পাদনা: এই উত্তর লেখার পর থেকে, কিছু কিছু বিষয় overlayfs বদলে গেছে, যথা একটি প্রয়োজনীয় পরামিতি যোগে workdir
দেখুন Totti এর উত্তর নিচের এই নতুন পরামিতি একটি বিস্তারিত বিবরণ জন্য।
আমি অবশেষে এটি খুঁজে পেতে পরিচালিত। আমি এটির কার্নেল উত্সে রেফারেন্স পেয়েছি, তবে কিছু কারণে এটি কার্নেল.org এ গিট ট্রিতে উপস্থিত হয় নি। কিন্ত! আপনি যদি উবুন্টু কার্নেল উত্সটি টানেন: apt-get source linux-image-3.0.0-16-generic
আপনি এটি সন্ধান করতে পারেন linux-3.0.0/Documentation/overlayfs.txt
। এটি লিনাক্স-ডক প্যাকেজে পাওয়া যায় /usr/share/doc/linux-doc/filesystems/overlayfs.txt.gz
।
প্রকৃত সহায়তার ডকুমেন্টেশন যেমন "এটি কীভাবে মাউন্ট করবেন তার" পরিবর্তে "এটি কীভাবে কাজ করে" তার অনেক বেশি, এখানে একটি সংক্ষিপ্ত রুনডাউন রয়েছে (কার্নেলের ডকুমেন্টেশনের একটি উদাহরণ রয়েছে):
mount -t overlayfs -o [mount options] overlayfs [mountpoint for merged system]
[মাউন্ট বিকল্পগুলি] যেখানে থাকতে পারে:
একটি জিনিস যা প্রথমে আমাকে বিভ্রান্ত করেছিল, তাই আমার সম্ভবত স্পষ্ট করা উচিত, ওভারলেফগুলি মাউন্ট করা আসলে কোনও ফাইল সিস্টেমকে মাউন্ট করে না। আমি একটি ওভারলেফ্স মাউন্ট ব্যবহার করে স্কোয়াশফেস ফাইল সিস্টেমটি মাউন্ট করার চেষ্টা করছিলাম, তবে এটি কীভাবে কাজ করে তা নয়। আপনাকে প্রথমে (আমার ক্ষেত্রে স্কোয়াশফ) ফাইল সিস্টেমটি একটি স্বেচ্ছাসেবী ডিরেক্টরিতে মাউন্ট করতে হবে, তারপরে মাউন্ট পয়েন্ট (একটি ডিরেক্টরি) এবং অন্য ডিরেক্টরিটি তৃতীয় ডিরেক্টরিতে (ওভারলেফ মাউন্ট পয়েন্ট) মার্জ করতে ওভারলেফগুলি ব্যবহার করুন (সম্পাদনা করুন: এই "তৃতীয়" ডিরেক্টরিটি প্রকৃতপক্ষে উচ্চতর = ডিরেক্টরি হতে পারে)। তৃতীয় ডিরেক্টরিটি যেখানে আপনি একীভূত ফাইল সিস্টেমগুলি দেখতে পাবেন (বা ডিরেক্টরি গাছ - এটি নমনীয়)।
আমি একটি উবুন্টু হাইব্রিড বুট ডিস্কে কাজ করছি যেখানে বেস উবুন্টু সিস্টেমটি ফাইল-সিস্টেম.সকোয়াফস হিসাবে উপস্থিত রয়েছে এবং আমার কাছে উবুন্টু.ওরে্লে কুবুন্টু.ওরোয় xubuntu.overlay এবং lubuntu.overlay নামে ফাইল রয়েছে। .Overlay ফাইলগুলি হ'ল সিস্টেম সিস্টেমের বেস ইনস্টলস যা ফাইল সিস্টেমস.সকোয়াশফগুলি ছাঁটাই করে থাকে (স্থান বাঁচাতে)। তারপরে আমি ওভারলেফগুলি এবং উপরের বিকল্পগুলি ব্যবহার করে সঠিক ডিস্ট্রোর .overlay ফাইলটি (বুট প্যারামিটার থেকে) ওভারলে করতে আমি স্ক্রিপ্টগুলি সংশোধন করেছি এবং এটি একটি কবজির মতো কাজ করে!
এই আমি আমার আরআর স্ক্রিপ্টগুলিতে ব্যবহৃত লাইনগুলি (একবারে সমস্ত ভেরিয়েবলগুলি অনুবাদ করা হয়):
mkdir -p /overlay
mount -t squashfs /cdrom/casper/ubuntu.overlay /overlay
mount -t overlayfs -o lowerdir=/filesystem.squashfs,upperdir=/overlay overlayfs /
নোট করুন যে উপরের ফাইলসিস্টেম.সকোয়াশফগুলি একটি ফাইল নয় ক্যাস্পার দ্বারা নির্মিত একটি ডিরেক্টরি ।
এই তিনটি বিবৃতি একটি তৈরি /overlay
ডিরেক্টরি, একটি স্কোয়াশএফএস ফাইলসিস্টেম মাউন্ট /overlay
ডিরেক্টরি এবং তারপর OverlayFS ব্যবহার মূলত বিষয়বস্তু মার্জ করতে /overlay
বেশি /
।
প্রতিটি প্রকাশের জন্য আমার লাইভ ইউএসবি পুনর্নির্মাণের প্রক্রিয়ায়, আমি বেশ কিছু সময় বাঁচাতে ওভারলেএফএস ব্যবহার করি FS আমি উবুন্টু-বেস নামের একটি ডিরেক্টরি দিয়ে শুরু করি যা উবুন্টু-কোর ইমেজের বিষয়বস্তু রয়েছে যা সবচেয়ে বেসিক ইনস্টল। এরপরে আমি উবুন্টু, কুবুন্টু, লুবুন্টু এবং এক্সুবন্টু নামে ডিরেক্টরিগুলি তৈরি করব।
তারপরে, আমি উবুন্টু-বেস থেকে ফাইলগুলি পৃথক ডিরেক্টরিতে প্রদর্শিত করতে ওভারলেএফএস ব্যবহার করি। আমি এই জাতীয় কিছু ব্যবহার করব:
mount -t overlayfs -o lowerdir=ubuntu-base,upperdir=kubuntu overlayfs kubuntu
এটি উবুন্টু-বেস থেকে ফাইলগুলি কুবুন্টু ফোল্ডারে প্রদর্শিত হবে। তারপরে আমি chroot
কুবুন্টু ফোল্ডারে গিয়ে এমন কিছু করতে পারি apt-get install kubuntu-desktop
। এই ওভারলেএফএস মাউন্ট চলাকালীন যে কোনও পরিবর্তনগুলি উচ্চ ডিরেক্টরিতে থাকবে, এক্ষেত্রে কুবুন্টু ফোল্ডার। তারপরে, একবার আমি ওভারলে এফএসএফ মাউন্ট ফাইলগুলিকে সত্যিই উবুন্টু-বেসে উপস্থিত থাকি তবে সেগুলি পরিবর্তিত না হলে কুবুন্টু ফোল্ডারে "মিরর" হয়ে যায়। এটি আমাকে উবুন্টু-বেসে একাধিক অনুলিপি থাকা থেকে বিরত রেখেছে যখন এখনও সেগুলি ব্যবহার করতে সক্ষম হচ্ছিল যেন তারা প্রতিটি স্থানে শারীরিকভাবে বিদ্যমান exist
overlay
নাoverlayfs
Https://www.kernel.org/doc/Docamentation/filesystems/overlayfs.txt থেকে :
উচ্চ এবং নিম্ন
একটি ওভারলে ফাইল সিস্টেম দুটি ফাইল সিস্টেমের সংমিশ্রণ করে - একটি 'উচ্চ' ফাইল সিস্টেম এবং একটি 'লোয়ার' ফাইল সিস্টেম yste যখন উভয় ফাইল সিস্টেমে একটি নাম বিদ্যমান থাকে, তখন 'নিম্ন' ফাইল সিস্টেমের অবজেক্টটি দৃশ্যমান হয় যখন 'নিম্ন' ফাইল সিস্টেমের অবজেক্টটি হয় লুকানো থাকে বা ডিরেক্টরিগুলির ক্ষেত্রে, 'উপরের' অবজেক্টের সাথে মিশে যায়।
'ফাইল সিস্টেম' এর চেয়ে উপরের এবং নীচের 'ডিরেক্টরি ট্রি' উল্লেখ করা আরও সঠিক হবে কারণ উভয় ডিরেক্টরি ট্রি একই ফাইল সিস্টেমে থাকতে পারে এবং ফাইল সিস্টেমের মূল দেওয়ার প্রয়োজন নেই উপরের বা নীচের হয়।
নিম্ন ফাইল সিস্টেম লিনাক্স দ্বারা সমর্থিত যে কোনও ফাইল সিস্টেম হতে পারে এবং এটি লেখার প্রয়োজন হয় না। নিম্ন ফাইল সিস্টেম এমনকি অন্য ওভারলেফ হতে পারে। উপরের ফাইল সিস্টেমটি সাধারণত লিখনযোগ্য হবে এবং যদি এটি হয় তবে এটি অবশ্যই বিশ্বাসযোগ্য তৈরির পক্ষে সহায়তা করে * * বর্ধিত বৈশিষ্ট্যগুলি এবং অবশ্যই রিডডির প্রতিক্রিয়াগুলিতে বৈধ d_type সরবরাহ করতে হবে, সুতরাং এনএফএস উপযুক্ত নয়।
কেবল দুটি পঠনযোগ্য ফাইল সিস্টেমের পঠনযোগ্য ওভারলে কোনও ফাইল সিস্টেম প্রকার ব্যবহার করতে পারে।
ডিরেক্টরি
ওভারলেলিংয়ে মূলত ডিরেক্টরিগুলি অন্তর্ভুক্ত থাকে। যদি কোনও প্রদত্ত নাম উচ্চ এবং নিম্ন উভয় ফাইল সিস্টেমে প্রদর্শিত হয় এবং উভয়ই একটি নন-ডিরেক্টরিকে উল্লেখ করে তবে নীচের বস্তুটি গোপন থাকে - নামটি কেবল উপরের অবজেক্টকে বোঝায়।
উপরের এবং নিম্ন উভয় বস্তু যেখানে ডিরেক্টরি হয় সেখানে একত্রিত ডিরেক্টরি তৈরি হয়।
মাউন্ট সময়ে, মাউন্ট অপশন "লোয়ারডির" এবং "আপারডির" হিসাবে প্রদত্ত দুটি ডিরেক্টরি একত্রিত ডিরেক্টরিতে একত্রিত হয়েছে:
mount -t overlay overlay -olowerdir=/lower,upperdir=/upper,workdir=/work /merged
"Workdir" এর জন্য ওপেনডিরের মতো একই ফাইল সিস্টেমের একটি খালি ডিরেক্টরি হওয়া দরকার।
তারপরে যখনই এই জাতীয় মার্জড ডিরেক্টরিতে কোনও অনুসন্ধানের অনুরোধ করা হয়, প্রতিটি প্রকৃত ডিরেক্টরিতে অনুসন্ধানটি সম্পাদন করা হয় এবং সংযুক্ত ফলাফলটি ওভারলে ফাইল সিস্টেমের সাথে সম্পর্কিত ডেন্ট্রিতে ক্যাশে হয়। যদি উভয় প্রকৃত চেহারাতে ডিরেক্টরিগুলি পাওয়া যায়, উভয় সঞ্চিত থাকে এবং একটি মার্জড ডিরেক্টরি তৈরি করা হয়, অন্যথায় কেবল একটি সংরক্ষণ করা হয়: এটি উপস্থিত থাকলে উপরেরটি, অন্যথায় নীচের দিকে।
কেবল ডিরেক্টরি থেকে নামের তালিকাগুলি মার্জ করা হয়। অন্যান্য সামগ্রী যেমন মেটাডেটা এবং বর্ধিত বৈশিষ্ট্যগুলি কেবলমাত্র উপরের ডিরেক্টরিতে রিপোর্ট করা হয়। নিম্ন ডিরেক্টরিটির এই বৈশিষ্ট্যগুলি লুকানো আছে।
আমি এই আর্টিকেলগুলিকে ওভারলেফের জন্য একটি স্ক্রিপ্ট অন্তর্ভুক্ত করতে প্রসারিত করেছি যা কেবল পঠনযোগ্য রুট fs সেট করে।
আশা করি এটা সাহায্য করবে.
ন্যূনতম চলমান উদাহরণ
# Create the filesystems.
dd if=/dev/zero of=lower.ext4 bs=1024 count=102400
mkfs -t ext4 lower.ext4
cp lower.ext4 upper.ext4
mkdir lower upper overlay
sudo mount lower.ext4 lower
sudo mount upper.ext4 upper
sudo chown "$USER:$USER" lower upper
printf lower-content > lower/lower-file
# Upper and work must be on the same filesystem.
mkdir upper/upper upper/work
printf upper-content > upper/upper/upper-file
# Work must be empty. E.g. this would be bad:
#printf work-content > upper/work/work-file
# Make the lower readonly to show that that is possible:
# writes actually end up on the upper filesystem.
sudo mount -o remount,ro lower.ext4 lower
# Create the overlay mount.
sudo mount \
-t overlay \
-o lowerdir=lower,upperdir=upper/upper,workdir=upper/work \
none \
overlay \
;
# Interact with the mount.
printf 'overlay-content' > overlay/overlay-file
ls lower upper/upper upper/work overlay
# Write to underlying directories while mounted
# gives undefined behaviour.
#printf lower-content-2 > lower/lower-file-2
#printf upper-content-2 > upper/upper-file-2
# Unmount the overlay and observe state.
sudo umount overlay
ls lower upper/upper upper/work
# Cleanup.
sudo umount upper lower
ls
মাউন্ট সহ প্রথমটির আউটপুট :
lower:
lost+found lower-file
overlay:
lost+found lower-file overlay-file upper-file
upper/upper:
overlay-file upper-file
upper/work:
work
ls
মাউন্ট ছাড়াই দ্বিতীয়টির আউটপুট :
lower:
lost+found lower-file
upper/upper:
overlay-file upper-file
upper/work:
work
ব্যাখ্যা:
work/
ডিরেক্টরি) রয়েছে যা আমাদের উচিত নয় careউদাহরণ থেকে অভিযোজিত: উদাহরণ ওভারলেএফএস ব্যবহার
একাধিক নিম্ন স্তর সহ আরও জটিল উদাহরণ এখানে রয়েছে: একাধিক স্তর সহ ওভারলেফগুলি পুনরায় লোড করুন (আফস থেকে দূরে স্থানান্তর)
উবুন্টু 18.04, লিনাক্স কার্নেল 4.15.0 এ পরীক্ষিত।
mount -t overlayfs -o rw,uppderdir=x,lowerdir=y overlayfs /mount/point
। এর বাইরে আমি নিখুঁত। আমি এটি একটি লাইভ সিস্টেমে টিঙ্কারিং করছি, তবে আমি এটি এখনও কাজ করতে সক্ষম হইনি। আমি আশা করি আমি "আপারডির" এবং "লোয়ারডির" এর অর্থ কী তা জানতে পারি। আমি কিছুই পাইনি।