1. First Some background
Debian is a community driven Free Software GNU/Linux operating system.
It's 'community driven' because it is designed as a project based on volunteer work and a community-based principals. Is is not sponsored by a specific corporation and does not serve a specific commercial purpose like most popular Linux-based operating systems. (such as Redhat, Suse, or Ubuntu.) However it is used and supported by corporations and is used to form the basis of several commercial distributions. It's only goal is to be the 'universal' Free software OS for whatever purpose a person may need a OS for.
It is Free Software because all officially supported software provided by Debian meets the DFSG criteria for their particular definition of 'Free Software'. DFSG is the Debian Free Software Guidelines and itself is laid out in the Debian Social Contract.
It is GNU/Linux because it uses the Linux kernel and GNU userland software to provide basic hardware device driver, networking, software tools, shells, basic libraries and other low-level functioning necissary for building and running the rest of the operating system.
The defining feature of Debian to it's end users is it's dpkg system. Everything centered around packages and the package management system.
When first using Debian it can be a difficult transition. Although moving from Windows to Linux can be confusing for some people, that is not exactly what I mean. There is enough differences between Debian-based systems and Redhat/RPM-using systems that a period of adjustment is in order. There are major differences in init scripts. Debian make changes to software in order to make it meet their guidelines. For example some software would prefer to have configuration files in their own /usr/* directory or use /var in ways that Debian doesn't like and the Debian developers will change these locations from the software's defaults. This can cause conflicts with software documentation. Debian makes note of these differences usually and with every package you install it puts collected documentation in /usr/share/doc/packagename directory. (a usefull resource) Many configuration items are absent (such as gui configuration tools) and Debian has strict policies on configuration changes and management. Network configuration files are different then what you see in other distros. Telinit 3 will not turn off gdm like it will in Fedora, rather you'd go: "/etc/init.d/gdm stop". Debian has a 'debian alternatives', which is a way to manage system defaults in a intellegent manner (for example you may want to use gcc 3.x instead of gcc 4.x for compiling software). These are just a few of the differences you'll see when moving to Debian.
Debian is also not suited for 'linux newbies', or in other words people not familar with installing and operating a linux-based operating system. Although once properly configured then it becomes as easy to use for a average person as any other peice of good software.
2. The Multiple Branches.
Debian has several branches. The main ones are called Unstable, Testing, Stable.
Packages are built in various Experimental branches. Once those packages are in a usable state and don't break things unnecissarially they are accepted into Unstable. Unstable is like the 'cvs' branch of Debian linux and is were most of the work is done by developers and majority bugs are shaken out.
After packages are tested by adventerious end users and developers in real-life usage in Unstable they eventually, after a set time, are added to Testing if they are found to be relatively bug free.
Testing is the next 'Stable' release to be set out by Debian. After it is complete and has all the packages it will even need it is made into the next Stable barring any release bugs.
The Stable release is the only officially supported Debian version. It's designed to be stable in not only a bug-free fashion, but also a unchanging fashion. It has priority with security issues and the only updates are the ones necissary for bug fixes. It's designed to be a 'set and forget' style operating system were you don't have to worry about periodic updates breaking software or otherwise introducing incompatabilities.
The current Debian release is Debian 3.1r1 and is called 'Sarge'. The current testing is called 'Etch' and is due out sometime next year, supposedly.
In case your wondering were Debian got 'Sarge' and 'Etch' from these are the names of a couple characters from the movie 'Toy Story'. Debian Unstable is named 'Sid' and it will never be a officially supported distribution of Debian. (Sid is the boy next door that breaks toys and puts them back together in odd ways)
3. Repositories, Mirrors, and Archives.
Deb packages are stored on repositories. They are merely http and ftp sites online that store the numerous software packages for Debian.
Debian has numerous mirrored websites spread around the world. Most everybody should be able to find a mirror close to themselves that they can install from and update against in a speedy and reliable way.
Archives are the weird part. There are 3 different archives on all official Debian mirrors. These are 'main', 'contrib', and 'non-free'. All 3 archives should be found on all official Debian mirrors for whatever arches those mirrors support.
Main is the only one that is officially part of a Debian release. It consists only of DFSG-style Free software and is the only thing you need to do most everything. Being officially supported means that it's the software that is given most attention to for security issues, bug fixes, and is supported across all architectures that is supported by the current stable release. Main is software that is modifiable, freely redistributable, and can be used for anything and everything.
Non-Free is software that has licensing restrictions in some way that makes it incompatible with the DFSG. It consists of software that is sometimes shareware, or is only distributable in unmodifiable form, or can only be used for educational purposes, and similar type things. This is not supported by Debian in a official manner. No reliable security updates, no reliable bug fixes. It is only provided as a matter of convience for end-users.
Contrib is software that would meet DFSG guidelines as 'Free Software', but it depends on software in non-free to run properly.
There was a 4th archive type that was retired when Sarge was released. It was called non-US. Non-US was retired because the US relaxed crypto laws (a relic of the cold war) to allow open source software not only to be imported but legally exported to other countries.
Also for most people it third party repositories are very important for Debian users. These things will commonly include restricted software that is only semi-legally aviable. Things like libdvdcss to crack dvd encryption to allow dvd playback on Linux boxes or mp3 encoders/decoders which are restricted by patent law.
4. Ports and more Ports and supported computer Architectures.
Another feature unique to Debian is that it has very wide support of different computer architectures. Each version of Debian that is designed to support a paticular peice of hardware is called a 'port'. Debian has 11 officially supported ports and several unsupported ones.
They are as follows:
i368 (modern 32bit pc-compatable) m86k (motorola 86k) sparc (Sun SPARCstation) alpha (HP/Compaq/Digital Alpha systems) powerpc (Motorola/IBM powerPC, used in modern apples) arm (little endian ARM) mips/mipsel (big endian and little endian mips machines) hppa (HP PA-RISC) ia64 (Intel Itanium) s390 (s/390 and zSeries mainframes and servers)
There are 5 ones that are not officially supported and may only be partially present. These are:
amd64 (AMD64 and EM64T proccessors, 64bit), ppc64 (IBM 'G5' style proccessors, 64bit version), sh (SuperH Hitachi proccessors), armeb (ARM big-endian), m32r (32bit Renesas RISC proccessors)
There is also non-Linux ports. These are unofficial versions of Debian that use kernels other then Linux. These are: GNU/Hurd (i386), GNU/NetBSD (i386 and Alpha), GNU/kFreeBSD (i386).
There is even a GNU/Solaris from a company called Nexenta that has started up with the release of OpenSolaris. Although I think that this is more based on Ubuntu then Debian. But that's about the same thing.
With the next release of Debian (Debian Etch) it seems like they will drop Arm, Sparc, m86k and S/390 as supported ports (nothing is definate yet) and add AMD64 to the official list.
5. ISO images and obtaining Debian.
Debian does not distribute full cdrom sets of it's software. Very few mirrors are willing to host ISO images due to the overhead. To compinsate for this Debian has a 'jidgo' program to build yourself cd sets from ftp repositories. Another method provided for obtaining cdroms are through a unofficial bittorrent torrent. The recommended method if you absolutely need iso images is to purchase cdrom images from third party which are typically very inexpensive since they only cover the cost of creating the cdroms.
The official way, however, is to install Debian is to netinstall cdroms. These are minimal cdroms that contain only the software to do a basic install and get you to the point were you can install the majority of the software from packages directly from the internet. These packages are compressed and all in all it is a quit efficient way to go. Often much quicker then downloading full cdrom images.
"Why don't they have ISO images aviable for download?", a person may ask.
Well it's because, using jidgo, and building your own Debian cdrom images your going to make fourteen iso images. This is just for binary software and doesn't include source code. This is just for the 'main' archive and it is just for one port. Of course with DVDs it's more managable, which is just 2 images. Also remember that Debian supports 11 different computer platforms. So your looking at about 150 or so iso images per mirror. This is more redundant data than most web mirrors are willing to handle and people downloading iso images typically don't do a very good job at using mirror bandwidth responsably so Debian simply does not support full iso image sets of it's software.
Installing using the neinstall cdrom image is the way to go. It's much easier and quicker to install by only downloading the software you need once rather then downloading it in iso image form, burning it to cdrom, installing a new OS from cdrom, copying files from cdrom to new install. For places that require multiple installs setting up a local mirror is not difficult. Also there is apt-cache which is a way to setup a proxy server for apt-get to make it easy to conserve bandwidth and speed up multiple installs of software.
6. Some helpful links.
Debian Administration news and tips site.
Official Debian Documentation
A very usefull guide for using Debian on your desktop.
Wiki attempting to aid in Debian documentation
Weekly news letter about the Debian orginization.
A recent article about Debian being the fastest growing Linux OS on in
terms of Web services.
It's been my personal experiance that Debian is the most complete Linux distribution aviable and it's community tends to produce the highest quality packages for software. For any situation were I need to deploy a operating system were I am responsible for support Debian would be my first choice.
Links last checked 2015/03/30
(OLDER) <- More Stuff -> (NEWER) (NEWEST)
Printer Friendly Version
More Articles by Drag Sidious 2006-01-01 Drag Sidious