Basic question: VPS and kernel


This is a pretty basic question, but one I've not yet fully found the answer to by looking at other posts here and on the Linode FAQ.

I'm not quite clear what the exact relationship is between the kernel specified in my Configuration Profile (which is currently set to "Latest 64-bit"), and the kernel packages that are installed as part of my (Ubuntu 14.04) installation.

Does the kernel specified in the Configuration Profile point to some shared directory somewhere rather than to my private file system?

When I run 'apt-get upgrade' I currently get the message:

The following packages have been kept back:

linux-generic linux-headers-generic linux-image-generic

I could force the installation of these upgrades, but I would (I think) still be booting the kernel specified in the Configuration Profile, and not these updated packages. (By the way, the "Latest 64 bit" kernel in the Configuration Profile is still pointing to the kernel I am currently running - I just rebooted, but didn't get any new kernel and still get these apt-get messages about the packages being kept back.)

Should I force the installation of the new packages (e.g. I think 'sudo apt-get install linux-generic linux-headers-generic linux-image-generic' would do the trick), or will the "Latest 64 bit" kernel in the Configuration Profile soon get updated?

As you can see, I'm quite confused about this! Any clarity anyone can bring would be much appreciated!



6 Replies

The kernel in your configuration profile is the one that is actually booted, correct. You can, however, substitute kernels of your own–distribution-supplied or self-compiled--using PV-Grub; I had to do this in order to run a kernel with aufs, since I needed a union mount.

Thanks for the pointer to PV-Grub!

I know very little about Xen and paravirtualization, so I am just reading up about it. I'm not sure of the performance implications of running a paravirtualized kernel rather than the Linode-supplied kernel in the configuration profile. But I'm not running anything performance critical, so I think I'll stick with the Linode "Latest 64-bit" kernel. The process just seems a little clunky to me, in that I have to manually check on Linode Manager (as I understand it) for if and when this kernel gets updated, and reboot when that happens. separate to updating my distribution packages. And if there is a lag between a kernel update on the distribution versus on Linode, I may have various packages "held back" for dependency reasons until the Linode kernel catches up with the distribution one. But I guess that is the nature of running a VPS.

I don't recall ever having packages being held back because the kernel was out-of-date. Running the latest kernel is good - but unless there are security issues, I don't think it matters much if you are not running the latest kernel.

I'm running Debian with Linode's kernel - and I don't even have the packages that are being held back for you installed. I think that unless you are running pv-grub you can safely remove those packages as well.

It's worth noting that "paravirtualized" refers to the way the kernel thinks about the host system, not how you get your kernel. Both our kernel and whatever you install inside your Linode are almost certainly paravirt, which mostly just means they're aware they're running in a VM.

Also, using our kernel doesn't affect your distro packages in any way. Your package manager tries to hold kernel updates so they don't happen without you explicitly asking for them, but it does that whether you're booted into your kernel or ours. If you want it to stop complaining about those packages, you can uninstall the kernels from your system.

If you want to know when we release new kernels, there is an RSS feed:

  • Les

Thanks for all the advice! I think uninstalling the distro kernel packages sounds like the way to go. And thanks akerl for the kernel update RSS link.

Indeed, using a custom kernel is usually only needed if you've got special features you need that aren't included in the default kernels (e.g. aufs in my case).


Please enter an answer

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct