Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I have a machine which started life on Linux 2.4.x, then was updated to Linux 2.6.x. Now it's been updated to Linux 2.6.18. Each time, only kernel has been updated. The same original set of tools (binutils, glibc...) remain (obviously this is not ideal).

My question is, should I expect the machine to function fine, given the kernel updates and older tools? Or, are there scenarios where kernel version x.y.z breaks compatibility, and you need a new set of tools?

If it matters, the most exotic things the machine does are software RAID (but this can go away), and NFS.

share|improve this question
    
How do you update the kernel - do you compile it or are you using packages? –  pauska Jul 28 '11 at 18:37
    
The last update was a binary package, although happy to compile if necessary. –  Skippy29 Jul 28 '11 at 18:40
    
I've used KSplice quite a bit, it's commercial software but if you want to do online updates often it's probably worth it –  sam Jul 28 '11 at 18:41

3 Answers 3

up vote 4 down vote accepted

Pushing Your Luck:
*nix in generally is designed to be quite modular -- but in my opinion going from 2.4.x to 2.6.x might be pushing your luck since that is a major release. This is because there are some programs that, when being built, will use headers and data structures provided by the kernel (keepalived is one example that comes to mind).

Consider A Distribution:
One of the main reasons distributions exist to help maintain compatibility. With many eyes a organizations backing them lots of compatibility issues will be found and ironed out before they are pushed to stable. I would look into using a standard distribution such as CentOS/Redhat or Debian/Ubuntu.

Not knowing the details, my guess would you are in this position because you are not able to easily recreate this machine and its function with a new install. This is a bad place to be if you are in fact in this place. If you have a failure and need to recover it will be really stressful.

share|improve this answer

Mostly, it will work as expected.

You may have userland processes that are using deprecated (or worse, retired) Linux system calls, but generally those are not retired without warning.. Have you seen any warnings?

You may also have kernel/modules that may be using newer calls then what are available with your binutils/glibc versions as well, but if you encounter those, it will simply error out while building.

share|improve this answer

For the most part, if you have successfully upgraded to 2.6.18, you should have no major issues with 2.6.32 or even 3.0. There have been some driver name changes that may affect you, however making sure you still have your old kernel available in grub should help you avoid a situation where you need to use a rescue disc.

Some packages you may want to verify work with the kernel you're about to use are udev, initscripts (if you use debian, redhat, or similar), iptables/etables/arptables.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.