DebianDistsAndKernelVers

From brainsik
Jump to navigation Jump to search

== Debian Distributions and Kernel Versions ==

> hi jay, when we upgraded my system, did we have to recompile the kernel?
> i assume not, but i don't really understand why.  if the current kernel
> that's testing (which is what i have, right?  i don't have woody?  i don't
> remember what my kernel is called) goes stable, then do i have to
> recompile?  when do i have to do anything wierd besides just apt-get
> update and upgrade.

My quick answer, first. There will be no critical reason you will ever need to recompile your kernel for some time. The only pressing reason I can think of is if some horrible security issue comes up that makes you vulnerable to a remote attack against your computer. So, other than that. You are in the clear. In particular, it takes a radical change in kernels for you to be required to change it for a new debian distribution. Secondly, your upgrade from woody to sarge (old testing to new testing) was fairly minor. Being on the testing distribution you will always be slowly upgrading to the next Debian stable release.


=== Debian Distributions

=

To clearify some name confusion. At this time, on Debian:

 stable    woody
 testing   sarge
 unstable  sid

So, the large upgrade you did basically was from woody to sarge. This is because woody was "testing", but a few months before it went to "stable" it got frozen. What this means is that there were very strict rules about what new packages could go into it. This was so the woody release could settle out, get bug fixed and become true to the name "stable". All releases go through this cycle.

==== How the Debian "Testing" Distribution Works

==

Generally, the testing distribution can be thought of as a more stable (or less unstable) version of the "unstable" distribution. The way it works is that any package in unstable that hasn't had any updates to it in 10 days and doesn't have any critical bug reports against it is automatically moved into the "testing" distribution. The theory being that anything unchanged for 10 days is probably doing okay, otherwise it would have been updated by then.

So, after woody went stable, and the testing distribution became unfrozen again, all the packages in unstable that had been unchanged for two weeks or more and didn't have any critical bug reports came flooding in. That's why there were hundreds of packages to upgrade.

=== Kernel Versioning

=

Here is a modified (by me) excerpt from a Linux Gazette article1:

All Linux kernel version numbers contain three numbers separated by periods (dots), Z.Y.X. The first number, Z, is the kernel version. We are now on the third kernel version, 2.y.x.
The second number, Y, is the kernel major number. Major numbers which are even numbers (including 0) are said to be stable. That is, these kernels should not have any crippling bugs, as they have been fairly heavily tested. The most common stable kernels are currently 2.2.x and 2.4.x, often abbreviated as 2.2 or 2.4. The kernels with odd major numbers are developmental kernels, such as 2.5.x. These have not been tested and often as not will break any software packages you may be running. Occasionally, one works well enough that it will be adopted by users needing the latest and greatest support before the next stable release. This is the exception rather than the rule, and it requires substantial changes to a system.

Kernels follow a similar cycle as Debian distributions. 2.5.x is the unstable kernel. After significant work it will at some point be frozen and called 2.6.0-preN, N an integer. You can think of the preN kernels as the "testing" kernels. They are more stable than the 2.5.x kernels, but not quite ready for public conusmption. At some point, these are determined to become prime time and we receive 2.6.0.

Finally, the third number, X, is the minor version number. This is changed whenever a new release of a X.Y kernel is released. These usually contain bug fixes and on very rare occasions inclusion of very important new features. It is important to face reality and know that earlier changes between kernels (say, X less than 8) are typically more significant than changes later on. This is because people discover that small bugs are actually bigger problems that require substanially more work. A good example of this is that the current memory system used by the 2.4.19 kernel is very different from the 2.4.0 kernel. For this reason, many people don't migrate to a new major kernel release until the minor numbers have ticked up a bit. You can think of this as waiting for the transients in the dynamical system to settle down.

==== Debian Distributions and Kernel Upgrades

==

No new major kernel revision has come out since you've been running testing. Thus, even if the new testing distribution is using a different kernel than you are, the differences between kernels is not significant enough to require you upgrade.

However, let's imagine that there was a significant change that would require you to upgrade. Your kernel package is called "kernel-2.4.18-tardigrade.1". If some packages came out that required a newer to 2.4 kernel, they would depend on ">= kernel-2.4.19". This is a string comparison, "kernel-2.4.18-tardigrade.1" is less than "kernel-2.4.19", so you would have been told about this.

1 http://www.linuxgazette.com/issue32/bandel.html


Back to LinuxNotes


Last Edit: Wed, 27 Nov 2002 17:22:14 -0800
Revisions: 6