Title: Making Sense of Linux Release Numbers and Kernel Revisions
Keywords: Kernel, Linux, Revision
Date: April 14, 2000
KDB: KDB-271
Revision: 0.01
Author: Support
Distribution: External
Part I – Kernels and Distributions Are Different
The Linux kernel is the code of the OS: the kernel, along with the drivers. It has a version number. Say 2.2.10. RedHat et al. are distributions: the kernel and drivers, and many common utilities and applications. They also have version numbers that are, in general, NOT related to the kernel version number. Say RedHat 6.0. As it turns out, RedHat 6.0 is based upon (runs on, comes with, etc) kernel 2.2.10.
Some distributions make their own modifications to make a release stable. RedHat 6.0 in fact runs on Linux 2.2.10-5. This just means that the kernel (and source) that is 2.2.10-5 is mildly different from 2.2.10. People will often get these two version numbers mixed up. They will say things like, my app runs on Linux 6.0. Please watch for this.
Part II – Kernels Are Numbered For a Reason
Linux kernels have version numbers in the format x.y.z. x is the major release number, y is the minor revision number, and z is the patch number. PLEASE NOTE: z is NOT the number of patches; it simply indicates that more bugs have been fixed since the last patch number.
Linux kernels come in 2 flavours: development (experimental), and stable. You can easily tell them apart because the stable kernels are x.even.z and the development kernels are x.odd.z. At this time, the current stable kernel is 2.2.14, and the current experimental kernel is 2.3.99-pre5.
You will have noticed the pre in the last version number. This convention in experimental kernals indicates that a stable release is about to happen, and unless you have an exceptional circumstance, no new functionality will be added to this series.
Experimental kernels are unstable. They will do nasty things like eat your hard drive. This is taken from a bad personal experience with experimental kernel 2.3.99. They should not be used in production environments. To do so is to take your data into your own hands.
End of KDB-271