উবুন্টু-এ-ডু-রিলিজ-আপগ্রেডের মাধ্যমে রিলিজ আপগ্রেড ব্যর্থ হওয়ার পরে অপ্রচলিত প্যাকেজগুলি কীভাবে সরিয়ে ফেলবেন?


14

কখনও কখনও, যখন আমি কোনও সিস্টেমের মাধ্যমে আপগ্রেড করি do-release-upgrade, আপডেট প্রক্রিয়া ব্যর্থ হয় এবং স্ক্রিপ্টটি আমাকে ম্যানুয়ালি প্রক্রিয়াটি শেষ করতে বলে dpkg --configure -a। এটি কোনও গুরুতর সমস্যা নয় - নির্ভরতার সমস্যাটিকে ম্যানুয়ালি সমাধান করার পরে এবং সমাপ্তি আপগ্রেড প্রক্রিয়াটি ভালভাবে কাজ করে।

তবে do-release-upgradeস্ক্রিপ্টটিতে আপগ্রেড শেষ করার পরে একটি ক্লিনআপ প্রক্রিয়া রয়েছে:

Remove obsolete packages?  
XXX packages are going to be removed.  
Continue [yN]  Details [d]y

যা সিস্টেমের পুরানো সংস্করণ থেকে কিছু অপ্রচলিত প্যাকেজ সরিয়ে দেয়।

দেখে মনে হচ্ছে যে স্বয়ংক্রিয়ভাবে আপগ্রেড ব্যর্থ হলে এবং আমি ম্যানুয়ালি আপগ্রেড শেষ করি তখন এই প্রক্রিয়াটি কার্যকর হয় না, সুতরাং পুরানো সংস্করণ থেকে অপ্রচলিত প্যাকেজগুলি সিস্টেমে ইনস্টল থাকে।

হাতের মাধ্যমে আপগ্রেড শেষ করে আমি কীভাবে "অপ্রচলিত প্যাকেজগুলি সরান" প্রক্রিয়াটি ম্যানুয়ালি চালাতে পারি?

উত্তর:


16

এটি পরীক্ষা করুন:

একটি টার্মিনাল খুলুন,

Ctrl+ Alt+ টিপুনT

চালাও এটা:

sudo -i

apt-get update

apt-get autoremove

apt-get clean

UNUSCONF=$(dpkg -l|grep "^rc"|awk '{print $2}')

apt-get remove --purge $UNUSCONF

NEWKERNEL=$(uname -r|sed 's/-*[a-z]//g'|sed 's/-386//g')

ADDKERNEL="linux-(image|headers|ubuntu-modules|restricted-modules)"

METAKERNEL="linux-(image|headers|restricted-modules)-(generic|i386|server|common|rt|xen)"

UNUSKERNELS=$(dpkg -l|awk '{print $2}'|grep -E $ADDKERNEL |grep -vE $METAKERNEL|grep -v $NEWKERNEL)

apt-get remove --purge $UNUSKERNELS

update-grub

1
ধন্যবাদ, এই আদেশগুলি হুবহু আমি চাই, তার মধ্যে প্রধান হ'ল dpkg -l|grep "^rc"|awk '{print $2}'প্যাকেজগুলি অপসারণের জন্য দেখায়। এটি আশ্চর্যজনক যে এপটি-গেট বা প্রবণতা এটি অপসারণের জন্য দেখতে চায় না।
মুরজ

2
পরে আপনার উদাহরণ ব্যর্থ Do রিলিজ আপগ্রেড ভিত্তিক অপসারণ অপ্রচলিত প্যাকেজের জন্য এক-লাইন CLI কমান্ড হল: sudo dpkg -l|grep "^rc"|awk '{print $2}' | xargs sudo apt-get remove -y --purge। মনোযোগ দিন, এই কমান্ডটি নিশ্চিতকরণ ছাড়াই প্যাকেজগুলি সরিয়ে দেয়, তবে দ্রুত ক্লিনআপ সিস্টেমগুলি স্বয়ংক্রিয়ভাবে কার্যকর।
মারজ

আমার সিস্টেমে চিহ্নিত '^rc'চিহ্নিত প্যাকেজগুলি এমনকি ইনস্টল করা হয়নি তবে অপ্রচলিত প্যাকেজগুলি অনুসন্ধান করার আগে আপগ্রেড ব্যর্থ হয়েছিল। সুতরাং এই উত্তরটি অসম্পূর্ণ বলে মনে হচ্ছে। এটি সফল হলে সমস্ত প্যাকেজ সরিয়ে ফেলবে না by do-release-upgrade
রুসলান

2

আমি বিশ্বাস করি "অপ্রচলিত প্যাকেজগুলি সরান" আসলে একটি চালায় sudo apt-get autoremove। এটি চেষ্টা করে দেখুন, এটি সাহায্য করে কিনা।


2
sudo apt-get autoremoveপ্যাকেজগুলির সামান্য অংশ মুছে ফেলা হয়, এটি মুছে ফেলা হয় do-release-upgrade, উদাহরণস্বরূপ do-release-upgradeএকই সিস্টেমে প্রায় 150 টি প্যাকেজ মুছে ফেলা হয়, তবে apt-get autoremove- প্রায় 5-10 প্যাকেজগুলি অপসারণ করে।
মুরজ

1

আমি দেখতে পেয়েছি যে কোনও সম্পর্কযুক্ত প্রশ্নের এই উত্তরটি এমন কোনও ইউটিলিটি এবং কমান্ড সরবরাহ করতে পারে যা অব্যবহৃত সামগ্রীকে আরও সরিয়ে ফেলবে বলে মনে হচ্ছে:

  1. "দেবরফান" প্যাকেজ ইনস্টল করুন।
  2. sudo deborphan | xargs sudo apt-get -y remove --purge
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.