JP Vossen on 19 Nov 2015 20:45:17 -0800 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
[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