JP Vossen on 20 Nov 2015 09:50:40 -0800


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: [PLUG] Kernel autoremove works on Debian & Mint, not Ubuntu


Nope, mine are all single OS installs, I put other stuff in VMs.

The list below looks OK to me, so I assume you mean that some of those
kernels should not be removed because Slackware wants them?  You may be
able to fiddle with your Kubuntu
'/etc/kernel/postinst.d/apt-auto-removal' file to add those to the
'/etc/apt/apt.conf.d/01autoremove-kernels' file, or edit that latter
file manually (but it will get nuked and re-created).

On 11/20/2015 12:31 PM, Keith C. Perry wrote:
> Ok so I just ran "apt-get autoremove --purge" and got this...
> 
> ~ ~ ~
> 
> apt-get autoremove --purge
> Reading package lists... Done
> Building dependency tree       
> Reading state information... Done
> The following packages will be REMOVED:
>   linux-headers-3.13.0-29* linux-headers-3.13.0-29-generic*
>   linux-headers-3.13.0-37* linux-headers-3.13.0-37-generic*
>   linux-headers-3.13.0-39* linux-headers-3.13.0-39-generic*
>   linux-headers-3.13.0-45* linux-headers-3.13.0-45-generic*
>   linux-headers-3.13.0-53* linux-headers-3.13.0-53-generic*
>   linux-headers-3.13.0-57* linux-headers-3.13.0-57-generic*
>   linux-headers-3.13.0-61* linux-headers-3.13.0-61-generic*
>   linux-headers-3.13.0-65* linux-headers-3.13.0-65-generic*
>   linux-headers-3.13.0-66* linux-headers-3.13.0-66-generic*
>   linux-image-3.13.0-29-generic* linux-image-3.13.0-37-generic*
>   linux-image-3.13.0-39-generic* linux-image-3.13.0-45-generic*
>   linux-image-3.13.0-53-generic* linux-image-3.13.0-57-generic*
>   linux-image-3.13.0-61-generic* linux-image-3.13.0-65-generic*
>   linux-image-3.13.0-66-generic* linux-image-extra-3.13.0-29-generic*
>   linux-image-extra-3.13.0-37-generic* linux-image-extra-3.13.0-39-generic*
>   linux-image-extra-3.13.0-45-generic* linux-image-extra-3.13.0-53-generic*
>   linux-image-extra-3.13.0-57-generic* linux-image-extra-3.13.0-61-generic*
>   linux-image-extra-3.13.0-65-generic* linux-image-extra-3.13.0-66-generic*
> 0 upgraded, 0 newly installed, 36 to remove and 2 not upgraded.
> After this operation, 2,438 MB disk space will be freed.
> Do you want to continue? [Y/n]
> 
> ~ ~ ~
> 
> So apparently Kubuntu knows that there is something to be purged but my Slackware partition is causing a problem with grub rewriting the grub config file so it actually doesn't effectively purge all the old kernels for me.
> 
> So out of curiousity JP, are there any other non-Ubuntu partitions on that Ubuntu system?
> 
> ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 
> Keith C. Perry, MS E.E. 
> Owner, DAO Technologies LLC 
> (O) +1.215.525.4165 x2033 
> (M) +1.215.432.5167 
> www.daotechnologies.com
> 
> ----- Original Message -----
> From: "JP Vossen" <jp@jpsdomain.org>
> To: "Philadelphia Linux User's Group Discussion List" <plug@lists.phillylinux.org>
> Sent: Friday, November 20, 2015 12:16:15 PM
> Subject: Re: [PLUG] Kernel autoremove works on Debian & Mint, not Ubuntu
> 
>>
> https://askubuntu.com/questions/563483/why-doesnt-apt-get-autoremove-remove-my-old-kernels
> 
> Nope, that's not it.  I already found that one, and many similar links,
> and that's how I found the general mechanism.  But as I said below
> '/etc/kernel/postinst.d/apt-auto-removal' comes in 2 flavors, Debian and
> UbMintu but in all cases generates a correct
> '/etc/apt/apt.conf.d/01autoremove-kernels'.  It's also important to note
> that '/etc/apt/apt.conf.d/01autoremove' is identical across all 3 distros!
> 
> I know who is doing it (Canonical/Ubuntu), and I know why they are doing
> it, though I think it's totally wrong and misguided, since it works just
> fine for Debian and Mint.  What I want to know is HOW Ubuntu is
> overriding Debian, and/or how Mint is overriding Ubuntu's override.
> 
> Thanks for thinking about this though!
> 
> The other interesting note to Keith's point is that most of the "how do
> I clean it up" stuff I've ever seen talks about manually running
> something like `apt-get remove linux-image-3.13.0-4{3,4,5}-generic
> linux-image-3.13.0-4{3,4,5}-generic`.  The "autoremove" advice is rare.
> 
> And as for space, I have some old machines that are limited, and/or I
> have dedicated boot partitions that date back to before you could boot
> certain LVM and/or mdadm configs (I forget the details).
> 
> I just run `ansible all -a 'bash -c "ls -l /boot/vmlinuz*"'` or `ansible
> all -a 'apt-get autoremove --purge --dry-run'` and eyeball the results
> and I've got one machine with 12 old kernels! :-(
> 
> But again, it's JUST Ubuntu and immediate family (Mythbuntu, Xubuntu)!
> Debian and Mint Just Work, even though Ubuntu is built on Debian and
> Mint is build on Ubuntu.
> 
> 
> On 11/20/2015 11:00 AM, Rich Mingin (PLUG) wrote:
>> While I am loathe to simply throw a link at a question, it looks like
>> this was a decision made by Ubuntu (doubtlessly to protect users from
>> themselves), and it's being affected by several configs. There's a lot
>> of good and relevant info in the linked thread.
>>
>> https://askubuntu.com/questions/563483/why-doesnt-apt-get-autoremove-remove-my-old-kernels
> 
> 
> 
>> On Fri, Nov 20, 2015 at 10:54 AM, Keith C. Perry
>> <kperry@daotechnologies.com <mailto:kperry@daotechnologies.com>> wrote:
>>
>>     This is a question I've always had too.  Granted grub now hides all
>>     the older kernels but I've noticed this in Kubuntu was well.  Its
>>     only through the release upgrade process that they seem to get purged.
>>
>>     I never thought about the space concern- that's a good point so
>>     thank you to pointing out the manual method to clean up but I would
>>     also like to know why there isn't a more regular clean up process.
>>
>>     Paging Dr. Fisher... Dr. Jim Fisher please come to room 103 for a
>>     consult  :D
> 
> 
>>     ----- Original Message -----
>>     From: "JP Vossen" <jp@jpsdomain.org <mailto:jp@jpsdomain.org>>
>>     To: "Philadelphia Linux User's Group Discussion List"
>>     <plug@lists.phillylinux.org <mailto:plug@lists.phillylinux.org>>
>>     Sent: Thursday, November 19, 2015 11:45:11 PM
>>     Subject: [PLUG] Kernel autoremove works on Debian & Mint, not Ubuntu
>>
>>     I've noticed that my Debian and Linux Mint 17 (based on Ubuntu 14.04)
>>     autoremove all but the last 3 kernels, but my more "pure" Ubuntu
>>     10.04/Mythbuntu 14.04 do not.  That's annoying since 2 of those machines
>>     are old with small disks and they run out sometimes.
>>
>>     tl;dr: I know how to hack around this but can't figure out WHY it's
>>     happening, any clues?
>>
>>     DETAILS:
>>     Note I manually use `aptitude` on all of the nodes but these days do
>>     most updates via Ansible(1.9.4)::Apt which can use either `apt-get` or
>>     `aptitude` but which should be using `aptitude` since I'm calling it
>>     like "apt: upgrade=full". [1]
>>
>>     I can solve the problem by just running `apt-get autoremove --purge
>>     --yes` but it's REALLY bugging me and I want to understand WHY this is
>>     happening and not just hack around it.
>>
>>     I thought the culprit was Ubuntu's '/etc/apt/apt.conf.d/05aptitude' but
>>     after removing that file I still can't get `aptitude` to notice the
>>     files it should automatically remove.  And out of 14 hosts, the 4
>>     Ubuntu/Mythbuntu are a problem and only 3 had that file.  I also can't
>>     figure out where that file is coming from, since the "aptitude" package
>>     owns the file but the SAME package is on both:
>>
>>     Ubuntu:
>>     $ dpkg-query --search /etc/apt/apt.conf.d/05aptitude
>>     aptitude: /etc/apt/apt.conf.d/05aptitude
>>
>>     $ apt-cache policy aptitude
>>     aptitude:
>>       Installed: 0.6.8.2-1ubuntu4
>>       Candidate: 0.6.8.2-1ubuntu4
>>       Version table:
>>      *** 0.6.8.2-1ubuntu4 0
>>             500 http://us.archive.ubuntu.com/ubuntu/ trusty/main amd64
>>     Packages
>>             100 /var/lib/dpkg/status
>>
>>     $ apt-cache show aptitude | grep '^SHA256'
>>     SHA256: 776d8f2314f5e1edef7fa06d5cbc1184a8a11d90b9fb35caa626032607a525bd
>>
>>     Mint:
>>     $ dpkg-query --search /etc/apt/apt.conf.d/05aptitude
>>     dpkg-query: no path found matching pattern
>>     /etc/apt/apt.conf.d/05aptitude
>>
>>     $ apt-cache policy aptitude
>>     aptitude:
>>       Installed: 0.6.8.2-1ubuntu4
>>       Candidate: 0.6.8.2-1ubuntu4
>>       Version table:
>>      *** 0.6.8.2-1ubuntu4 0
>>             500 http://archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
>>             100 /var/lib/dpkg/status
>>
>>     $ apt-cache show aptitude | grep '^SHA256'
>>     SHA256: 776d8f2314f5e1edef7fa06d5cbc1184a8a11d90b9fb35caa626032607a525bd
>>
>>     So how can one package only sometimes install a file?  Now, I know Mint
>>     does some ugly hacks (like re-writing /etc/motd which causes lots of
>>     "file locally modified" errors during updates), but I can't find one for
>>     this:
>>     # grep -Ri '05aptitude' /etc/linuxmint/* /usr/lib/linuxmint/*
>>
>>
>>     Next, '/etc/kernel/postinst.d/apt-auto-removal' comes in 2 flavors,
>>     Debian and UbMintu but in all cases generates a correct
>>     '/etc/apt/apt.conf.d/01autoremove-kernels'.  There is a single 3
>>     character difference between the files, but that does not seem to be the
>>     problem.  Line 44 has:
>>             Deb: image-[0-9]+\./
>>             UbM: image-[0-9]/
>>
>>     '/etc/apt/apt.conf.d/01autoremove' is identical across all 3 distros.
>>
>>     But again, in all cases the generated
>>     '/etc/apt/apt.conf.d/01autoremove-kernels' file is correct and keeps
>>     only the last 2-3 kernels.  Yet old kernels not matching the file are
>>     correctly removed on Debian and Mint but *not* on Ubuntu machines.
>>
>>     Also, on an affected machine `apt-get` will trigger a warning about "The
>>     following packages were automatically installed and are no longer
>>     required" but `aptitude` will not.  Yet I don't have this problem on the
>>     Debian and Mint boxes and I am using `aptitude` there too.
>>
>>     I've diffed the entire '/etc/apt/' dirs from Mint and Ubuntu and none of
>>     the trivial differences popped out at me.
>>
>>     What the heck am I missing?
>>     JP
>>
>>     [1] Search for "aptitude" in
>>     http://docs.ansible.com/ansible/apt_module.html

----------------------------|:::======|-------------------------------
JP Vossen, CISSP            |:::======|      http://bashcookbook.com/
My Account, My Opinions     |=========|      http://www.jpsdomain.org/
----------------------------|=========|-------------------------------
"Microsoft Tax" = the additional hardware & yearly fees for the add-on
software required to protect Windows from its own poorly designed and
implemented self, while the overhead incidentally flattens Moore's Law.
___________________________________________________________________________
Philadelphia Linux Users Group         --        http://www.phillylinux.org
Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce
General Discussion  --   http://lists.phillylinux.org/mailman/listinfo/plug