0

I have a 14.04.5 web server that is running kernel 3.13.0-35-generic. sudo apt-get upgrade runs normally without errors. sudo apt-get upgrade and sudo apt-get dist-upgrade both show 0 packages to upgrade.

If I run sudo apt-get install linux-image-generic it offers to install linux-image-3.13.0-100-generic and linux-image-extra-3.13.0-100-generic.

This fouls up automatic upgrades. Why is it not showing this upgrade unless I specifically ask for it?


sudo apt-mark showhold shows no results.

I have automatic security upgrades turned on:

$ cat apt.conf.d/20auto-upgrades 
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

$ cat apt.conf.d/50unattended-upgrades |grep -v \/\/
Unattended-Upgrade::Allowed-Origins {
        "${distro_id}:${distro_codename}-security";
};

Unattended-Upgrade::Package-Blacklist { };

All the security repos seem to be properly accessible

$ sudo apt-get update|grep security
Hit http://security.ubuntu.com trusty-security InRelease
Hit http://security.ubuntu.com trusty-security/main Sources
Hit http://security.ubuntu.com trusty-security/restricted Sources
Hit http://security.ubuntu.com trusty-security/universe Sources
Hit http://security.ubuntu.com trusty-security/multiverse Sources
Hit http://security.ubuntu.com trusty-security/main amd64 Packages
Hit http://security.ubuntu.com trusty-security/restricted amd64 Packages
Hit http://security.ubuntu.com trusty-security/universe amd64 Packages
Hit http://security.ubuntu.com trusty-security/multiverse amd64 Packages
Hit http://security.ubuntu.com trusty-security/main i386 Packages
Hit http://security.ubuntu.com trusty-security/restricted i386 Packages
Hit http://security.ubuntu.com trusty-security/universe i386 Packages
Hit http://security.ubuntu.com trusty-security/multiverse i386 Packages
Hit http://security.ubuntu.com trusty-security/main Translation-en
Hit http://security.ubuntu.com trusty-security/multiverse Translation-en
Hit http://security.ubuntu.com trusty-security/restricted Translation-en
Hit http://security.ubuntu.com trusty-security/universe Translation-en

The only kernels installed are years old:

$ ls -l /boot/vmlinuz-* 
-rw------- 1 root root 5776416 May  2  2014 /boot/vmlinuz-3.13.0-24-generic
-rw------- 1 root root 5806368 Aug 14  2014 /boot/vmlinuz-3.13.0-35-generic


$ sudo apt-mark showmanual|grep linux
libselinux1
linux-firmware
linux-headers-server
linuxinfo
util-linux
$ sudo apt-mark showauto|grep linux
libselinux1:i386
linux-headers-3.13.0-100
linux-headers-3.13.0-100-generic
linux-headers-3.13.0-24
linux-headers-3.13.0-24-generic
linux-headers-3.13.0-35
linux-headers-3.13.0-35-generic
linux-headers-generic
linux-image-3.13.0-24-generic
linux-image-3.13.0-35-generic
linux-image-extra-3.13.0-24-generic
linux-image-extra-3.13.0-35-generic
linux-libc-dev

Why am I not seeing any updates available for the kernels when I run apt-get updates?

1

The problem is that at some point the linux-image-generic package was removed. This package is a dummy package for the new linux kernel images. Removing it won't break your system, but it will cease new kernel installs. If it isn't "installed", new versions of the kernel aren't detected because this packaged doesn't have new versions with new dependencies on the specific kernel package.

This could happen if you uninstall a specific kernel as it will also uninstall linux-image-generic along with it.

To fix, run sudo apt-get install linux-image-generic. This will install the latest kernel version as a dependency. Then you should also see that the linux-image-generic is marked manual where it was missing before:

$ sudo apt-mark showmanual linux-image-generic
linux-image-generic

Additionally, sudo apt-get autoremove should now start offering to remove old kernels as it would have done before.

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.