ডিফল্ট সাবভলিউমের (subvolid = 0) বিটিআরএস ব্যবহার করে একটি লিনাক্স ইনস্টলেশন অন্য সাবভলিউমে সরান


15

রুট বিটিআরএফএস ফাইল সিস্টেমে ইনস্টলেশন করার সময়, অনেকগুলি লিনাক্স ডিস্ট্রিবিউশন ডিফল্ট সাবভলিউমে ইনস্টল করে। যদি অপরিবর্তিত রেখে দেওয়া হয় তবে এই বিন্যাসটি রুট ফাইল সিস্টেমের অভ্যন্তরে যে কোনও স্ন্যাপশট বা সাবভলিউম তৈরি করতে বাধ্য করবে, যা অনাকাঙ্ক্ষিত হতে পারে। আর একটি সম্ভাব্য বিন্যাস হ'ল ডিফল্ট সাবভলিউম একটি snapshotsডিরেক্টরি এবং একটি rootfsসাবভলিউম থাকতে পারে যা মূল ফাইল সিস্টেম। লাইভসিডি থেকে বুট না করে এই সাবভলিউম বিন্যাসটি ব্যবহার করতে আমি কীভাবে ডিস্ট্রো-ডিফল্ট বিটিআরএফএস ইনস্টলেশনটি পরিবর্তন করতে পারি?

উত্তর:


15

প্রথমত, আমরা ডিফল্ট সাবভলিউমে যে লেআউটটি চাই তা তৈরি করব:

btrfs subvolume snapshot / /rootfs
mkdir /snapshots

মনে রাখবেন যে /rootfsএটি আমাদের নতুন মূল ফাইল সিস্টেম হবে, সুতরাং এই পদক্ষেপের পরে বর্তমানের কোনও পরিবর্তন করবেন না।

/rootfs/etc/fstabসিস্টেমটি নতুন রুটফেস সাবভলিউমটিকে রুট ফাইল সিস্টেম হিসাবে ব্যবহার করার জন্য সম্পাদনা করুন । তার জন্য, subvol=rootfsবিকল্পটি অন্তর্ভুক্ত করতে আপনাকে এটি সংশোধন করতে হবে ।

আমাদের নতুন রুট ফাইল সিস্টেমটি কোথাও মাউন্ট করুন, প্রাসঙ্গিক ফাইল সিস্টেমগুলি মাউন্ট করুন (ডেভ, সিস, প্রো, বুট থাকলে এটি), এতে ক্রুট এবং গ্রাব আপডেট করুন:

mount -o subvol=rootfs /dev/sdXX /media/temporary
cd /media/temporary
mount -o bind /dev  dev
mount -o bind /sys  sys
mount -o bind /proc proc
mount -o bind /boot boot
chroot .
update-grub
exit

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

আপনি যদি চান, আপনি ডিফল্ট সাবভলিউমের জন্য একটি স্থায়ী মাউন্ট পয়েন্ট করতে পারেন:

mkdir /media/btrfs/root

তারপরে আপনি mount -o subvolid=0 /dev/sdXX /media/btrfs/rootআপনার স্ন্যাপশট / সাবভলিউম তৈরি করতে এবং তৈরি করতে পারেন ।


1
এছাড়াও মনে রাখবেন, গ্রাব মাউন্ট, ক্রুটিং এবং আপডেট করার পরিবর্তে আপনি কেবল ডিফল্ট সাবভলিউমকে রুটফেস হিসাবে সেট করতে পারেন btrfs subvolume set-default ID /ID`
বিটিআরএফএস

subvol=/rootfs( বিটিআরটিফস উইকি) [ বিটিআরএফস.উইকি.কারেল.আর.ইন্ডেক্স.এফপি / মাউন্ট_ওপশনস]-তে বর্ণিত হিসাবে 'যথাযথ' উপায় বলে মনে হয়েছে সেই হিসাবে আমি যুক্ত করেছি (দ্রষ্টব্য /) । fstab
go2null

@ go2null ব্যবহারের সমস্যাটি subvol=/rootfsহ'ল যে কোনও প্রোগ্রাম যা আপনার লেআউট সম্পর্কে সচেতন নয় (উদাহরণস্বরূপ ডিস্ট্রো ইনস্টলারগুলি) তার পরিবর্তে ডিফল্ট সাবভলিউমটি মাউন্ট করবে। প্রোগ্রামটি যদি ফাইল সিস্টেমটিকে লিনাক্স ফাইল সিস্টেমের মতো দেখতে প্রত্যাশা করে, যদি এটি ব্যর্থ হয়, বা আরও খারাপ হয় - আপনি সেখানে চান না এমন জিনিসগুলি দিয়ে আপনার ডিফল্ট সাবভলিউমটি পূরণ করুন
goncalopp

এইচএমএম, ভেবেছিলেন যে ফাইল সিস্টেমগুলির সাথে যে জগাখিচুড়ি কমপক্ষে চেক fstabবা বুটলোডার কনফিগার করবে।
go2null
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.