[Bug 1624644] Re: By default settings unattended-upgrade does not automatically remove kernel packages that become unused in conjunction with updating by other software
Balint Reczey
balint.reczey at canonical.com
Thu Apr 25 10:41:29 UTC 2019
@jarnos #61
this is a separate issue fixed later, calculating upgradable packages leaves the upgradable packages in the cache, and u-u counts them as the reverse dependencies of the first kernel to be removed.
This keeps the first kernel on the system, but when there are no upgradable packages in a later run this kernel can be removed, too.
See:
https://github.com/mvo5/unattended-upgrades/commit/93d43fbcd53c5df5ce69a16b26a981bf06ce3085
https://github.com/mvo5/unattended-upgrades/commit/654898b05c933047ca8c97df655743aab0898db1
https://github.com/mvo5/unattended-upgrades/commit/1a39eb257ad786902de11add212879241919be44
In this particular case -extra was detected not autoremovable because of the dirty cache, but it was successfully removed when trying to remove linux-image-4.8.0-54-generic.
The printout is confusing indeed, but no harm was done, since only valid autoremovals were performed.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to unattended-upgrades in Ubuntu.
https://bugs.launchpad.net/bugs/1624644
Title:
By default settings unattended-upgrade does not automatically remove
kernel packages that become unused in conjunction with updating by
other software
Status in unattended-upgrades package in Ubuntu:
Fix Released
Status in update-manager package in Ubuntu:
Fix Released
Status in unattended-upgrades source package in Xenial:
Fix Released
Status in update-manager source package in Xenial:
Fix Released
Status in unattended-upgrades source package in Artful:
Won't Fix
Status in update-manager source package in Artful:
Fix Released
Bug description:
[Impact]
* Update-manager and unattended-upgrades install many kernel packages during the lifetime of a release but does not remove them automatically leading to those packages filling disk space potentially completely filling /boot and making the system unable to install updates or even boot.
* Stable release users are impacted by this bug for years and their systems already collected many autoremovable unused kernel packages, thus they would benefit from backporting the fix greatly.
* The bug is fixed by removing autoremovable (not currently booted) kernel packages when running unattended-upgrades or update-manager. Update manager offers the kernel removals when there are other updates to be installed.
[Test Case]
Note: test either update-manager or unattended-upgrades, not both at
the same time. If you remove unused kernels by the former, you can not
test the function in the latter.
1. Install kernel packages to be removed, mark them auto-installed
and run apt's kernel hook script to make apt consider them
autoremovable and simulate apt autoremove to get list of autoremovable
packages:
sudo apt install -y linux-image-extra-4.4.0-92-generic linux-image-extra-4.4.0-93-generic
sudo apt-mark auto linux-image-extra-4.4.0-92-generic linux-image-extra-4.4.0-93-generic
sudo /etc/kernel/postinst.d/apt-auto-removal
apt autoremove --simulate
2. (for update-manager; add something for it to update as update-
manager will not show removable packages, if there is not something to
update, right?) Downgrade a package to be upgraded:
sudo apt-get install -y --allow-downgrades ca-
certificates=20160104ubuntu1
3. (update-manager). Run update-manager and observe that kernel
packages are offered for removal in Details of updates.
sudo update-manager
4. (update-manager) Click on Install Now and observe that the kernel
packages are removed.
2. (unattended-upgrades, the fix comes in an update of u-u) Run
unattended-upgrades manually and observe the removal of the
autoremovable kernel packages:
sudo unattended-upgrade -v
[Regression Potential]
The change may cause update-manager or unattanded-upgrades to remove
used kernel packages or fail to install other package updates.
[Other Info]
The unattended-upgrades fix is uploaded with many other fixes and
those may cause regressions in other areas in unattended-upgrades.
[Original bug text]
When using default settings for unattended-upgrade i.e.
Unattended-Upgrade::Remove-Unused-Dependencies "false";
# default "false"
Unattended-Upgrade::Remove-New-Unused-Dependencies "true";
# default "true"
in configuration file /etc/apt/apt.conf.d/50unattended-upgrades,
unattended-upgrade is unable to remove packages that become unused in conjunction with updating by other software such as update-manager or apt full-upgrade. This is because unattended-upgrade compares the list of unneeded packages before and after it upgrades packages to detect which packages are new unused ones.
Consequently, if user installs new kernels using e.g. update-manager,
the excessive kernels will not be removed by unattended-upgrade, and
eventually (small) /boot will become full.
Expected behavior: handle removing of unused packages differently at
least until other package management software installed by default can
handle removing of new unused packages.
ProblemType: Bug
DistroRelease: Ubuntu 16.04
Package: unattended-upgrades 0.90
ProcVersionSignature: Ubuntu 4.4.0-36.55-generic 4.4.16
Uname: Linux 4.4.0-36-generic i686
ApportVersion: 2.20.1-0ubuntu2.1
Architecture: i386
CurrentDesktop: XFCE
Date: Sat Sep 17 11:28:44 2016
InstallationDate: Installed on 2016-09-05 (11 days ago)
InstallationMedia: Mythbuntu 16.04.1 LTS "Xenial Xerus" - Release i386 (20160719)
PackageArchitecture: all
SourcePackage: unattended-upgrades
UpgradeStatus: No upgrade log present (probably fresh install)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/unattended-upgrades/+bug/1624644/+subscriptions
More information about the foundations-bugs
mailing list