How can I upgrade my server's kernel without rebooting?

I don't know much about ksplice but thought I'd mention it - have you heard about kexec? This might be what you need.

Regarding the question why haven't we adopted this as a default mechanism? Well, overwriting the memory of the current kernel while it's still running can cause potential issues. It also expects hardware devices to be in a well-defined state which isn't always possible.

You can take a look at the IBM developer works article about it to decide if it suits your needs.


All the other answers here are great, but for Ubuntu specifically, Canonical now delivers this service on 16.04.

  • http://blog.dustinkirkland.com/2016/10/canonical-livepatch.html
  • https://www.ubuntu.com/server/livepatch

This uses the live patching technology in the upstream Linux kernel since 4.0 was released.


ksplice will allow kernel swap without needing reboot. Uptrack works within ksplice and has a editable config file in /etc/uptrack/uptrack.conf