Industry


Ads by TechWords

See your link here


Never reboot again with Linux and Ksplice

I usually have to reboot my Linux systems about once every six months. Linux is as stable as a rock. Windows, while it's gotten better, is another story entirely. While I no longer need to reboot Windows on a daily basis, I still must reboot my Windows PC at least twice a month-one "what the heck was that" problem and Patch Tuesday. For some users, telecommunication server/carrier grade administrators in particular even twice-a-year reboots is twice a year too often and that's where Ksplice comes in.

Ksplice, according to its developers, "enables running systems to stay secure without the disruption of re-booting. Specifically, Ksplice creates re-bootless updates that are based on traditional source code patches. These updates are as effective as traditional updates, but they can be applied seamlessly, with no downtime."

Guess what? It works.

I don't have a carrier-grade server in the house, but I do have an Ubuntu 9.04 desktop and the developers have just released a version of Ksplice Uptrack for it. So, I installed this Python-based update system on my Gateway 503GR. This PC has a 3GHz Pentium IV CPU, 2GBs of RAM, an ATI Radeon 250 graphics card, and a 300GB SATA (Serial Advanced Technology Attachment) hard drive.

Before installing Ksplice, though, I zapped my hard disk and reinstalled Ubuntu 9.04, aka Jaunty Jackalope, from a CD of its first release. You won't want to do that, but I wanted to give it as much of a workout as I could manage.

I had a bit of trouble installing it at first, although the installation routine itself is as easy as can be. My problem was that the Ksplice installation routine ran afoul of the automatic update system. I solved this by killing that system off, resetting the Debian package system.

After that, it was smooth sailing and I had replaced Ubuntu's default update system with Ksplice. A few minutes later I'd updated the entire system with Ksplice with all the latest patches, without even a hint that I might need to reboot for a security upgrade. Nice.

By default, Ksplice shows up in your system menu-bar so you can keep an eye on what's happening with your updates. While Ksplice itself is open-source software, and the service for individual users is free, you'll need to pay a service fee if you're a business using Ksplice to keep your servers up-to-date.

Since Ksplice doesn't require any changes to the Linux kernel I strongly suspect you'll soon be seeing its technology used with other Linux distributions. After all, as great as Linux is about letting you run for months on end without wasting time or money on a reboot, it will be even better when we can run Linux for years without rebooting.

What People Are Saying

But what about userland?

While ksplice handles kernel patches, there are many more security-related patches to user-space processes. While changing "date" would not be a big deal, since it quickly runs to completion, changing shared libraries and long-lived processes is the other part of the problem. Updating Apache on-the-fly, or a shared library it depends on, is another part of maximizing service availability. Yes, a highly reliable web address wouldn't have a single server, but the longer it takes to update one server increases the time the system is running in a degraded state, potentially decreasing availability if other servers fail during that time.

Some other places have suggested that ksplice may infringe on a Microsoft patent application. In fact, the patent office has rejected the application 10/307,902, but Microsoft is appealing. It was rejected because of an earlier HP patent, 6,928,536 described dynamic patching. HP's patent concerned replacing instructions not supported in the hardware. Older prior art would likely punch holes in several of the claims, see IEEE Software, March 1993 for a survey of online patching systems for references to patching systems which predate Microsoft's patents. Whether ksplice infringes on HP's claims is not clear, but HP has significant Linux usage, and may elect to ignore ksplice.

I run Ubuntu 9.04, Windows

I run Ubuntu 9.04, Windows XP, Mac 0SX and Win7 machines at home.

Just about every time I power up the Linux machine, it requires updates that need a reboot. The Windows machines also need updates often, but these are my main work machines with a lot of apps running on them.
The Mac and Linux machines are purely a hobby, I have far too many applications that don't run natively on these 2 platforms to use them as my primary computers.
(Before anyone harps on about insecurity and viruses on Windows, in 20 years of running Windows, I have only ever had 1 virus and that was from a colleagues memory stick.)

As I need to run many automotive and electronic analysis packages, they are only coded for Windows and will never be ported to Linux or Mac, and as such, these will alway be also-rans OS's for me.

Linux will never become mainstream while it needs to drop to command line for any reason. I've yet to find a distro that will install onto any machine without need to do some command line config, and this will scare away 95% of the computer users I know.
I also find the graphical interface to be clunky and slightly home made looking. ;-)

A few misleading statements...

Just so others aren't mislead by what you're saying...

"Just about every time I power up the Linux machine, it requires updates that need a reboot."

Apparently you use your Linux machine VERY infrequently. And Fedora only requires that you log out and back in -- it may be the same with Ubuntu, but I don't use it. Besides, this article was about software that would allow you to never reboot your Linux system, so the whole point you were trying to make here is sorta irrelevant.

"The Windows machines also need updates often, but these are my main work machines with a lot of apps running on them."

I would think this would make it a lot more annoying. When you're playing, no big deal, but when you're trying to get work done it is a real pain to get to your computer in the morning and find that Automatic Updates rebooted your box for you, and closed all your applications.

"As I need to run many automotive and electronic analysis packages, they are only coded for Windows and will never be ported to Linux or Mac"

Unless the vendors have shut their doors, "never" is a silly word to use here. Both Mac and Linux are gaining ground, and the more ground they gain, the more software will be ported to them.

"Linux will never become mainstream while it needs to drop to command line for any reason."

That particular statement is a pet peeve of mine. It's quite easy to install all the popular distros without dropping to a command line. People use the command line because it's quicker, not because they need to. Same with Windows. In over 10 years of IT, not a day has gone by where I've not gone to command line in Windows. Sure, you can go to the Windows Update website and waste 10 minutes... or you could type in "wuauclt.exe /detectnow", and have your workstation download the updates from the local WSUS server. You don't use the command line any more frequently in Linux than you would in Windows, so lets drop that myth now, okay? Thanks.

Whoa! Softies really got upset here...

That comment about rebooting 3 AM was fun. And a critical internet-exposed server will be left all the day with a security hole open for anyone willing to enter it.

Windows reboots are really really painful. Even after a long time downloading and installing updates, when you ask for it to shutdown, it "configures" the updates, and after rebooting, before the login screen, it "finalizes" the update procedure.
I dunno, but I thought updates were as easy as changing the old files for new ones.
And Linux is like that.

Another *key* point for Linux being able of rebootless upgrades is its ability to remove/rename/modify a file while it is in use. Something NTFS does not allow (yet) and so you need to reboot all your machine.

rebooting at 3AM idea showed how narrow minded

that some people are.

They just forgot to mention which timezone they were talking about. 3AM in North American is just busy hour for Europe and Asia, so it would be interesting to watch our counter part productivity suffering when a major server out of service. Of course you have to be in a globe company to notice it and of course nobody really care cause nobody working at 3AM after all!!!

Minor correction...

I have on the NT-based Windows systems been able to rename a file that was in use and THEN put a new file where the previous one used to be...
Helpful trick if you need to replace a file that is in use...
On MY TIME I use Linux... You have to PAY ME to use Windows...

Steven tends to bring the softies out

And your experiences kinda blows a hole in their 30 second boot time argument started below. The softies tend to minimize their pain and suffering, and fantasize the grief that others must face. They have no clue how good it is on the other side.

You've done it again

You've proven why Linux isn't ahead of Windows. People concentrate on the wrong stuff. Ksplice is a wonderful concept, but if Linux is as bullet proof as everyone says, and it seems to be that bullet proof on the server, then why bother?

Every shop should have down time windows, procedures for patching, etc down to a fine art. These procedures render Ksplice redundant.

If Ksplice only updates the kernal in memory, then it's a disaster waiting to happen when the drive gets out of sync with what's runnng. Next time you do reboot, you go backwards and may not even know it!

The only gain seems to be that you don't have to reboot. Completely insignificant!

How about taking a critical look at Linux, where it can be better, and quit harping on Windows.

Windows is a distraction to the real problem of winning the general population. Every time you harp on Windows you give the Linux community an excuse for failure. Stop being a facilitator for failure!

Take those excuses away and help the community get over Microsoft and push them to excellence instead of the typically buggy beta code that so many think is wonderful.

Until the code is clean and works every time, Linux will always be an also ran.

Are you paying attention...

>> Until the code is clean and works every time, Linux will always be an also ran.

Unclean code has never stopped Microsoft. Microsoft is seated where they are for many reasons that have nothing to do with quality.

Are you paying attention, or are you here just for the attacks?

>> How about taking a critical look at Linux, where it can be better, and quit harping on Windows.

If you want brutal honesty, go hang out on a developer mailing list or scan through public bug reports. We can be critical..

.. AND we can harp.

Are you aware of all the harping on Linux that Microsoft does? Some of it isn't even honest harping.

Are you paying attention, or are you here just for the attacks?

>> Every shop should have down time windows, procedures for patching, etc down to a fine art. These procedures render Ksplice redundant.

You should not accept inferior behavior from Microsoft products with the excuse that users are accustomed to the downtime. I'm sure people would appreciate less downtime and less planning for the downtimes.

True, there are bigger improvements in the works in the Linux world as far as the average desktop user would be concerned than increased uptime, but I have a feeling you would be criticizing SJVN no matter what the topic was. As if improvements couldn't happen in parallel.

Are you paying attention....

Man, what a long post you wrote!

I guess it's because it takes a long time to wait for a Windows reboot. I know, it bothers me too but I'm paid for it.