Disk Usage Analyzer shows 4.4.0-45 and 4.4.0-47 under /lib/modules, why is that? Is it needed to have two kernels or has the old one stayed after an update? Is it safe to remove the older kernel?
5 Answers
It is common to keep one older kernel version around in case the new one breaks.
The previous version is available on grub's Advanced Options
menu.
Kernels that Ubuntu automatically installs can be automatically removed by using:
sudo apt autoremove
This removes older kernels (that Ubuntu automatically installed) but keeps the current version and the one before it.
When you manually install kernels (often necessary to get new hardware support or address a certain "glitch" you have) you need to manually remove them.

- 102,282
-
"Contrary to some suggestions I believe...": http://askubuntu.com/q/590673/158442 It's a very well-known problem that old kernels are not automatically removed, that's why
/boot
of so many users fill up: http://askubuntu.com/q/89710/158442, – muru Nov 24 '16 at 01:28 -
@muru I ran
sudo apt autoremove
the other night and I'm pretty sure it deleted kernels Ubuntu had automatically installed but not kernels I manually installed. But I'll research it more and revisit the above answer. – WinEunuuchs2Unix Nov 24 '16 at 02:20 -
@W that's you manually running
autoremove
. That works. But Ubuntu doesn't automatically do that for you, which causes problems. – muru Nov 24 '16 at 02:29
The kernel version 4.4.0-47
is the latest update of the kernel released by Canonical Kernel Team.
You can purge the old kernel from the command line using purge-old-kernels
tool.
To install it run:
sudo apt-get install bikeshed
To keep the latest kernel and purge old kernel:
sudo purge-old-kernels --keep 1
The two directories exist because kernel modules built for kernel 4.4.0-45
aren't compatible with kernel modules built for kernel 4.4.0-47
.
Deleting kernels is difficult, especially for noobs. It's too easy to break your system, leave files behind, and in general, force you to learn way more than you want to about the innards of Linux. It's good to learn, but not when you're trying to fix a broken system.
Luckily, there is a tool to help. It's called purge-old-kernels
, and is part of (comes along with) the byobu
package. (if man purge-old-kernels
fails, do sudo apt-get install byobu
and retry).
From http://manpages.ubuntu.com/manpages/xenial/en/man1/purge-old-kernels.1.html
xenial (1) purge-old-kernels.1.gz
Provided by: byobu_5.105-0ubuntu1_all
NAME
purge-old-kernels - remove old kernel and header packages from the
system

- 36,399
-
-
Traditionally, one keeps the previous kernel, just in case the current, running kernel fails, or one finds an incompatibility that wasn't in the previous kernel. "keep both kernels where they are"? Do NOT mess with kernels as long as "noob" applies. Do NOT. If you must remove it (disk space), use
purge-old-kernels
. – waltinator Nov 23 '16 at 18:28
The other reason is that, the kernel is updated from time to time, so you can choose either to use the old one or the new one.

- 309
You can easily remove old kernals once you have verified that the current Kernal works with your system.
Open the terminal and enter the following command:
sudo apt autoremove --purge
type in your password, and profit..

- 26,536