What a Linux Distribution Is
June 15, 2000
To understand what a Linux distribution is, it is necessary to first explain what Linux is and a little about its component parts. This involves the component parts of an operating system (OS) including such things as file systems. This article will attempt to explain these concepts at a basic level.
What is an Operating System?
An operating system consists primarily of three things:
Beyond this, other specific programs would provide additional functionality to the operating system. For example, I would not consider Internet Explorer from Microsoft to be a part of the operating system. (Although it is packaged with the OS - but that is another issue left for editorials.) Internet Explorer adds the functionality to be able to use the web. You aren't required to use Internet Explorer, but can use any other web surfing program.
What is Linux?
Linux is an operating system which is built from various packages. The various packages provide various functions to the system. Sometimes these functions are critical to the ability of the operating system to run, and sometimes they are not. Also a Linux operating system due to its extreme flexibility can be configured in a variety of ways. For example, normally it is required that a user logs in to run Linux. A Linux expert can set a Linux operating system up that requires no login. Linux software basically consists of:
A Linux package consists of a package of one or more programs with associated documentation that will perform a specific function either for the operating system or add additional capabilities such as providing a web server. (The Apache web server package). Sometimes the source code is included as a part ot the package. There are a few package types. The original standard Linux package type consisted of what was called a tarred and gzipped file. This simply refers to the fact that the package was wrapped into one large file for backup purposes, then it was compressed to save storage space or make it easier to transfer from one place to another. Another type of popular package format is called RPM which refers to the Redhat Package Manager. Also the Debian Distribution has their own package format. Refer to the Linux users guide for how to use and install these packages.
It is obvious by now that a Linux distribution is in a basic sense a set of packages that together make up the operating system. It is a little more than that. In order to install the operating system the tools to perform the install must be available in the correct order for the user. A user interface must provide information to the user so they will know what they can do and what their choices are. The user interface must also interpret user commands and act upon them. Also the Distribution package generally makes some assumptions about the way the system will be set up. Deciding how to set the user interface up for the installation can be a complicated task.
Various distributions will allow:
The core of the operating system is still likely to be the same or similar and many of the packages used will be the same. Also the user can get additional packages and install them on the operating system.
The various packages are created by different groups of developers on various computers and tested individually under different circumstances. There is a pretty good consensus of programming methodology among the Linux community with regard to program compatibility. There are various libraries that are used for compiling programs, and there are libraries providing various functions that are considered to be the "standard of the day". Although these issues are dealt with, there is no guarantee that all packages will work well together. Therefore some system testing should be done before a distribution is made available. The amount of testing varies widely from one distribution to another.