Linux kernel version control scheme explained to you
If you want to check the Linux kernel version currently installed on your system, you can do it using uname, a Linux command that allows you to list information related to your system. Depending on the distribution you are running, the version number displayed by uname may differ from the actual Linux kernel version.

Sunny panoramic view of Ujung Water Palace / Bali Indonesia /
Each Linux kernel version has a different version number associated with it. Have you ever wondered how Linux kernel version numbers are formed?
If you have been Linux for a while, you should know that Linux distributions have unique versions, and each version has a specific code name. Linux kernels also have different version numbers, which serve as identifiers for the series to which the kernel belongs. However, the way kernel versions were formed in the early days differed from how Linus Torvalds now names them.
By the end, you will be more familiar with the Linux kernel versioning scheme and will have an easier time reading kernel version numbers and identifying the various features associated with a specific version.
Traditional Linux kernel version control
When Linus first started developing the kernel, the version control system used simply consisted of an incrementing variable scheme starting from zero (0.x). Initially, Linus was the only staff member on the project, and this version control system was adequate for recording and distributing new kernel versions.
The following are some kernel versions that follow this naming scheme:

Later, as more developers began to contribute to the project and the number of revisions and patches increased significantly, it was decided that this version control scheme was not suitable for software such as the kernel. Starting with version 1.0, Linus adopts a new scheme with some additional variables.
Introducing a more descriptive version control system
In 1994, with the release of the Linux 1.00 kernel, Linus began to use a new version control system, which used three variables in the syntax: "abc". These variables (a, b, and c) represent the major, minor, and revision numbers, respectively, of a specific kernel version.
Take the Linux 1.1.95 kernel as an example. You can decode this into the first major version, the first minor version, and the 95th revision.
Back then, even minor version numbers represented stable kernel versions, while odd numbers represented development releases. It's important to have separate branches so developers can add and test new features in the kernel without affecting the stable branch.
Kernel developers add and improve new features in the development branch until it is stable enough to be released as an LTS kernel. LTS kernel 3.2 was developed with new features in the stable version 3.1, and similarly, the new development kernel 3.3 was forked from 3.2 to make way for new features that would later be introduced in Linux 3.4.
Starting with the Linux 2.4 kernel, the fourth variable in the kernel name represents the patch version. You could say that version 2.4.37.10 is the tenth patch version of kernel 2.4.37.
Patch version does not mean the number of issues patched in the kernel version. Instead, it counts the number of times an updated kernel has been released after a discovered issue has been patched.
Before Linux 2.6, this version control system was used, which can effectively distinguish specific versions from other versions. Adding revision counts and patch versions to version numbers is descriptive, but means having longer and more complex kernel versions. Once again, a new and better solution was needed.
How are Linux kernel versions named now?
In Linux version 3.0, Linus removed the fourth variable from the version number. Kernel versions are now formed according to the syntax: abc, where a, b, and c are the major version, minor version, and revision count respectively. This versioning scheme is similar to the one used between the 1.0 and 2.4 kernel versions.

Linux 3.2.0-23
Thanks to advances in version control systems, contributors can now seamlessly work on stable branches and add new features without accidentally breaking an already working stable version. Therefore, after kernel version 4.0 was launched, it became redundant to use even and odd minor version numbers for the stable and production branches of the kernel, and the first LTS version in the 4.x series (4.1) had an odd minor version number .
You may also notice some characters at the end of the version number, such as rcX. Review candidates (or "rcs" for short) are preview and pre-patch versions of the kernel that developers need to patch to eliminate bugs and other issues. These are replacements for previous development releases represented by odd minor version numbers.
Although these releases are reserved exclusively for kernel developers so they can fix reported issues and implement new features, you can also download and test these kernel review candidates if you wish, but this is generally not recommended because This is where most development happens. At the time of writing, the latest kernel preview is 5.19-rc6.
To create a new version, the previous variable is incremented when its value reaches a specific number. For example, whenever the minor version count approaches 20, the major version is updated to the next digit.
Linus mentioned in his 5.0 kernel development email that he was only updating the major version to 5 because the number of minor versions was too large to count on fingers and toes (20!). Also, according to kernel.org, the major version number is increased when the numbers after the first dot start to look "too big". The final kernel version for the 3.x series was 3.19, and the last major 4.x kernel series was 4.20, followed by upgrades to 5.0.

Linux 5.18.0-2
The Linux kernel has followed this versioning scheme since version 3.0, and it has proven effective in three major kernel versions (versions 3.x, 4.x, and 5.x).
Use the version number to identify the Linux kernel version
Given the sheer number of Linux kernel versions released, a system in place is needed to identify and differentiate specific versions from others. Using the new kernel versioning scheme, kernel versions can now be efficiently identified and compared, and it is easy to know which kernel version is the latest and which was released earlier.
If you want to check the Linux kernel version currently installed on your system, you can do it using uname, a Linux command that allows you to list information related to your system. Depending on the distribution you are running, the version number displayed by uname may differ from the actual Linux kernel version.
The above is the detailed content of Linux kernel version control scheme explained to you. For more information, please follow other related articles on the PHP Chinese website!

The main uses of Linux include: 1. Server operating system, 2. Embedded system, 3. Desktop operating system, 4. Development and testing environment. Linux excels in these areas, providing stability, security and efficient development tools.

The Internet does not rely on a single operating system, but Linux plays an important role in it. Linux is widely used in servers and network devices and is popular for its stability, security and scalability.

The core of the Linux operating system is its command line interface, which can perform various operations through the command line. 1. File and directory operations use ls, cd, mkdir, rm and other commands to manage files and directories. 2. User and permission management ensures system security and resource allocation through useradd, passwd, chmod and other commands. 3. Process management uses ps, kill and other commands to monitor and control system processes. 4. Network operations include ping, ifconfig, ssh and other commands to configure and manage network connections. 5. System monitoring and maintenance use commands such as top, df, du to understand the system's operating status and resource usage.

Introduction Linux is a powerful operating system favored by developers, system administrators, and power users due to its flexibility and efficiency. However, frequently using long and complex commands can be tedious and er

Linux is suitable for servers, development environments, and embedded systems. 1. As a server operating system, Linux is stable and efficient, and is often used to deploy high-concurrency applications. 2. As a development environment, Linux provides efficient command line tools and package management systems to improve development efficiency. 3. In embedded systems, Linux is lightweight and customizable, suitable for environments with limited resources.

Introduction: Securing the Digital Frontier with Linux-Based Ethical Hacking In our increasingly interconnected world, cybersecurity is paramount. Ethical hacking and penetration testing are vital for proactively identifying and mitigating vulnerabi

The methods for basic Linux learning from scratch include: 1. Understand the file system and command line interface, 2. Master basic commands such as ls, cd, mkdir, 3. Learn file operations, such as creating and editing files, 4. Explore advanced usage such as pipelines and grep commands, 5. Master debugging skills and performance optimization, 6. Continuously improve skills through practice and exploration.

Linux is widely used in servers, embedded systems and desktop environments. 1) In the server field, Linux has become an ideal choice for hosting websites, databases and applications due to its stability and security. 2) In embedded systems, Linux is popular for its high customization and efficiency. 3) In the desktop environment, Linux provides a variety of desktop environments to meet the needs of different users.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Atom editor mac version download
The most popular open source editor

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function

Dreamweaver Mac version
Visual web development tools

Notepad++7.3.1
Easy-to-use and free code editor