সতর্কতা: আমি এই সমাধানটি প্রয়োগ করেছি এবং এটি কাজ করে, তবে স্ন্যাপশটে ফিরে যাওয়ার জন্য মার্জ করার সময়গুলি বুট প্রক্রিয়াটিকে দীর্ঘ সময় নিতে পারে যদি শেষ বুটের সময় সিস্টেমে বড় পরিবর্তন করা হয়েছিল। এই অপেক্ষার সময়কালে, এটি ব্যবহারকারীদের কাছে প্রদর্শিত হতে পারে যে সিস্টেমটি ঝুলছে!
এছাড়াও সাবধান হোন যে যার কাছে স্ন্যাপশট মাউন্ট করার পর্যাপ্ত জ্ঞান রয়েছে তিনি "হিমায়িত" অবস্থায় পরিবর্তন আনতে পারেন। "হিমায়িত" সিস্টেমগুলি আপডেট করার জন্য আমি এই সম্ভাবনার সদ্ব্যবহার করেছি, তবে আবার, এটিও স্ন্যাপশটটি মার্জ করতে (পুনরায় ফিরতে) সময় নিতে পারে!
LVM স্ন্যাপশটগুলি + ক্রোন + লিপি = "হিমায়িত" অবস্থা
আমি সম্প্রতি এলভিএমটিতে খনন শুরু করেছি এবং এটি আমার কাছে ঘটেছিল যে কেউ সম্ভবত এলভিএম ব্যবহার করে কোনও মেশিনে "হিমায়িত" রাষ্ট্র তৈরি করতে পারে এবং এটির স্ন্যাপশট ক্ষমতা রয়েছে। অবশ্যই, এই পদ্ধতির জন্য এমন একটি সিস্টেম প্রয়োজন যা LVM (বা পার্টিশনের কমপক্ষে LVM হিমায়িত করে) ব্যবহার করে কনফিগার করা থাকে।
সারসংক্ষেপ:
- LVM পার্টিশনগুলিতে সিস্টেম ইনস্টল করুন একটি স্ন্যাপশটের জন্য পিভিতে পর্যাপ্ত স্থান সংরক্ষণ করে
- আপনি যেভাবে চান সিস্টেমটি কনফিগার করুন।
- স্ন্যাপশটটি মার্জ করার জন্য বুট-এ রুট হিসাবে চালিত এমন ক্রোন জব তৈরি করুন এবং সংযুক্তকে প্রতিস্থাপন করতে একটি নতুন স্ন্যাপশট তৈরি করুন
- ক্রমাগত সমস্ত রিবুটগুলি স্ন্যাপশটে ফিরে আসে। তৈরি করা সমস্ত স্ন্যাপশটগুলি আপনি যে রাজ্যে এটি তৈরি করেছেন সেই সিস্টেমে নেওয়া হয়।
- একটি অতিরিক্ত বোনাস হিসাবে, স্ন্যাপশটটি মাউন্ট এবং সংশোধন করা যেতে পারে (আপনার যদি শিকড়ের অধিকার রয়েছে) এবং প্রয়োজনে "হিমায়িত" রাষ্ট্র আপডেট করা যেতে পারে।
ধারণার প্রমাণ: একটি ক্লিন ইনস্টল থেকে একটি পার্টিশন বাদে সবকিছু হিমায়িত করুন
ইনস্টল:
- লাইভ উবুন্টু ডিস্ক / ইউএসবি থেকে বুট করুন এবং "ইনস্টল না করে উবুন্টু চেষ্টা করুন" বিকল্পটি চয়ন করুন। LVM- র সাথে ম্যানুয়ালি পার্টিশন কনফিগার করার জন্য এটি গুরুত্বপূর্ণ
- যখন উবুন্টু আপনার পছন্দের সরঞ্জামটি ব্যবহার করে আপনার ডিস্কটি পার্টিশন লোড করে রাখে যাতে এতে একটি পার্টিশন থাকে যা ড্রাইভের পুরো স্থানটি গ্রহণ করে। আমি এখানে যা নিয়ে কাজ করছি তা এখানে:
- টার্মিনালে পরবর্তী এলভিএম চালু করুন
/dev/sda1
। আমি বেশিরভাগ সিস্টেমে একক পার্টিশনে রাখছি, তবে আপনার দরকার নেই।
sudo pvcreate /dev/sda1
sudo vgcreate ubuntu-vg /dev/sda1
sudo lvcreate -n swap -L 1G ubuntu-vg
sudo lvcreate -n unfrozen -L 10G ubuntu-vg
sudo lvcreate -n root -l +50%free ubuntu-vg
- এখন আপনি যদি
sudo vgs
অনুসরণ করে চলতে sudo lvs
চান তবে দেখতে পারা উচিত যে ভলিউম গ্রুপ "উবুন্টু-ভিজি" (ভিগ্রেস আউটপুটের অধীনে ভিফ্রি) ফাঁকা জায়গার পরিমাণ যৌক্তিক ভলিউম "রুট" দ্বারা নেওয়া স্থানের সমান "(Lvs আউটপুট অধীনে এল সাইজ)। আমার ক্ষেত্রে, উবুন্টু-ভিজিতে আমার 506.44 জি বিনামূল্যে এবং আমার মূল বিভাজন 506.44 জি বড়। যদি ভলিউম গ্রুপে থাকা ফাঁকা স্থানটি আমি যে পার্টিশনটি হিমায়িত করতে চাই তার আকারের সমান, আমার পুরো পার্টিশনটি মুছতে সক্ষম হওয়া উচিত এবং এখনও একটি রিবুট দিয়ে পুনরুদ্ধার করতে সক্ষম হব। উবুন্টু-ভিজি-র বাকী মুক্ত স্থানটি আপাতত অব্যবহৃত রাখুন। আমরা এটি পরে ব্যবহার করব।
- এখন ম্যানুয়াল পার্টিশন ব্যবহার করে উবুন্টু ইনস্টল করুন
- ইনস্টল শেষ হয়ে গেলে এগিয়ে যান এবং নতুন ইনস্টল হওয়া সিস্টেমে পুনরায় বুট করুন।
- আপনার নতুন সিস্টেমে বুট করার পরে এটিটি কনফিগার করুন যাতে কম্পিউটারটি প্রতিবার বুট হওয়ার সময় আপনি যেমনটি চান ঠিক তেমনই এটি হয়।
- আপনি যদি স্ন্যাপশটে দুর্ঘটনাবশত পরিবর্তন না করেন এবং আপনি চান না যে স্ন্যাপশট পার্টিশনটি মেনু বারে প্রদর্শিত হবে ...
mkdir /steady
- সম্পাদনা করুন
/etc/fstab
(এই সব এক লাইন) যোগ করে /dev/ubuntu-vg/steadystate /steady ext4 defaults,ro,nofail 0 1
ফাইলের শেষ লাইন হিসেবে
- যেহেতু আপডেটগুলির মতো জিনিসগুলি প্রতিটি রিবুটের সাথে ফুরিয়ে যাবে, আপনি সেগুলি বন্ধ করতে চাইতে পারেন।
- আপনার যদি আমার / হিমায়িত শৃঙ্খলার মতো একটি হিমায়িত পার্টিশন থাকে, তবে এটির ব্যবহারকারীদের কাছে এটি অ্যাক্সেসযোগ্য করতে ভুলবেন না
- আপনি যখন চান সিস্টেমটি ঠিক মতো কনফিগার করে নিলেন, তখন নিম্নলিখিত স্ক্রিপ্টটি তৈরি করুন (আপনার রুট সুবিধার দরকার হবে) এবং
/root/steadystate.sh
আপনার প্রিয় সম্পাদক হিসাবে সংরক্ষণ করুন । মনে রাখবেন যে LVM সেট আপ করার সময় আপনি যদি ভলিউম গোষ্ঠীর নাম পরিবর্তন করেন তবে আপনাকে নীচের স্ক্রিপ্টেও এটি আপডেট করতে হবে।
#!/bin/bash
LOG=/dev/kmsg
# wait for merge in progress
echo -n "Reverting to snapshot if present... " | tee -a $LOG
merging=1
while [ "$merging" == "1" ];
do
/usr/sbin/service lightdm stop #prevent the auto-login/login screen from loading
[ "$(sudo lvs -a | grep steadystate)" == "" ] && merging=0
sleep 1
done
# create snapshot
echo -n "Creating new snapshot... " | tee -a $LOG
/sbin/lvcreate -s -n steadystate -l +100%free /dev/ubuntu-vg/root
# make sure root comes online before trying to merge
while [ ! -e /dev/mapper/ubuntu--vg-root];
do
sleep .5;
done
echo -n "Scheduling reset to snapshot... " | tee -a $LOG
/sbin/lvconvert --merge /dev/ubuntu-vg/steadystate
echo -n "Starting lightdm... " | tee -a $LOG
/usr/sbin/service lightdm start
- শেষ পর্যন্ত রান করুন
sudo crontab -e
, একটি সম্পাদক নির্বাচন করুন এবং @reboot /bin/bash /root/steadystate.sh
ফাইলের শেষে রাখুন। সংরক্ষণ করুন এবং বন্ধ করুন ( Ctrl+ X; Yসংরক্ষণের উত্তর )
- পুনরায় বুট করুন, এবং আপনার এমন একটি সিস্টেম থাকা উচিত যা পার্শ্বস্থ / অপ্রোজিত পার্টিশন ব্যতীত হিমায়িত
এটি কাজ করে কারণ বুট সময়ে স্ন্যাপশট তৈরি হয়েছিল এবং এরপরে স্ন্যাপশটটি মার্জ করার জন্য আমরা কমান্ডটি সত্ত্বেও, রুটের জন্য লজিক্যাল ভলিউম সক্রিয় থাকা অবস্থায় স্ন্যাপশটটি মার্জ করা যায় না। এটি পরবর্তী সময় / দেব / উবুন্টু-ভিজি / রুট সক্রিয় না হওয়া পর্যন্ত মার্জ অ্যাকশন স্থগিত করে যা পরবর্তী পুনরায় বুটে রয়েছে। সিস্টেমটি কোনও লাইভ ইউএসবি থেকে বুট করা থাকলে এই ক্রিয়াটিও ট্রিগার করা হবে।
কেবল কিক্সের জন্য, আমি একটি রিবুট করার পরে ranুকেছিলাম এবং দৌড়েছিলাম sudo apt remove --purge firefox* libreoffice-* unity*
যা আমি সাধারণত করার পরামর্শ দিই না কারণ এটি কিছু দরকারী প্রোগ্রামগুলি সরিয়ে দেয় এবং সিস্টেমটিকে এমন কিসে রাখে যা পছন্দসই চেয়ে কম হতে পারে!
সিস্টেমটি জিইউআই থেকে সঠিকভাবে বন্ধও করবে না। সুতরাং কিভাবে এটি ঠিক করে? রিবুট!
পুনরায় বুট করার পরে, সমস্ত কিছু আবার ফিরে এসেছিল। ফায়ারফক্স, লিব্রেফিস, এবং ইউনিটি যেখানে ছিল সেগুলি ফিরে এসেছিল।
আমি লিনাক্স * অপসারণ করার চেষ্টাও করেছি। এই মেশিনটি বুট করতে অক্ষম হয়েছে, তবে, সরাসরি উবুন্টু ডিস্ক থেকে বুট করার ফলে মনে হয়েছে যে মার্জটি ঘটেছে। পুনরায় আরম্ভ করা সিস্টেমটিকে তার "হিমশীতল" অবস্থায় ফেলেছে
আপনি যদি পরিবর্তন করতে সক্ষম হতে চান, আপনি (পুনরায়) আর ডাব্লু সুবিধাসহ স্ন্যাপশটটি মাউন্ট করতে পারেন এবং তারপরে ক্রট করে আপনি স্থায়ী থাকতে চান এমন কোনও পরিবর্তন করতে পারেন। এটি ত্রুটিযুক্ত নয়, তবে এটি ধারণার প্রমাণ।