Question intended for system administrators.

Consider system running a old but working kernel and all the required functionality is available. (Ubuntu 12.04 LTS specifically with kernel 3.2)

Then a new version of kernel is released ( Ubuntu 16.04 LTS with kernel 4.4). Above is just an example case.

I have been suggested that I should not immediately update to most recent releases on the production system even if the release has support. Why is it so ? How long should I wait ?

closed as primarily opinion-based by G-Man, cas, garethTheRed, meuh, Archemar May 18 '16 at 7:18

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

  • Updating a production system without proper testing on an identical non-production system is crazy. – Kusalananda Jan 25 '18 at 18:59

This question has a big chance of getting closed due to the answers you will get are going to be mostly opinion based. But here is my 2 cents.

Production systems are reliant on stable releases of operating systems. If you install the latest and greatest kernel/patch/update on your system, you don't know what deficiencies lurk in the short time ahead. I am not underestimating kernel developers'abilities, but at the end they are also human. There are things that gets forgotten to be checked in their code and one of those "forgotten" things may come to bite you. Then, they say, "Oooohhh, we forgot it" and issue a patch.

Repercussions of this even are two fold. One, when you experience this unchecked condition come to real life, your system may experience and outage. Not good if you are talking production server(s). Management will not take it lightly. Two, probably you will need to take the system down to fix/upgrade it. Here goes another outage, even if it is weekend. night or whatever, outage is an outage and production server owners do not like it. Think about a corporation like Walmart. Their stores never close fully. So, a minute of down time of their production servers means incredible gobs of money.

And fresher the kernel you install, much more likely that you will find yourself in the position of patching more and more. Hence people say, wait at least 6-12 months of real world testing of any new OS release, before you put it on your production servers.

  • Thanks for an answer. Aren't new kernels built over the existing ones. What I intend to ask here is that if some problem was not before, can it come up in new kernels ? – ankit7540 May 12 '16 at 15:31
  • If the new code only contained old and tested code, why would there be a new kernel ? Think about it. The new kernel has improvements over old one. Which means new code. Which in turn means, unforeseen bugs in the code. – MelBurslan May 12 '16 at 15:54
  • I see your point now. New code for new features + improved code for existing features -> more testing needed. – ankit7540 May 12 '16 at 16:07

The example you give is not just an example. This is a major system upgrade. You better wait for 16.04.1 which is probably more stable. Upgrading from 14.04 to 16.04 is not just an upgrade.

If you have 14.04, and it installs a new kernel like 3.2.34 to 3.2.35, you can wait I guess. Well maybe there is a security update in the old kernel, then you can see if that is a risk to your server. If not, you might wait. But then again, what do you know? I would not know if the old kernel is better than the new one. Do you have an identical test system that can test all applications to see if they have a problem with the new kernel? Let me guess: probably not - because otherwise you wouldn't ask this question. No offence - I don't have that test system either here.

So what to do? I just upgrade. If you want to be sure, create a snapshot or image.

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