I was tempted to remove the
*-generic kernel image from my EC2 instance since it's not the one running, according to
uname. What's running is the
*-virtual one. Thing is I'm not sure if it's safe, me not being comfortable with how these EC2 things work.
Technically, it is safe to remove any non-running kernels, including the generic kernels (for EC2 nodes). EC2 is powered by Xen and running a virtual kernel (smaller footprint and trimmed for guest OS) helps to maximize performance to some extent.
I've installed and purged generic kernel images (also the headers) on EC2, no issues. Don't worry, it's not going to break things.
BTW: It is recommended to use Ksplice
uptrack (free for Ubuntu and Fedora) to keep your running kernel up to date (it only supports release kernels from official repository though).
For example, the default kernel for a Ubuntu Server 12.04 is 3.2.0-23, ksplice can apply the security patches (auto or
uptrack-upgrade -y) to the running kernel without rebooting, so the effective kernel running (
uptrack-uname -a) is actually 3.2.0-53.
You should have something like this:
linux-header-x.x.x.x-generic (possiably generic-pae or i686)
If they are the same version I suggest you leave them but if they are different versions it is ok to leave just the ones you use now.
From what I know a generic kernel is used by any driver that needs headers or modules for the current kernel knows how to find the appropriate data.
Hope I was clear enough.