How to Delete Old Unused Kernels in Debian and Ubuntu?


The kernel is the core component of a Linux-based operating system, and it is responsible for managing the system's resources and communicating with hardware devices. Whenever a new version of a kernel is released, it typically includes important bug fixes, security patches, performance improvements, and other enhancements that can improve the overall functionality and stability of the system.

However, when multiple versions of the kernel are installed on the same machine over time, they can take up valuable disk space and slow down system performance. Deleting old unused kernels is an essential maintenance task that helps keep your Linux-based operating system running smoothly.

Understanding Kernels

Definition of a kernel

A kernel is the central component of an operating system that manages the system's resources and provides a layer of abstraction between the hardware and software. It is responsible for controlling everything from memory management, process scheduling, input/output operations, and security. The kernel acts as a bridge between applications and other software running on the system and the computer's physical hardware.

Explanation of how kernels work in Debian and Ubuntu

Both Debian and Ubuntu use Linux kernels as their core operating systems. Debian uses a customized version of the Linux kernel that has been adapted to work with its own package management system.

Ubuntu, on the other hand, uses its own version of the Linux kernel based on upstream code from the Linux community. When you install an update to your kernel in either Debian or Ubuntu, it creates a new entry in your bootloader configuration file.

The bootloader is responsible for loading your operating system when you start up your computer. This means that whenever you boot up your computer, you have multiple versions of the kernel available to choose from.

Discussion on why it's important to delete old unused kernels

It's essential to delete old unused kernels because they can take up valuable storage space on your hard drive over time. Old kernels can also cause problems like conflicts with device drivers or conflicting dependencies with other software packages installed on your system. Additionally, having too many old kernels installed can slow down boot times since they all show up as options during startup.

Keeping multiple outdated kernels also poses a security risk since older versions often contain known vulnerabilities that could be exploited by malicious actors. By removing old unused kernels regularly, you free up valuable disk space while ensuring optimal performance and security for your operating system.

Checking for Old Unused Kernels

Before removing old unused kernels, it's important to check which kernel versions are currently installed on your system. This can be done easily using the terminal command line interface (CLI).

To check for old unused kernels, open the terminal and type the following command −

dpkg --list | grep linux-image  

This command will display a list of all installed kernel images on your system. Each entry will show the version number as well as other information such as the package name and description.

How to Identify Which Kernel Versions are Currently Installed on Your System

It's important to know which kernel versions are currently installed on your system before removing any old unused kernels. To view this information, type the following command in your terminal−

uname -r  

This command will display the current kernel version that is running on your system. It is important to keep this kernel version and not delete it since it provides stability and security for your computer.

You can also view a list of all installed kernel versions by typing −

ls /boot/  

This command will show you a list of all files in the /boot directory, including all installed kernel images. Be careful not to delete any files that are currently being used by your operating system.

Removing Old Unused Kernels

Step-by-step guide on how to remove old unused kernels using the terminal CLI

To remove old unused kernels in Debian and Ubuntu, follow these steps −

  • Open a terminal by pressing "Ctrl+Alt+T" or by searching for "Terminal" in the applications menu.

  • Type the command "sudo dpkg --list | grep linux-image" and press Enter.

    This will display all currently installed kernel versions on your system.

  • Identify which kernel versions are no longer needed, i.e., old and unused kernels, and note down their package names.

  • To remove a single kernel version, type the command "sudo apt-get purge [package-name]" where "[package-name]" is replaced with the name of the package you want to remove.

    For example, if you want to remove kernel version 5.4.0-42-generic, type "sudo apt-get purge linux-image-5.4.0-42-generic".

How to remove multiple kernel versions at once

If you want to remove multiple kernel versions at once, use an asterisk (*) as a wildcard character in your command to specify a range of packages that need to be removed−

  • Type the command "sudo apt-get purge linux-image-[version-number]*".

    This will delete all packages with names starting with "linux-image-[version-number]".

  • Press Enter and wait for all selected packages to be removed from your system.

How to remove all but the current and previous kernel versions

In case you want to keep only two latest kernels on your system (the current one and its immediate predecessor), use this command−

  • Type the command “sudo apt-get autoremove --purge” – this will automatically identify which other kernels can be removed without damaging any currently installed packages.

  • Press Enter and wait for all packages to be removed from your system.

Explanation of what happens when you remove an old unused kernel

When you remove an old unused kernel, all the files associated with that kernel version are deleted from your system, including any related configuration files and modules. This helps free up valuable disk space and keeps your system running efficiently. Removing old unused kernels is also important for security reasons.

Keeping multiple kernels on your computer leaves your system vulnerable to potential exploits or attacks that may have been fixed in later kernel versions. By removing these older versions, you ensure that only the latest and most secure version remains on your computer.


Knowing how to delete old unused kernels is an essential skill for every Linux user. Not only does it free up valuable disk space on your computer but it also helps maintain optimal system performance.

By understanding how kernels work in Debian and Ubuntu distributions and following our step-by-step guide on how to delete them correctly you can keep your system running efficiently. By taking the time to clean up after kernel removals, you are ensuring that your computer stays in tip-top shape.

So, don't be afraid to remove old unused kernels from your system! With the knowledge and skills gained from this article, you can confidently keep your system running smoothly and efficiently.

Updated on: 10-Jul-2023

8K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started