10

How to update running kernel without reboot? I know about Oracle ksplice but it's not free and it supports only distributions that I don't use. Are there alternatives to ksplice?

3 Answers 3

6

The underlying technology is free and part of the mainline kernel; Oracle just provides prebuilt images. You can build your own ksplice patches to dynamically load into your own kernel.

4
  • That's nice! But where is it in menuconfig or how is it called in .config? Commented Feb 25, 2012 at 14:38
  • See the ksplice package.
    – psusi
    Commented Feb 25, 2012 at 20:09
  • Hey, I've posted a follow-up on Ask Ubuntu that you might be able to answer (or help on): askubuntu.com/questions/193069/…
    – Oli
    Commented Sep 26, 2012 at 7:01
  • 1
    It might be nice to add more details to this answer instead of creating 2-sentence answers
    – ILMostro_7
    Commented Oct 22, 2015 at 9:23
2

It is an old question, but it shows up on top of google, and a lot of things has changed since then. Here are ksplice alternatives as of now:

  • Livepatch is the technology in mainstream kernel. Canonical provides kernel livepatch service for Ubuntu 16.04 and later. It is free for up to 3 machines for personal use or up to 50 machines if you are a recognised Ubuntu Community member. If you are neither - you can use it for a fee in an Ubuntu Advantage support subscription ($225-$1,500/machine/year on physical servers, $75-$500/machine/year - on VMs), which is still cheaper than ksplice option. Unlike other solutions in the list, it allows administrators to create their own patches but it can be difficult and time-consuming work. Amazon Linux recently announced livepatch support (beta) for Amazon Linux 2 as well. No other distros offers live patching services (even though technology is integrated into the kernels) .

  • Kpatch is Red Hat’s own rebootless kernel live patching tool based on livepatch. It was announced in 2014. It works on RHEL and its derivative and is available as a part of the Premium support subscription ($1,299 per year).

  • SUSE’s Kgraft live patching solution only supports SUSE’s own Linux Enterprise Server 12. The prices start from $699/year per 2 sockets or $1,890/three years per 2 sockets. They have the longest trial period - 60 days, but there are some limitations from an architectural perspective.

  • KernelCare - automated live patching solution, covers most of the popular distributions, including CentOS, RHEL, Oracle Linux, Debian, Ubuntu, Amazon Linux and others. KernelCare also supports the Glibc and OpenSSL patching without a reboot. It also offers custom and fixed-date patching to meet the specific needs. A 30-day trial is available and subscription options start from $2.25/server/month for kernel patching only and $5.45/server/month for kernel and Glibc/OpenSSL package.

1
  • there are free options, why do I only see paid services in your answer?
    – CodeAsm
    Commented May 30, 2023 at 15:32
0

One alternative to ksplice is kexec(). Rather than patching the Linux kernel whilst running, this command essentially replaces the current kernel with a new one without rebooting your system.

In order for this to be available, it needs to be turned on as a compiler option in your distribution's kernel - that is, you can compile kernels without this functionality, so you'll need to check it is available and/or enable it yourself.

3
  • 5
    Replacing the current kernel with a new one effectively is rebooting, just without the bother of going through the boot loader. You still end up having to save your work, shutdown, and restart your applications.
    – psusi
    Commented Feb 25, 2012 at 20:07
  • (debian/ubuntu) kexec-tools appears to not be ported to support systemd at this time; and as far as I know neither current package repository is supporting any init besides systemd; so kexec is off the table in debian land currently; Commented Jan 8, 2019 at 18:23
  • @psusi I believe kexec avoids actually powering off the hardware, such that the mainboard does not need to spend time to POST, nor does any pci device need to initialize from scratch - a feature I highly sought after when the hardware takes multiple minutes to cold boot :cry: Commented Jan 8, 2019 at 18:25

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .