On my laptop, I have several gigs of old kernels lying around, with package names such as linux-image-some_number-generic, linux-image-extra-some_number-generic, linux-headers-some_number, linux-headers-some_number-generic. I want to remove those old kernels, but in a 'safe' way, without inadvertently breaking my system. More specifically, I want to use the package manager aptitude.

I first discovered, from the question 'What does it mean that a package is "set to manually installed?"', that aptitude would not remove these old kernels because they were installed 'manually'. This flag can easily be changed to an 'automatic' flag, which I did. But aptitude is not removing the old kernels regardless.

While trying to figure out why aptitude does not remove these packages, I came across the question 'Can I see why a package is installed?'. Running the command

aptitude why linux-image-some_number-generic

gave me the output

i   nautilus                        Suggests totem | mp3-decoder
p   vlc-nox                         Provides mp3-decoder        
p   vlc-nox                         Depends  libcrystalhd3      
p   libcrystalhd3                   Suggests firmware-crystalhd 
p   firmware-crystalhd              Suggests linux-image        
i A linux-image-some_number-generic Provides linux-image        

It seems that the packages linux-image-some_number-generic provide 'linux-image', which is suggested by a package I do not even have installed!

It seems that apt-get does not mind removing the old kernels (see also the comments to the accepted answer of the question 'Is aptitude still considered superior to apt-get?'). Running the command

sudo apt-get autoremove

produces the desired result; apt-get asks me if I want to remove all of the packages that I flagged 'automatic'.

My question is the following: How do I make aptitude remove these packages in a way such that aptitude ensures that no dependencies are broken?

EDIT: The following unanswered question seems to be related: Aptitude conflicts with apt-get. EDIT: The following question may also be related: aptitude ugrade does not change my kernel. EDIT: I found a question on unix stackexchange which may also be related: Aptitude doesn't remove automatically installed packages.

  • Great question! aptitude does all my package management work except for this. Mar 8 '17 at 14:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.