![](https://csdnimg.cn/release/download_crawler_static/15562068/bg12.jpg)
Chapter 1. Introduction to RPM Draft
2
Furthermore, the Linux kernel and these various software applications are sometimes made available
by their developers only in source code formats, and they can be installed manually only after
compiling them from source code.
Most people do not have the technical skills necessary to cross-compile an entire operating system.
Even if they do, they usually do not want to devote the time and effort required to bootstrap and
compile an operating system just to be able to run Linux.
Fortunately, the early Linux programmers quickly realized the impracticality of source-code only
releases early in Linux's development and created what they called distributions—collections of
precompiled binaries of the Linux kernel and other necessary software that users often wanted. Rather
than installing Minix, compiling the Linux kernel and other required software applications under Minix,
and installing those compiled binaries of the Linux kernel and essential Linux applications, users could
just install these distributions, immediately having a functional Linux environment in which to work.
Early distributions, such as MCC and SLS, initially represented little more than archived snapshots
of their developer's hard drive. They offered the user performing the installation little or no control
over what applications were put on the system. Whatever the distribution developer had on his hard
drive was what the distribution installer got on her hard drive. Even this was much better than rolling
your own distribution by hand. SLS, for example, stood for Soft Landing System, and was designed to
make the experience of installing Linux easier, hence providing a “soft landing.” MCC Interim Linux,
from the Manchester Computing Centre, was the first distribution to sport a combined boot/root disk,
another attempt to make life easier for those adopting Linux.
Distribution developers quickly realized, however, that more flexibility was needed and began looking
for ways to provide choices both during and after installation. The Slackware distribution, for example,
divided applications into several functional categories. All users installed the base distribution; users
could then selectively install only the additional supplemental categories they needed. If networking
support was desired, for example, the networking bundle could be installed. Similarly, if a graphical
user interface was desired, the X bundle could be installed, making the X Window System available.
This concept offered rudimentary control over what was installed but only at a very coarse level.
Installing the X bundle put several applications (multiple X terminal emulators, several different
window managers, and so forth) on the system, and all users who installed the bundle got all of those
applications whether they wanted them all or not.
The next logical step in distribution evolution was the development of more advanced tools to control
what was installed. Several distributions independently developed the notion of application-level
installation management. The developers of these distributions realized that Slackware and similar
distributions were heading in the right direction, but simply had not made software management
granular enough. Slackware allowed installation and uninstallation (after a fashion) of bundles of
related applications, but what was really needed was installation and uninstallation on an application-
by-application basis.
In late 1993, Rik Faith, Doug Hoffman, and Kevin Martin began releasing the first public betas of the
BOGUS Linux distribution. BOGUS was notable for the package management system (pms) software
that was used with it for installation and uninstallation of all software on an application-by-application
basis. Shortly thereafter, in the summer of 1994, the first public betas of Red Hat Commercial Linux
were released. Red Hat initially used Red Hat Software Program Packages (RPP) as the basis of its
Linux distribution. Like pms, RPP was a system-management tool that allowed for easy installation and
uninstallation of applications. In late 1993, Ian Murdock founded the Debian Gnu/Linux distribution. He
began seriously developing its dpkg application-management software by the summer of 1994. Like
pms and RPP, dpkg made it possible to manage each application on the system.