/ বুট পূর্ণ হলে আমি কীভাবে পুরানো কার্নেলগুলি সরিয়ে / নতুন ইনস্টল করতে পারি?


31

আমি জানি এই প্রশ্নটি আগে অনেকবার জিজ্ঞাসা করা হয়েছিল, তবে আমার সাথে এটি অনুমান করা কিছুটা আলাদা।

# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3       224G  5.2G  208G   3% /
udev            1.9G  4.0K  1.9G   1% /dev
tmpfs           777M  260K  777M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            1.9G     0  1.9G   0% /run/shm
/dev/sda2        90M   88M     0 100% /boot
/dev/sda6       1.9G  514M  1.3G  29% /tmp

আমার বুট বিভাজন পূর্ণ is

বর্তমান কার্নেল:

# uname -r
3.2.0-35-generic

সমস্ত কার্নেল:

# dpkg --list | grep linux-image
ii  linux-image-3.2.0-32-generic    3.2.0-32.51                         Linux kernel image for version 3.2.0 on 64 bit x86 SMP
ii  linux-image-3.2.0-34-generic    3.2.0-34.53                         Linux kernel image for version 3.2.0 on 64 bit x86 SMP
ii  linux-image-3.2.0-35-generic    3.2.0-35.55                         Linux kernel image for version 3.2.0 on 64 bit x86 SMP
iF  linux-image-3.2.0-37-generic    3.2.0-37.58                         Linux kernel image for version 3.2.0 on 64 bit x86 SMP
iF  linux-image-3.2.0-38-generic    3.2.0-38.60                         Linux kernel image for version 3.2.0 on 64 bit x86 SMP
iU  linux-image-generic             3.2.0.37.45                         Generic Linux kernel image

সুতরাং আমি এর সাথে 3.2.0.32-জেনেরিক কার্নেলটি অপসারণের কথা ভেবেছিলাম:

# sudo apt-get purge linux-image-3.2.0-32-generic
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 linux-generic : Depends: linux-headers-generic (= 3.2.0.37.45) but 3.2.0.38.46 is to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

সাফল্য নেই.

আমি চেষ্টা করার সময় apt-get -f installএটি ব্যর্থ হয়:

# apt-get -f install
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
  linux-headers-3.2.0-34 linux-headers-3.2.0-35 linux-headers-3.2.0-34-generic linux-headers-3.2.0-35-generic
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  linux-generic linux-image-generic
The following packages will be upgraded:
  linux-generic linux-image-generic
2 upgraded, 0 newly installed, 0 to remove and 9 not upgraded.
5 not fully installed or removed.
Need to get 0 B/4,334 B of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue [Y/n]? y
Setting up initramfs-tools (0.99ubuntu13.1) ...
update-initramfs: deferring update (trigger activated)
Setting up linux-image-3.2.0-37-generic (3.2.0-37.58) ...
Running depmod.
update-initramfs: deferring update (hook will be called later)
The link /initrd.img is a dangling linkto /boot/initrd.img-3.2.0-38-generic
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 3.2.0-37-generic /boot/vmlinuz-3.2.0-37-generic
update-initramfs: Generating /boot/initrd.img-3.2.0-37-generic

gzip: stdout: No space left on device
E: mkinitramfs failure cpio 141 gzip 1
update-initramfs: failed for /boot/initrd.img-3.2.0-37-generic with 1.
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/linux-image-3.2.0-37-generic.postinst line 1010.
dpkg: error processing linux-image-3.2.0-37-generic (--configure):
 subprocess installed post-installation script returned error exit status 2
Setting up linux-image-3.2.0-38-generic (3.2.0-38.60) ...
Running depmod.
update-initramfs: deferring update (hook will be called later)
The link /initrd.img is a dangling linkto /boot/initrd.img-3.2.0-37-generic
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 3.2.0-38-generic /boot/vmlinuz-3.2.0-38-generic
update-initramfs: Generating /boot/initrd.img-3.2.0-38-generic

gzip: stdout: No space left on device
E: mkinitramfs failure cpio 141 gzip 1
update-initramfs: failed for /boot/initrd.img-3.2.0-38-generic with 1.
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/linux-image-3.2.0-38-generic.postinst line 1010.
dpkg: error processing linux-image-3.2.0-38-generic (--configure):
 subprocess installed post-installation script returned error exit status 2
dpkg: dependency problems prevent configuration of linux-image-generic:
 linux-image-generic depends on linux-image-3.2.0-37-generic; however:
  Package linux-image-3.2.0-37-generic is not configured yet.
dpkg: error processing linux-image-generic (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of linux-generic:
 linux-generic depends on linux-image-generic (= 3.2.0.37.45); however:
  Package linux-image-generic is not configured yet.
 linux-generic depends on linux-headers-generic (= 3.2.0.37.45); however:
  Version of linux-headers-generic on system is 3.2.0.38.46.
dpkg: error processing linux-generic (--configure):
 dependency problems - leaving unconfigured
Processing triggers for initramfs-tools ...
No apport report written because the error message indicates its a followup error from a previous failure.
No apport report written because MaxReports is reached already
  update-initramfs: Generating /boot/initrd.img-3.2.0-35-generic

gzip: stdout: No space left on device
E: mkinitramfs failure cpio 141 gzip 1
update-initramfs: failed for /boot/initrd.img-3.2.0-35-generic with 1.
dpkg: error processing initramfs-tools (--configure):
 subprocess installed post-installation script returned error exit status 1
No apport report written because MaxReports is reached already
Errors were encountered while processing:
 linux-image-3.2.0-37-generic
 linux-image-3.2.0-38-generic
 linux-image-generic
 linux-generic
 initramfs-tools
E: Sub-process /usr/bin/dpkg returned an error code (1)

কোন সাহায্য সত্যিই প্রশংসা হবে।

আপডেট: আমি করেছি:

sudo rm /boot/*-3.2.0-32-generic /boot/*-3.2.0-34-generic

এর পরে নিম্নলিখিত সমস্যাগুলি apt-get -f install:

root@localhost:/# apt-get -f install
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following extra packages will be installed:
  linux-generic
The following packages will be upgraded:
  linux-generic
1 upgraded, 0 newly installed, 0 to remove and 9 not upgraded.
1 not fully installed or removed.
Need to get 0 B/1,722 B of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue [Y/n]? y
dpkg: dependency problems prevent configuration of linux-generic:
 linux-generic depends on linux-image-generic (= 3.2.0.37.45); however:
  Version of linux-image-generic on system is 3.2.0.38.46.
 linux-generic depends on linux-headers-generic (= 3.2.0.37.45); however:
  Version of linux-headers-generic on system is 3.2.0.38.46.
dpkg: error processing linux-generic (--configure):
 dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error     from a previous failure.
                      Errors were encountered while processing:
 linux-generic
E: Sub-process /usr/bin/dpkg returned an error code (1)


জায়গার অভাবে যখন অটোরেমভ কাজ করে না তার জন্য আমার উত্তরটি দেখুন।
nslntmnx

উত্তর:


22

আপনার কার্নেলটি পুরানো হয়ে গেলে আপনি এপটি-গেট ব্যবহার করতে পারবেন না।

cd /boot
sudo rm *-2.6.35-6.9-generic
sudo rm *-3.16.0-23-generic

lsফোল্ডারে যা রয়েছে তা দেখতে ব্যবহার করুন তারপরে এক বা দুটি প্রাচীনতম সরিয়ে ফেলুন

sudo apt-get -f install

তারপরে আপনি উভয় হিসাবে ভাল হিসাবে খাঁটি পেতে

sudo apt-get purge linux-image-3.2.0-32-generic linux-image-3.2.0-34-generic

অথবা কেবল আরএম দিয়ে চালিয়ে যান।

আপনি sudo update-grubসমাপ্ত যখন আপনি করা উচিত


ইনস্টল কমান্ডটি অনেক পুরানো কার্নেলগুলি পুনরায় ইনস্টল করে, যার ফলে একটি সম্পূর্ণ বুট ডিস্ক হয়। শুদ্ধ আদেশ আমার জন্য এটি সমাধান।
এসপিআরবিএনএন

আমি এই উত্তরটি অবধি অনুসরণ করেছি sudo apt-get -f install, তারপরে পুনরায় শুরু করেছি নিশ্চিত হয়েছি যে সমস্ত ভাল আছে এবং বাকিটি সরিয়ে ফেলা apt autoremoveহয়েছে পূর্ববর্তী কমান্ড আউটপুট অনুসারে।
বার্ট সি

10

স্পষ্টতই, এটি কাজ করে:

sudo apt-get autoremove 

apt-getম্যান পেজ অনুসারে :

অন্যান্য প্যাকেজগুলির জন্য নির্ভরতা মেটাতে স্বয়ংক্রিয়ভাবে ইনস্টল হওয়া প্যাকেজগুলি অপসারণ করতে অটোরিমোভ ব্যবহার করা হয় এবং এখন আর প্রয়োজন হয় না।

৩.১16.০-৩৯ হ'ল ​​আমি ইনস্টল করার চেষ্টা করেছি তবে ব্যর্থ হয়েছে কারণ / বুট পূর্ণ ছিল। 3.16.0-38 আমার বর্তমান সংস্করণ। আপনি দেখতে পারেন যে -38 এড়িয়ে গেছে।

server:~$ uname -r
3.16.0-38-generic
server:~$ sudo apt-get autoremove 
[sudo] password for mikeb: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  linux-headers-3.16.0-30 linux-headers-3.16.0-30-generic
  linux-headers-3.16.0-31 linux-headers-3.16.0-31-generic
  linux-headers-3.16.0-33 linux-headers-3.16.0-33-generic
  linux-headers-3.16.0-34 linux-headers-3.16.0-34-generic
  linux-headers-3.16.0-36 linux-headers-3.16.0-36-generic
  linux-headers-3.16.0-39 linux-headers-3.16.0-39-generic
  linux-image-3.16.0-30-generic linux-image-3.16.0-31-generic
  linux-image-3.16.0-33-generic linux-image-3.16.0-34-generic
  linux-image-3.16.0-36-generic linux-image-3.16.0-39-generic
  linux-image-extra-3.16.0-30-generic linux-image-extra-3.16.0-31-generic
  linux-image-extra-3.16.0-33-generic linux-image-extra-3.16.0-34-generic
  linux-image-extra-3.16.0-36-generic linux-image-extra-3.16.0-39-generic
0 upgraded, 0 newly installed, 24 to remove and 0 not upgraded.

আমি এই উত্তরটি পছন্দ করি তবে এটি ঠিক কী তা জানতে কিছু ম্যানুয়াল মিস করে autoremove
s3m3n

1
যদি পূর্ব-সারিযুক্ত অ্যাপ্লিকেশনগুলি যথাযথভাবে সম্পূর্ণ হয় তবে স্বতঃস্থাপন কাজ করে। আপনি যদি ইতিমধ্যে 'ডিভাইসে কোনও স্থান অবশিষ্ট রাখেন না' ত্রুটিটি পেয়ে থাকেন তবে স্বতঃআপনার কাজ করবে না - পূর্ববর্তী সারিবদ্ধ ক্রিয়াগুলি ব্যর্থ হবে, এবং স্বতঃস্থাপন চলবে না। অন্য কথায়, অটোরেমোভ কাজ করে ... যতক্ষণ না এটি হয়।
ব্যবহারকারীর 3535733

@ user535733 আপনি সঠিক। জায়গার অভাবে যখন অটোরেমভ কাজ করে না তার জন্য আমার উত্তরটি দেখুন।
nslntmnx

7

টার্মিনালে, নিম্নলিখিত কমান্ডটি প্রয়োগ করুন:

dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo apt-get purge

এই কমান্ডটি বর্তমানে ইনস্টল করা সমস্ত লিনাক্স কার্নেল তালিকাভুক্ত করে, যা বর্তমানে ব্যবহৃত হয় না এমন সমস্তগুলি নির্বাচন করে এবং সেগুলি সরিয়ে দেয়।


2
সম্ভবত আপনি ব্যাখ্যা করতে চান এই আদেশটি ঠিক কী করে। এটি বরং জটিল বলে মনে হচ্ছে: সাধারণভাবে, লোকেরা যাতে বোঝে না এমনভাবে চালানো কমান্ডগুলি থেকে দূরে থাকতে হবে - বিশেষত তাদের সিস্টেমের জন্য গুরুত্বপূর্ণ কিছু।
এমটিদেবन्स

@ এমটিডেভানস: আমি যুক্ত করেছি যে উপরের কমান্ডটি বর্তমানে ইনস্টল করা সমস্ত লিনাক্স কার্নেলকে তালিকাভুক্ত করে, বর্তমানে বর্তমানে ব্যবহৃত না হওয়া সমস্তগুলি নির্বাচন করে এবং বর্তমানে ব্যবহার করা হয়নি এমন সমস্ত কার্নেলগুলি সরিয়ে ফেলবে।
ক্রিস্টিয়ান

4
কমান্ডটি দরকারী, আপনি কি মুছতে চলেছেন তা যাচাই করতে প্রথমে "| xargs" এর আগে অংশটি চালান। এছাড়াও, | সর্বশেষতম কার্নেল সংরক্ষণের জন্য grep -v এর প্রয়োজন হতে পারে, যা এখনও ব্যবহার নাও হতে পারে, চেয়েছিল।
রোমান সুসি

4
এটি বিপজ্জনক কারণ এটি লিনাক্স-লিব্যাক-দেবের সাথেও মেলে: এএমডি 64
ফ্রেডেরিক নর্ড

2
dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo apt-get -y purge

যদি "sudo apt-get -y purge" ছাড়াই উপরের কমান্ডটি চালানো হয় তবে আপনার লিনাক্স-লিবিসি-ডেও: এমডি 64 এর সাথে মেলে আপনি এটিতে অন্তর্ভুক্ত না করার জন্য রেজিজে একটি সেমিকোলন যুক্ত করতে পারেন:

dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ :]*\).*/\1/;/[0-9]/!d' | xargs

এখন এটি নিশ্চিত হয়েছে কি না তা নিশ্চিত করে "sudo apt-get -y purge" যুক্ত করুন


1

উবুন্টু 12.04 এর জন্য এটি ব্যবহার করে দেখুন sudo apt-get purge linux-image-[kernel version]

এটি কোনও কার্নেল সংস্করণ মুছে ফেলবে। যদি আপনার বুট ফোল্ডারে অনেকগুলি কার্নেল থাকে তবে গ্রাব আপডেট করা এবং আপনার সিস্টেমটি পুনরায় চালু করতে ভুলবেন না

প্রাক্তন। সুডো অ্যাপ্লিকেশন-পিউরিজ লিনাক্স-ইমেজ-3.11.6 *


2
সমস্যাটি হ'ল এটি যখন কাজ করে না তখন যখন কারও কাছে এমন একটি বিষয় থাকে যেখানে পূর্বের মতো নির্ভরতা সমস্যা রয়েছে।
পাওলো ইবারম্যান

এটি আমার পক্ষে কাজ করে!
ড্যানিয়েল

0

অনেক উত্তর "অপ্ট অটোমোমোভ" ব্যবহার করতে বলে তবে এটি / বুট পূর্ণ হলে কাজ করতে পারে না কারণ অ্যাপ্লিকেশন অপসারণের আগে কার্নেলগুলি যুক্ত করার চেষ্টা করে।

পরবর্তী অ্যাপটি স্বয়ংক্রিয়ভাবে /etc/apt/apt.conf.d/01autoremove-kernels এ উল্লিখিত কোনও কার্নেল সরিয়ে ফেলবে না যাতে আমাদের এটি ঠিক করা দরকার।

এই প্রক্রিয়াটি আমার পক্ষে কাজ করেছিল।

অযাচিত কার্নেল কনফিগারেশন ফাইলগুলি সরান।

sudo dpkg --purge $ (COLUMNS = 200 dpkg -l | গ্রেপ "লিনাক্স-চিত্র-অতিরিক্ত" | গ্রেপ "^ আরসি" | টিআর-এস '' | কাট-ডি '' -f 2)

/Etc/apt/apt.conf.d/01autoremove-kernels চালিয়ে আপডেট করুন ...

sudo /etc/kernel/postinst.d/apt-auto-removal

আশা করি অ্যাপটি অটোরমোভ কাজ করবে।

sudo apt autoremove --purge

না হলে আপনার / বুট থেকে খুব পুরানো এবং অব্যবহৃত কার্নেলগুলি ম্যানুয়ালি মুছে ফেলতে সক্ষম হওয়া উচিত able

প্রথমে আপনি কোন কার্নেলটি চালাচ্ছেন তা সন্ধান করুন।

uname -r

আপনার বর্তমান কার্নেল বা পূর্ববর্তী কার্নেলটি সরিয়ে ফেলবেন না।

sudo rm /boot/initrd.img-V.XX.Y-ZZ-generic

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


-2

আমি আশা করি এটি সাহায্য করতে পারে:

আমি সাধারণত ওবুন্টু-টুইক জ্যানিটর, দুর্দান্ত জিইআইআই এবং সহজ ব্যবহার করে পুরানো কার্নেলগুলি মুছুন :)

'সিস্টেমে' ক্লিক করুন এবং সেখানে পুরানো কার্নেলের তালিকা থাকবে, কেবল এটি ক্লিক করুন এবং পরিষ্কার করুন


1
এটি একটি উবুন্টু সার্ভার এবং আমি পুট্টির মাধ্যমে সংযুক্ত আছি। (তবে সার্ভারে আমার ওয়েবমিনেও উপলব্ধতা রয়েছে)
মার্সেল

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