The core of an operating system is a piece of software which interacts with the hardware of the computer and provides basic functionality for several applications. On Linux based systems the so called kernel provides this functionality and the term Linux just means this core without those applications which provide the functionality for users. Other examples are the Hurd or the flavours of the BSD kernel.
Many applications around UNIX like kernels are provided by the GNU
system. That is why Linux based
operating systems are pronounced GNU/Linux system. The GNU tools around the
Linux kernel build a complete operating system.
Users do not need only an operating system. They also need certain applications like web servers or office suites. A distribution is a collection of software packages around the GNU/Linux operating system which satisfy the needs of the target user group. There are general distributions which try to support all users and there are several specialised distributions that are targeting on a special group of users.
Distributors are those companies that are building these collections of software around GNU/Linux. GNU/Linux is Free Software and the user who buys a distribution pays for the service which the distributor is providing. These services are:
Most distributors ship their distribution in binary packages. Two package formats are widely used:
All GNU/Linux distributions have a certain amount of common ground, and the
Linux Standard Base
(LSB)
is attempting to develop and promote a set of standards that will increase
compatibility among Linux distributions and enable software applications to run
on any compliant system.
The very essence of any distribution, (RPM, DEB, Source, tarballs or ports) is the choice of policy statements made (or not made as the case may be) by the creators of the distribution.
Policy statements in this sense are things like "configuration
files live in /etc/$package/$package.conf
, logfiles go to
/var/log/$package/$package.log
and the documentation files live in
/usr/share/doc/$package
."
Following the policy statements are the tool-chains and libraries used to build the software, and the lists of dependancies which dictate the pre-requisites and order in which the software has to be built/installed. (It's easier to ride a bicycle if you put the wheels on first. ;-) )
It is this adherance to policy which causes a distribution to remain
consistant within its own bounds. At the same time, this is the reason why
Packages can not always be safely installed across Distribution boundaries. A
'SuSE' package.rpm
might not play well with a RedHat
package.rpm
, although the packages work perfectly well within
their own distributions. A similar compatability problem could also apply to
packages from the same distributor, but from a different Version or generation
of the distribution.
As you will see later in more detail, Custom Debian Distributions are just a modified ruleset for producing a modified (specialised) version of Debian GNU/Linux.
A package management system is a very strong tool to manage software packages on your computer. A large amount of the work of a distributor is building these software packages.
Distributors you might know are Mandrake
, RedHat
, SuSE
(Novell
) and others.
Debian
is just one of them.
Well, at least this is what people who do not know Debian right might think about it. But in fact Debian is a different kind of distribution ...
The Debian Project is an association of individuals who have made common cause to create a free operating system. This operating system that we have created is called Debian GNU/Linux, or simply Debian for short.
Moreover, work is in progress to provide Debian of kernels other than Linux, primarily for the Hurd. Other possible kernels are the flavours of BSD and there are even people who think about ports to MS Windows.
All members of the Debian project - who are called Maintainers - are
connected in a Web of
trust
which is weaved by signing of GPG keys. One requirement to
become a member of the Debian project is to have a GPG key signed by a Debian
developer. Every time one Debian developer meets an other developer they sign
their keys and in this way the web of trust is weaved.
Debian contains nearly 10000 binary packages and this number is constantly increasing. There is no single user who needs all these packages (even if conflicting packages are ignored).
The normal user is interested in a subset of these packages. But how to find out which packages are really interesting for the actual user?
One solution is provided by the tasksel
package. It provides a
reasonable selection of quite general tasks which should be solved with the
computer which is intended to run Debian GNU/Linux. But this is not really
fine grained and does not fit the needs of user groups with special interests.
Custom Debian Distributions (formerly known as Debian Internal Projects) try to provide a solution for special groups of target users with different skills and interests. Not only handy collections of specific program packages but care for easy installation and configuration for the intended purpose.
To clarify a common misunderstanding: Custom Debian Distributions are no fork from Debian. They are completely included and if you obtain the complete Debian GNU/Linux distribution you have all available Custom Debian Distributions included.
Custom Debian Distributions
9 April 2004tille@debian.org