6

I have been observing that Linux kernels are updated regularly. What I believe is that the kernel provides a basic layer for the OS to interact with different hardware and software. It is open source and in earlier days it seemed logical for kernel to evolve fast. But now, all the kernels are pretty good, still we are seeing continuously kernel updates. If we look at OS X, the base system is not updated very often, even both have comparable stability and functionality.

13
  • 2
    So you're saying the kernel shouldn't have features added, bugs fixed and support new hardware? – muru Mar 19 '15 at 5:25
  • 1
    It would be very wrong to interpret my question. Contrary are you suggesting that OSx don't have enough features and stability. Wha t I was wondering that why linux being so stable choose not to aggregate multiple versions of kernel development in one single release (the way ubuntu is supporting LTS, i believe the LTS kernel are rarely updated in their life cycle). As an home enduser I don't care what extra hardware my current linux distribution has added. I am pretty sure that on server machines administrators don't update kernel regularly as well. This way kernel would be massive with time. – rohit Mar 19 '15 at 5:54
  • A comparison with OSX is invalid, since the hardware it runs on is entirely determined by the same company that develops the kernel. If you don't want to upgrade, don't. Did anybody force you to? – muru Mar 19 '15 at 5:56
  • Thats okay but still apt will tell you about an undesired update. How can I distinguish whether I need it or not. My system is working perfectly fine though I receive 3 kernel updates in last 5 days. Each time I update and nothing moved. – rohit Mar 19 '15 at 6:08
  • 1
    That's what changelogs are for: changelogs.ubuntu.com/changelogs/pool/main/l/linux-meta/… – muru Mar 19 '15 at 6:08
7

You observation of more regular kernel updates is partly the fault of the kernel being one giant blob of stuff that needs to work very well with the (in Ubuntu case, apt) package system (or your system will be unbootable!)

While various software bugs and security flaws serious enough to push an update are only affecting those with the respective software installed, everyone using GNU/Linux will have the Linux kernel installed. So while various apps get various updates - everyone gets the kernel updates. Consequently, each individual gets many kernel updates but only few other software updates in comparison - simply because his system has only specific software installed.

  1. There is a terrible flaw in some RAID driver that will occasionally render important data unreadable? Ubuntu must ship an update, for anyone potentially affected = everyone using a kernel version including the fault = probably everyone using a supported version of Ubuntu.

  2. A terrible flaw in the MP4 module of the nginx web server is discovered, potentially allowing a third party to take over a streaming server? Most Ubuntu users do not get an update, even most who are using nginx are not getting, because they do not have that specific module installed, and only the package containing that module need to receive a security update.

  3. A terrible flaw in Windows is discovered, making user applications using the Windows System certificate store accept malicious certificates and consequently disclose some of their meant-to-be encrypted traffic. Since patchday was last week, application vendors will work around the bug until next month. A single kernel update is shipped for all collected updates then, also creating some illusion of fewer updates.

  4. A terrible flaw in a user application on Windows is discovered. Since Windows does not have a package manager, nobody notices. The user reinstalls his machine months later, when realizing he was part of a large botnet.

Rule of thumb: If you don’t need feature updates, use the Long-Term-Support (LTS) updates. All updates shipped to those version are, to some extent, important bug and/or security fixes.


Another note on the frequency of updates on Linux distribution in general and Ubuntu specifically: The way Microsoft and apple deploy updates is, from a security standpoint terrible. It's not that they do better software and need fewer updates, it's that they deploy updates from an economic standpoint, which means they usually don’t, even though some users (but not a economically relevant share) is affected by bad bugs.

On Linux, you see security flaws fixed within hours of being known. On some proprietary systems, maintaining companies ask security engineers to withhold information about flaws from the public for 3 months (e.g. Microsoft) and only responsibly release those until a fix is released in the usual cycle, e.g once monthly (e.g. Microsoft).

Think about the implications of security flaws getting fixed in a well-planned, but SLOW way versus the way Linux does it: best-effort as fast as possible. You'll understand why many admins prefer the open-source and Linux approach, despite increased update frequency and all potential problems such comes with.

TL;DR: Fast an frequent updates are a good thing, as long as their installation is undisruptive and seldom causing fails in automatic mode.


Note: Kernel updates will become less of a hassle in the future. Architecture for handling installation and removal of older versions via apt is being improved right now, also various Linux distributions are eyeing and/or exploring methods of deploying smaller fixes as live-patches that can be applied to a more-or-less "running" system without you needing to care a lot about it.

2
  • Do you have any reference to any article which can shed some light on last paragraph of your answer. Will appreciate if you ca share that in your answer as well. – rohit Mar 19 '15 at 6:12
  • @rohit An example would be Arch Linux offering kexec rebooting. I don't recall what triggered it, but I was offered the choice. – muru Mar 19 '15 at 6:17
1

This might also be why it seems so much more stable. Remember every windows or mac update there are a lot of complaints about everything breaking. If there are minor bugs with the changes and there are less of them at once it results in less stuff breaking.

Imagine if all of the fixes came at once and each had issues from untested use cases, and maybe even some of them are made worse by other unrelated changes.Updates sometimes break stuff for me however they generally feel minor and are seem easier to fix when I am on a linux distro like arch which updates a lot.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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