This sounds like a very interesting notion. The popular saying goes, you should never reboot your Linux, unless
you have to, which is usually only when a kernel update comes. But maybe not even then?

For home users, the necessary for not rebooting is not really dire. Apart from a 20-seconds nuisance, you are
not missing much. But if you are running a mission-critical service like a Web server, a MySQL server or
perhaps a firewall machine, then reboots are a pain which you want to avoid.

Luckily for you, there's Ksplice.

Ksplice is the tool that promises this functionality - seamless updates without reboots, allowing you to stay
up to date and safe, without any downtime. It's a very aspiring, welcome project. Let's see what it can do.

Install Ksplice

Currently, Ksplice is available as a .deb package for Ubuntu only. If you run RedHat, SUSE or even Debian, you
will have to contact the owners. From my brief experience with Ksplice, this does pose a problem. We will
discuss this a little later.

You can download the .deb package and run the installer or manually add the Ksplice repository to your software
sources. The manual installation means you can have updates for your software. The instructions for the manual
installation are available on the official website.

Regardless, whichever method you choose, you will have to agree to Terms of Use and request an activation key
via email.

Proxy issues

If you're connected to the Internet using a proxy, you might have problems installing Ksplice. Ksplice uses the
curl utility to connect to the servers and download the right packages; the thing is, curl disregards the
system proxy settings and times out.

You can try solving the problem by setting the proxy environment variable in the current shell and invoking a
package manager against the installer file. Gdebi yields the same results as the conventional installation
method, but the traditional dpkg -i works well.

This is really troubling, considering that most serious business run some sort of proxy, meaning that Ksplice
has not been designed with the right target audience in mind.

Configuring proxy after Ksplice is installed is quite simple. The main issue is during the installation. Being
able to auto-magically use system settings would be nice.

Using Ksplice

Once you bridge the initial installations woes, Ksplice will start and show as an icon in the system area. You
can invoke it any time you want, manually. It will search for updates and install them. While using Ksplice,
you can switch to using Synaptic and the Update Manager any time you want. The two services coexist well
together.

Once you have updates, the system icon will change:

And when you have updates ready:

Click Install all updates to proceed. The system will now update.

And that's it! You're now using Ksplice. No more reboots. There's also a command-line interface, which lets you
script and schedule the tool usage.

The official website has lots of useful screenshots and a very decent FAQ, which you should definitely read to
get even more information about what Ksplice it, how it works and how it may suit your business needs.

Problems

I've had two major problems with Ksplice: one was the installation issue, but that can be managed. The other is
the fact the service is only available freely for Ubuntu, which constitutes for a minuscule percentage of
infrastructure servers, compared to RH and SLES. You would expect test packages for these platforms to be
readily available, as well, as most other major commercial products.

Other than that, Ksplice was robust and performed well.

Conclusion

Ksplice seems like a very interesting project. The prospect of reboot-less usage is most appealing, considering
the complexity and the dire need for availability in some environments, where bringing systems down is simply
impossible.

Of course, it all depends what your machines are doing. Your setup could be so delicate that you can't even
afford one mistake with any one update, in which case even Ksplice would not be enough. But for the business
that can permit their systems to be continuously updated, without the fear of broken functionality due to
changes in system libraries between updates, Ksplice is a true blessing.