Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

In my usage of Ubuntu, I have noticed a baffling array of different Linux kernel packages. Some of them are listed below:

  • linux-generic
  • linux-headers-generic
  • linux-headers-generic-pae
  • linux-headers-x.x.xx-xx
  • linux-headers-x.x.xx-xx-generic
  • linux-image-generic
  • linux-image-generic-pae
  • linux-image-x.x.xx-xx-generic
  • linux-image-x.x.xx-xx-generic-pae
  • linux-image-extra-x.x.xx-xx-generic
  • linux-image-extra-x.x.xx-xx-generic-pae

My question is, why are there so many different kernel packages, often for the same version number (e.g., 3.5.0-24), and what are the differences between them?

share|improve this question

2 Answers 2

A kernel image package is related to the kernel image and modules which are loaded when your OS is booted. A header package provide files that are necessary to build out-of-tree kernel modules and/ or some other programs from source.

linux-image-generic

Usually you install the linux-image-generic package. That is a meta-package that does not ship any files itself. Instead, it depends on the latest kernel version provided by Ubuntu, for example linux-image-3.8.0-19-generic. This package is needed to receive kernel updates.

linux-headers-generic

A similar story holds for the linux-headers-generic package. You need to install this package if you use external kernel modules such as proprietary video drivers. The linux-generic package is a meta-package that ensures that both the linux-headers-generic and linux-image-generic packages are installed.

-generic-pae

This is a variant of the -generic packages. See What's the meaning of "-pae" at the end of kernel version?

linux-image-extra-*

This package was introduced with Ubuntu 12.10 and provides additional kernel modules (drivers). See What is the linux-image-extra package for and do I need it?.

Why multiple linux packages with the different version numbers?

The kernel is a critical piece of your system. Newer kernel versions may introduce a bug that make you unable to start your system successfully. With multiple kernels installed simultaneously, you can change the kernel version in the boot menu.

share|improve this answer

Generally when you do an apt-get dist-upgrade it will upgrade everything that is available including your kernel. Ubuntu generally keeps 3 or 4 version of kernel (if i remember correctly) just in case the new kernel causes major issue or problems. If new kernel doesnt work well on your drivers etc, you can boot back to the older kernel. That is what it is for. You can remove the kernel using apt-get remove linux-kernel-* or using Synaptic Package Manager(which has to be installed seperately). But it would be safer to leave at least one older kernel version as backup.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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