These classnotes are depreciated. As of 2005, I no longer teach the classes. Notes will remain online for legacy purposes

UNIX02/Debian Structure

Classnotes | UNIX02 | RecentChanges | Preferences

Difference (from prior major revision) (no other diffs)

Changed: 4,6c4,6
*unstable: The application first starts in the unstable branch. It is in this branch that it is tested and refined. Ideally, bugs that are found in an application get passed upstream to the application developer(s) and the application is blocked until critical bugs are resolved. Unstable is generally a rapidly rolling product testing branch. (http://packages.debian.org/unstable/)
*testing: Once the application has been tested in unstable and deemed fit, it is moved into testing. In testing, the application is tested even more rigorously. It is tested against other applications on the system and under many diverse circumstances. The testing branch as a whole is continuously tested until the entire branch is considered "stable" enough for release. (http://packages.debian.org/testing/)
*stable: After the entire distribution has been tested, and bad applications weeded out, the contents of the testing branch move into the stable branch and a major release is made. Because Debian developers are so very rigourous in their testing, once they do release a stable branch, that branch can really be considered stable. Unfortunately, this comes at a price: the versions of the applications in stable can sometimes be quite old. (http://packages.debian.org/stable/)
*unstable: The application first starts in the unstable branch. It is in this branch that it is tested and refined. Ideally, bugs that are found in an application get passed upstream to the application developer(s) and the application is blocked until critical bugs are resolved. Unstable is generally a rapidly rolling product testing branch. (http://packages.debian.org/unstable/, sid)
*testing: Once the application has been tested in unstable and deemed fit, it is moved into testing. In testing, the application is tested even more rigorously. It is tested against other applications on the system and under many diverse circumstances. The testing branch as a whole is continuously tested until the entire branch is considered "stable" enough for release. (http://packages.debian.org/testing/, sarge)
*stable: After the entire distribution has been tested, and bad applications weeded out, the contents of the testing branch move into the stable branch and a major release is made. Because Debian developers are so very rigourous in their testing, once they do release a stable branch, that branch can really be considered stable. Unfortunately, this comes at a price: the versions of the applications in stable can sometimes be quite old. (http://packages.debian.org/stable/, woody)

stable, testing and unstable

Debian really consists of three main branches of development: stable, testing and unstable. The typical testing cycle that an application goes through when accepted into Debian is as follows:

  • unstable: The application first starts in the unstable branch. It is in this branch that it is tested and refined. Ideally, bugs that are found in an application get passed upstream to the application developer(s) and the application is blocked until critical bugs are resolved. Unstable is generally a rapidly rolling product testing branch. (http://packages.debian.org/unstable/, sid)
  • testing: Once the application has been tested in unstable and deemed fit, it is moved into testing. In testing, the application is tested even more rigorously. It is tested against other applications on the system and under many diverse circumstances. The testing branch as a whole is continuously tested until the entire branch is considered "stable" enough for release. (http://packages.debian.org/testing/, sarge)
  • stable: After the entire distribution has been tested, and bad applications weeded out, the contents of the testing branch move into the stable branch and a major release is made. Because Debian developers are so very rigourous in their testing, once they do release a stable branch, that branch can really be considered stable. Unfortunately, this comes at a price: the versions of the applications in stable can sometimes be quite old. (http://packages.debian.org/stable/, woody)

So how does all this help the potential Debian system administrator? Well, that all depends on how paranoid you are. If you have a critical system which cannot tolerate any bugs whatsoever, and you don't need the latest, bleeding edge applications, then stable will work for you. If you are a little less reserved, and possibly want the equivalent of a Red Hat distribution, then you may want to live in testing. If you need the latest, greatest, bleeding edge applications and don't mind a little bit of instability, then you will want to use unstable.

NOTE: You can, technically, work out of two or more of these branches at a given time. So if you want the stability of stable, and yet you need the versions of KDE, Gnome, and XFree86 found in unstable, it can be done. It's tricky, and will not be covered here, but you can read an overview of how it's done [here].

Debian as a Meta-Distribution

One of Debian's strengths is that it is not just one distribution but many. In fact, it can be considered a meta-distribution that can be morphed and modified to meet many different needs. Some notable Debian internal projects:

Classnotes | UNIX02 | RecentChanges | Preferences
This page is read-only | View other revisions
Last edited September 13, 2003 1:15 am (diff)
Search:
(C) Copyright 2003 Samuel Hart
Creative Commons License
This work is licensed under a Creative Commons License.