আমি /boot
পার্টিশনের জন্য 200 এমবি নিযুক্ত করেছি । আমি যখনই কার্নেলটি আপডেট করার চেষ্টা করি তখন আমি একটি ত্রুটি বার্তা পাই যা মূলতঃ /boot
পূর্ণভাবে লেখা আছে states
/boot
পুরানো কার্নেলগুলি মুছে ফেলতে এবং সরিয়ে / ব্যাকআপ করতে আমি কী করতে পারি ?
আমি /boot
পার্টিশনের জন্য 200 এমবি নিযুক্ত করেছি । আমি যখনই কার্নেলটি আপডেট করার চেষ্টা করি তখন আমি একটি ত্রুটি বার্তা পাই যা মূলতঃ /boot
পূর্ণভাবে লেখা আছে states
/boot
পুরানো কার্নেলগুলি মুছে ফেলতে এবং সরিয়ে / ব্যাকআপ করতে আমি কী করতে পারি ?
উত্তর:
প্রথমে আপনার কার্নেল সংস্করণটি পরীক্ষা করুন, সুতরাং আপনি চালিত ইন-ব্যবহারের কার্নেল চিত্রটি মুছবেন না:
uname -r
ইনস্টল করা কার্নেলের তালিকার জন্য এখন এই কমান্ডটি চালান:
dpkg --list 'linux-image*' | grep ^ii
এবং আর চালানোর পরে আপনি যে কার্নেলগুলি চান / প্রয়োজন চান তা মুছুন:
sudo apt-get remove linux-image-VERSION
আপনি মুছে ফেলতে চান সেই কার্নেলের সংস্করণটি দিয়ে ভার্সনটি প্রতিস্থাপন করুন।
আপনি যখন পুরানো কার্নেলগুলি অপসারণের কাজ শেষ করেন, তখন আপনার আর প্রয়োজন হয় না এমন প্যাকেজগুলি সরাতে আপনি এটি চালাতে পারেন:
sudo apt-get autoremove
এবং পরিশেষে আপনি গ্রাব কার্নেল তালিকা আপডেট করতে এটি চালাতে পারেন:
sudo update-grub
sudo dpkg --list 'linux-image*' | grep ^ii
কেবল ইনস্টল করা কার্নেলগুলি দেখতে এটি কিছুটা সহজ করে তোলে। এছাড়াও আমি মনে করি এটি update-grub
নিরীহ তবে কঠোরভাবে প্রয়োজনীয় নয়, আপনি যখন কার্নেলটি আনইনস্টল করেন তখন এটি স্বয়ংক্রিয়ভাবে চালিত হয়।
sudo dpkg --list 'linux-image*' | grep ^ii | awk '{print $2}' | sort | egrep "[0-9]-generic" | head -n -3 | tr '\n' ' '; echo ""
প্যাকেজের নামের সাথে ব্যবহারের তালিকা পেতে ব্যবহার করুন sudo apt-get remove
। head -n -3
সিস্টেমে 3 সাম্প্রতিক কার্নেলগুলি বামে রাখতে ব্যবহৃত হয়।
apt-get remove `dpkg --list 'linux-image*' |grep ^ii | awk '{print $2}'\ | grep -v \`uname -r\``
sudo apt-get autoremove
পর্যাপ্ত হওয়া উচিত (সাধারণত শেষ 3 কার্নেল দিয়ে আপনাকে ছেড়ে দেওয়া হয়)
/boot
পূর্ণ so তাই apt-get
কিছু ত্রুটি কোড বা অন্য কোনও ক্ষেত্রে ব্যর্থ হবে। নীচের উত্তরটি কিছুটা "হ্যাকিয়ার" (আমাকে অবশ্যই স্বীকার করতে হবে যে rm -rf
এটি প্রকাশের জন্য আমাকে নিজেকে স্টিল করতে হয়েছিল /boot
) তবে এই পরিস্থিতিতে সম্ভবত একমাত্র কাজ করার সম্ভাবনা রয়েছে।
দ্রষ্টব্য: এটি কেবলমাত্র যদি আপনি 100% পূর্ণ / বুটের কারণে পরিষ্কার করতে ব্যবহার করতে না পারেন
যদি আপনার / বুটটি 100% এ থাকায় এপট-গেট কাজ না করে তবে আপনাকে প্রথমে / বুট পরিষ্কার করতে হবে। এটি সম্ভবত আংশিক ইনস্টলটিতে কার্নেল আপগ্রেড পেয়েছে যার অর্থ অ্যাপ্লিকেশন পুরোপুরি হিমশীতল হয়ে গেছে এবং আপনাকে apt-get -f install
এই আদেশটি ব্যর্থ রাখার পরেও চালিয়ে যেতে বলবে ।
কার্নেল চিত্রগুলির তালিকা পান এবং নির্ধারণ করুন যে আপনি ছাড়া কী করতে পারেন। এই কমান্ডটি বর্তমানে চলমান একটি ছাড়া ইনস্টল করা কার্নেলগুলি প্রদর্শন করবে sudo dpkg --list 'linux-image*'|awk '{ if ($1=="ii") print $2}'|grep -v `uname -r`
। তালিকার দুটি নতুন সংস্করণ নোট করুন। রানিংটি এখানে তালিকাভুক্ত না হওয়ায় আপনার চিন্তা করার দরকার নেই। আপনি এটি দিয়ে পরীক্ষা করতে পারেন uname -r
।
কার্নেলগুলির জন্য / বুটে সমস্ত ফাইল মুছে ফেলার জন্য একটি কমান্ড তৈরি করুন যা আপনাকে বুদ্ধিমান রাখতে ব্রেস প্রসারণ ব্যবহার করে আপনার পক্ষে গুরুত্বপূর্ণ নয়। বর্তমান এবং দুটি নতুন কর্নেল চিত্র বাদ দিতে ভুলবেন না। উদাহরণ: sudo rm -rf /boot/*-3.2.0-{23,45,49,51,52,53,54,55}-*
। আপনি সিনট্যাক্স {80..84} সহ একটি ব্যাপ্তিও ব্যবহার করতে পারেন}
sudo apt-get -f install
আংশিক ইনস্টল সম্পর্কে অ্যাপ্ট গ্রম্পী কী তৈরি করছে তা পরিষ্কার করতে।
যদি আপনি এমন কোনও ত্রুটিতে চলে যান যা "অভ্যন্তরীণ ত্রুটি: চিত্র (/ বুট / ভিএমলিনিউজ 3.2.0-56- জেনারিক) সন্ধান করতে পারে না") এর মতো একটি লাইন অন্তর্ভুক্ত করে, তবে কমান্ডটি চালান sudo apt-get purge linux-image-3.2.0-56-generic
(আপনার উপযুক্ত সংস্করণ সহ)।
অবশেষে, sudo apt-get autoremove
পুরাতন কার্নেল চিত্র প্যাকেজগুলি মুছে ফেলার জন্য যা ম্যানুয়াল বুট ক্লিন দ্বারা এতিম হয়েছে।
সম্পূর্ণ / বুট পার্টিশনটি আবিষ্কার করার অপেক্ষায় আপনি কোনও ব্যাকআপ নিয়ে থাকতে পারেন এমন কোনও আপগ্রেডের পরামর্শ, রান করুন sudo apt-get update
এবং sudo apt-get upgrade
যত্ন নিন।
পরামর্শ 2, https://help.ubuntu.com/commune/A AutomaticSecurityUpdates পর্যালোচনা করুন এবং অপ্রচলিত-আপগ্রেড সেট করুন: / অপটিকৃত-নির্ভরতাগুলি /etc/apt/apt.conf.d/50unattended-upgrades এ সত্য হিসাবে নির্ধারণ করুন। আপনি অব্যবহৃত কার্নেলগুলি পরিষ্কার করেছেন তা নিশ্চিত হওয়ার জন্য প্রতিটি সুরক্ষা আপডেটের পরে এটি অটোরেমো চালানোর সমতুল্য হবে তবে ভবিষ্যতে আপনাকে এই সমস্যা থেকে বাঁচানো অব্যবহৃত বলে মনে করে এমন অন্যান্য জিনিসও সরিয়ে ফেলবে।
dpkg --purge
একটি পূর্ণ বুট ব্যবহার করেন তবে নিম্নলিখিতগুলি পাবেন $ sudo dpkg --purge linux-image-3.13.0-65-generic dpkg: dependency problems prevent removal of linux-image-3.13.0-65-generic: linux-image-extra-3.13.0-65-generic depends on linux-image-3.13.0-65-generic. dpkg: error processing package linux-image-3.13.0-65-generic (--purge): dependency problems - not removing Errors were encountered while processing: linux-image-3.13.0-65-generic
df -i
আমি জানতে পেরেছিলাম যে /
পুরানো কার্নেলের সোর্স কোডের জন্য প্রচুর পরিমাণে ফাইলের কারণে আমি ইনওডগুলিও শেষ করেছিলাম/usr/src
Https://help.ubuntu.com/commune/RemoveOldKernels এ এ সম্পর্কে ডকুমেন্টেশন রয়েছে
সংক্ষেপে: ব্যবহার
sudo apt-get autoremove --purge
# and/or:
sudo purge-old-kernels
purge-old-kernels
টুল মাধ্যমে ইনস্টল করা যাবে sudo apt install byobu
। এর ম্যান-পৃষ্ঠা থেকে বর্ণনা এখানে দেওয়া হয়েছে:
এই প্রোগ্রামটি সিস্টেম থেকে পুরানো কার্নেল এবং শিরোলেখ প্যাকেজগুলি সরিয়ে দেবে, ডিস্কের স্থান মুক্ত করে। এটি বর্তমানে চলমান কার্নেলটি কখনও সরিয়ে ফেলবে না। ডিফল্টরূপে এটি কমপক্ষে সর্বশেষতম 2 টি কার্নেল রাখবে, তবে ব্যবহারকারী
--keep
প্যারামিটারটি ব্যবহার করে সেই মানটিকে ওভাররাইড করতে পারে ।
যদি আপনি একটি অনুলিপি-পেস্ট সমাধান চান তবে পুনরায় অনুসন্ধান আইটি ইঞ্জিন নিম্নলিখিত পরামর্শ দিয়েছেন:
sudo apt install -y byobu
sudo purge-old-kernels -y --keep 1
sudo apt-get -y autoremove --purge
apt-get autoremove --purge
যদিও আমার মনে হয় যথেষ্ট হওয়া উচিত।
আমি দেখতে পেয়েছি যে ছোট পার্টিশনটি ত্যাগ করে মূলটিতে চলে যাওয়া অনেক সহজ /boot
। এটি ভবিষ্যতে কোনও স্থান সমস্যা থেকেও বাধা দেয়।
বুট পার্টিশন থেকে আপনার ডেটাটি প্রথমে রুটে স্থানান্তর করুন (চলুন sudo -s
):
cp -a /boot /boot2
umount /boot
rmdir /boot
mv /boot2 /boot
/boot
এন্ট্রি সরান (বা মন্তব্য) /etc/fstab
:
vim /etc/fstab
গ্রাব আপডেট করুন এবং নিশ্চিত করুন যে সবকিছু ঠিক আছে:
update-grub
apt
এখন সমস্যা ছাড়াই আপগ্রেড করতে সক্ষম হওয়া উচিত।
এটি একটি অব্যবহৃত 200 মিমি পার্টিশন ছেড়ে দেয় (যা আপনি যদি সমস্যাটি মনে করেন তবে আপনি অন্য কোনও কিছুর জন্য এটি ব্যবহার করতে পারেন)।
পুরানো কার্নেলগুলি অপসারণ করা হচ্ছে (বুট-এ স্পেস ফাঁকা করার জন্য) দেখুন: http://askubuntu.com/questions/89710/how-do-i-free-up-more-space-in-boot
sudo apt-get purge $(dpkg -l linux-{image,headers}-"[0-9]*" | awk '/ii/{print $2}' | grep -ve "$(uname -r | sed -r 's/-[a-z]+//')")
তারপরে দৌড়াও
sudo apt-get update
sudo apt-get autoremove
এটি শেষ 2 টি কার্নেল ছাড়া সমস্ত অপসারণ করে। উবুন্টু ১.0.০৪ এলটিএস-তে পরীক্ষিত যখন /boot
100% ক্ষমতা ছিল এবং apt-get upgrade
এটি শেষ কার্নেল আপগ্রেডে ব্যর্থ হয়েছিল। কার্নেল অটোরমোভটি পুনরাবৃত্ত হয়, সুতরাং আপনি যদি বেশ কয়েকটি কার্নেল পেয়ে থাকেন তবে সেগুলি একবারে একটি করে সরানো হবে। সুতরাং ধৈর্য ধরুন।
আপনি যখন কোনও সরঞ্জাম দিয়ে এটি করতে পারেন তখন কেন এটি হাতছাড়া করবেন? আপনি জানেন যে এটি আবার 30 সেকেন্ডের মধ্যে আপনার প্রয়োজন হবে, কারণ আজকাল তাদের জন্য একটি নতুন কার্নাল আপডেট ঠেকাতে 30 সেকেন্ড সময় লাগে = পি
আমি এই সরঞ্জামটি ব্যবহার করার পরামর্শ দিচ্ছি, বুটনোকেম
git clone https://github.com/erichs/bootnukem.git
cd bootnukem
sudo ./install.sh
তারপর
sudo bootnukem --dry-run
--dry-run
একবারে নিশ্চিত হয়ে গেলে এটি নিরাপদ দেখাচ্ছে Remove