If you’re using a Linux distribution like Ubuntu or Fedora, you’re also using the Linux kernel, the core that actually makes your distribution a Linux distribution. Windows also has its own kernel that its operating systems use, but Linux is highly modular and therefore the kernel is more commonly discussed as a lot can be done with it. For example, you could take the kernel, patch it up with lots of fixes, tweak other settings, strip out everything you won’t need, and then replace your original kernel with your final product, and it will run just fine (assuming it was done right). Being able to simply replace a part with something else without issue is what makes Linux great.
But your distribution constantly asks you to update your kernel. Why should you do this when it’s been running just fine?
Virtually every single kernel update will have some sort of security fixes that close up holes that have been discovered. This is probably one of the most important reasons to update your kernel, as you’ll always be safer with a patched kernel. If a hacker manages to get into the kernel, a lot of damage can be done or the system simply crashes. Those are inconveniences that are easily avoided with up-to-date kernels.
Not only do kernel updates bring with it security fixes, but it can fix other issues that could possibly make the system crash through regular use. Some people argue that constantly updating the kernel actually decreases the overall system stability because you’ll be running on a kernel that you’ve never used, so you cannot assume that it will work as well as the kernel you were previously running on. While this is also true, that margin is rather slim, and only people who run servers or other important systems really need to be cautious. For most normal consumer-type users, updating your kernel outweighs those issues by a lot.
While those were the updates you get with minor kernel updates (say 3.2.0 to 3.2.1), let’s check out some improvements you can commonly see with major updates (think 3.2 to 3.3). First of all, every major kernel update is guaranteed to include the latest open source drivers for all of your devices. Out of all the drivers being updated, the graphics drivers are probably those that you’ll notice the most, as every refresh usually adds a bit more performance. While it’s always possible to go the proprietary route, knowing that the open source drivers keep getting better and better is good too.
New Kernel Functions
Occasionally, major updates to the kernel in Linux also brings some new functions. These functions are basically parts of the kernel that programs can use to do some sort of task or operation. Additionally, other functions may have also changed. You most likely won’t break your system if you don’t update your kernel for this exact reason, but sooner or later you’ll find programs and other packages that require a certain version of the kernel. It’s best to have the latest one so you know you won’t come across that issue.
Last but not least, many major updates to the kernel improve the overall speed of the system. While some changes can be very subtle, others aren’t and can make a big difference, such as the famed 200-line patch that increased the overall productivity of a Linux machine by quite a bit. There are even some crazier changes such as this, where Linux can run off of zero CPU cores. If you’re a speed demon (and I know many of you who use Google Chrome are), this is a good way to get a bit more juice out of your hardware.
In the end, it’s very worthwhile to update your kernel for Linux whenever you can. For consumer-type users, the benefits that come along with it far outweigh the risks. Additionally, each kernel that you update to will have been tested for at least a couple of days by developers and test users to ensure that it runs without a hitch. In case your system does have a problem with it, you should be able to choose a previous kernel from the boot menu so you can get back into your system. Then you can delete the offending kernel and make a choice of staying with your current kernel or waiting until a working update appears.
Do you have your own policies for updating the Linux kernel? Do you think distributions should always use the absolute latest or should they lag a bit for stability reasons? Should there be major kernel updates during a release (like Fedora does, or used to do) or only minor updates (like Ubuntu does)? Let us know in the comments!