This book is available for $38.95 which includes:

Call 888-770-4330 (Toll Free in the U.S.) or 707-773-4916

Help Support Continuing Linux Development!


The Debian Linux User's Guide
Dale Scheetz
Linux Press

Linux Press
P. O. Box 220
Penngrove, California 94951
U. S. A.

For information on software, translations, or book distributors in both the U. S. A.
and outside the U. S. A., please write to Linux Press at the above address.

The Debian Linux User's Guide
Copyright (c) 1998 by Dale Scheetz

All rights to the publication and distribution of this book in printed form
are held by Dale Scheetz, with exclusive license of those rights granted to
Linux Press. Any production for resale of this document in hard copy form is
strictly forbidden outside this exclusive license to Linux Press.

Distribution of the print version of this book must be arranged through
Linux Press.

Although distribution of printed copies of this book are restricted,
electronic copies of this book may be distributed freely via any electronic
media. Proper use of the electronic form of this book permits the end user
to make hard copy printouts for personal use only.

ISBN 0-9659575-1-9
Trademark Acknowledgements
All terms mentioned in this book that are known to be trademarks or service marks
have been appropriately capitalized. Linux Press cannot attest to the accuracy of
this information. Use of a term in this book should not be regarded as affecting
the validity of any trademark or service mark.

Apple and Macintosh are registered trademarks of Apple Computer, Inc.
CP/M is a registered trademark of Caldera, Inc.
IBM is a registered trademark of International Business Machines, Inc.
MS is a trademark of Microsoft Corporation.
Windows is a trademark of Microsoft Corporation.

dedicated
to
Linux users everywhere

Second Edition
Author's Notes
Debian 2.0 represents a major integration effort to get the new glibc working with
most of the distribution packages. With the total number of packages in the main
distribution (the totally free software) above 1500, the shear size of the distribution
has made everything more difficult.

The boot floppies have also been heavily reworked, with the install program written
in C. The install menus have not changed much from last release, but the interface
has some subtle differences from previous versions.

There is a new chapter in this edition, called "What Next", which represents a
simple approach to System Administration and discusses the basic system
management tools provided in the Debian distribution, and examples of how to use
them to manage accounts and resources on a Debian system.

Be sure to look at the README.1ST file on the Extras CD-ROM for any last
minute issues that did not make it into the book. As with most software, Debian is
constantly being updated. You may find minor variations, in the book, from the
software included.

Luck,
Dwarf

Table of Contents
1 Introduction
1.1 History
1.2 The Debian Development Team
1.3 What Makes Debian Different?
1.4 How This Book Was Written

2 Installation
2.1 Introduction
2.2 Quick Start
2.3 Floppy Installation
2.3.1 Making Boot Floppies
2.3.2 Creating Floppies With DOS
2.3.3 Using RAWRITE2.EXE
2.3.4 Creating Floppies with Unix/Linux
2.4 Installation From Floppy
2.5 Two Floppies and a CD
2.6 Zero Floppy Installation
2.6.1 What you will need
2.6.2 Getting Started
2.6.3 Installation
2.7 Forcing Hardware Detection
2.7.1 LILO
2.7.2 Loadlin
2.7.3 rdev
2.7.4 Argument Format
2.7.5 Usage
2.8 Bootable CDs
2.9 Installation Via FTP
2.9.1 General
2.9.2 Straight FTP
2.9.3 Installation using dftp
2.9.4 Dselect FTP method
2.9.5 Installation via NFS
2.9.6 Ethernet connected install
2.9.7 PPP connected installation
2.9.8 Boot Managers supporting Multiple Operating Systems

3 dpkg: The Package Management Tool
3.1 Introduction
3.2 Running dpkg
3.3 Options Recognized by dpkg
3.3.1 Installation and Removal Options
3.3.2 Available Packages File Management
3.3.3 Package System Information
3.3.4 Force Options
3.3.5 Miscellaneous Options

4 Dselect
4.1 Introduction
4.2 Using Dselect
4.3 Upgrading with dselect

5 X11 Installation
5.1 Introduction
5.2 Using Dselect

6 Networking with Debian
6.1 Introduction
6.2 Network Installation
6.3 PPP Configuration
6.3.1 Verifying the Connection
6.3.2 Shutting Down the Connection

7 Compiling the Kernel
7.1 Hardware
7.2 Building the Kernel
7.2.1 Non-Debian Kernel Construction
7.2.2 Debian Kernel Construction
7.3 Modules
7.3.1 Advantages
7.3.2 Disadvantage

8 What Next?
8.1 Managing many accounts
8.1.1 Adding a user
8.1.2 Removing a user
8.1.3 Managing passwords
8.2 Managing Root Access
8.2.1 su
8.2.2 sudo
8.3 File Protection by Owner
8.4 File Protection by Group
8.5 Mounting and Unmounting File Systems
8.6 Monitoring System Activity
8.6.1 Process Status
8.6.2 top CPU Processes
8.6.3 fuser: Who has it?
8.6.4 Who is logged on?
8.7 Where is the printer?
8.8 Finding knowledge
8.8.1 Additional info
8.9 Finding packages
8.9.1 Searching the file system

Appendix 1: Common UNIX Commands
Introduction
chgrp
chmod
chown
cp
df
du
ls
mkdir
mv
rm
rmdir

Appendix 2: Text Editors
Introduction
ae
joe
vi
emacs

Appendix 3: The Loop Device
Appendix 4: Multiple OS Installation
Appendix 5: Building Packages Files
Appendix 6: Linux as a Server
Appendix 7: Arguments
Appendix 8: What is Free Software

Index:Index

The author wishes to thank everyone who made a contribution to the
creation of this book.

Primary among them is Linux Press. Without their support and
encouragement the author would not have had the opportunity to walk
this particular path. Without their editorial contributions, this book
would be less than it is.

The continued support from my family during the work on the second
edition has been as wonderful as ever. Even if there were to be no
mention here, their encouragement would not go unnoticed.

Certainly many valuable people will be missing from this list, but most
of them will be included with thanks to all those responsible for the
Debian Distribution. Special thanks go to all those developers who
have spent freely of their own time, for the creation of Debian and its
distribution. Without these fine folks there would be no distribution and
thus no book.


1 Introduction

1.1 History

In late 1993, a college student and computer enthusiast named Ian Murdock was
using SLS, an early distribution of Linux. He liked Linux but found himself
disappointed that SLS had many problems and that, even worse, new releases of it
failed to fix many of them. Convinced that this was mostly due to an overloaded,
overworked maintainer, he decided to adapt the model used in the development of
Linux itself and use it to create a new distribution with a decidedly different
philosophy. He called the new distribution "Debian Linux", and it was to be
developed by a distributed group of volunteers. This group was completely open
and anyone was welcome to get involved.

Ian posted his intentions to the Usenet in August of 1993 and immediately found
outside interest in his idea, including that of the Free Software Foundation, the
creators of much of the core software of all Linux-based systems. Ian credits this
early interest as being pivotal to the acceptance of Debian into the free software
world.
Through the fall and winter of 1993, development of Debian proceeded through
several internal releases, culminating in the public release of Debian 0.91 in
January of 1994. Debian 0.91 gave the world its first glimpse of the Debian
philosophy in action. By this time, a dozen or so people were involved in
development, though Ian was still largely packaging and integrating the releases
himself.

After the first public release of Debian, attention was turned toward developing the
package system called dpkg. A rudimentary dpkg existed in Debian 0.91, but at
that time was mostly used for manipulating packages once they were installed,
rather than as a general packaging utility. By the summer of 1994, early versions of
dpkg were becoming usable, and other people besides Ian began to join in the
packaging and integration process by following guidelines that explained how to
construct packages that were modular and integrated into the system without
causing problems.

By the fall of 1994, an overloaded Ian Murdock, now coordinating the efforts of
dozens of people in addition to his own development work, transferred responsibility
of the package system to Ian Jackson, who proceeded to make many invaluable
enhancements, and shaped it into the current system.

After months of hard work and organization, the Debian Project finally made its first
distributed release in March of 1995, Debian 0.93 Release 5. Debian 0.92 had
never been released, and Release 1 through Release 4 of Debian 0.93 had been
development releases made throughout the fall and winter of 1994.

By this time, the Debian Project, as it had come to be called, had grown to include
over sixty people. In the summer of 1995, Ian Murdock transferred responsibility of
the base system, the core set of Debian packages, to Bruce Perens, giving Ian
time to devote to the management of the growing Project. Work continued
throughout the summer and fall, and a final a. out binary format release, Debian
0.93 Release 6, was made in November of 1995 before attention turned to
converting the system to the ELF binary format.
Ian Murdock left the Debian Project in March of 1996 to devote more time to his
family and to finishing school; Bruce Perens assumed the leadership role, guiding
the Project through the its first ELF release, Debian 1.1, in June 1996.

With the release of 1.1 the project began to snowball and by the time of the release
of Debian 1.2 in December 1996 it had grown to nearly two-hundred volunteers. This
massive growth created management problems for the group.

As a result of the discussions that ensued, several subgroups were formed within
the development group. These smaller teams took on specific issues and by the
release of 1.3 there were teams in place to deal with documentation, publicity,
quality assurance, testing, and most important, the Deity team. Most of these
teams took on the long term tasks that could not be dealt with during one release,
while QA and Testing have specific tasks related to releases. The Deity team has
taken on the task of improving dselect.

On the road to the 2.0 release, Diety got renamed Apt, from discussions aimed at
improving name acceptance. While this product is a long way from what it is finally
expected to be, there are already improvements to dselect from the use of one of
the working Apt Methods. While these tools may not get shipped with 2.0, they are
available on the FTP sites for those who are fearless, and wish to try out the latest
advances.

One of the major developments during the 2.0 release cycle was the replacement of
Bruce Perens as Debian's Leader with Ian Jackson. The completion of the 2.0
release was accomplished under his leadership, together with the construction of a
Debian Constitution, which now awaits ratification by the Debian developers.

From its inception as an idea in the mind of Ian Murdock, this project has grown to
produce a professional, high quality distribution. Given its current size and quality,
Debian can be expected to continue to produce an up-to-date distribution of the
highest quality.


1.2 The Debian Development Team

From its humble beginnings, with a mere hand full of developers, the Debian
Development Team has grown to over 270 active developers and enough additional
help from regular contributors to bring the total list of participants to over 300
people. Most of these people have never met; almost all of the communication
between developers takes place via e-mail and the various mailing lists that the
project supports.

All contributions to the project are completely voluntary, including the many fine
people, businesses, and institutions that contribute hardware to operate those lists
and disk space to store the Archives. What little actual cash is necessary, has in
the past, been paid out of pocket by the person taking care of the issue. There is
now a mechanism for the project to collect donations for such cash necessities.
This volunteer organization, by its very nature, does not lend itself to the
hierarchical structures usually found in development organizations. Control from a
central location is ineffective, at best, and counter productive in many cases. The
reason this process works without those controls stems from the modular package
scheme that was developed so early in the project. This allows an individual
developer to take responsibility for a "known" piece of the distribution.

The combination of mailing lists and bug reporting system provides the only checks
and balances needed to adequately control each individual developer. If developers
have any questions about the proper way to deal with package responsibilities, the
mailing list provides the access to other developers who will gladly assist with
suggestions and comments. If developers generate packages which are poorly
formed, the bug tracking system allows anyone who notices the problem to bring it
to their attention. With the recent rapid growth of the development group, this
system became inadequate for dealing with the problems brought on by that rapid
growth. This need has created multiple small teams within the larger structure,
whose specific task has some narrowly focused agenda. Some of the current
agendas include: Publicity; Documentation; Dselect redesign (Deity); Quality
Assurance; and Testing.

These subgroups operate on the same general principles as the larger group,
usually with their own mailing list and a team leader. These teams have a far better
chance of coming to closure on the issues that they deal with, than the larger
group was ever able to accomplish. Within this loose structure, the driving forces
come from the universal desire of all participants to create an exceptional product
of the highest possible quality. This helps to quell personal agendas and keep
folks focused on the general goals. It is this development model, borrowed from
the Kernel Development Team and modified to suit the needs of this team, that has
allowed Debian to become the powerful distribution that it is today.



1.3 What Makes Debian Different?

As described above, the major difference between the Debian distribution and the
other Linux distributions that are currently available is its open, volunteer,
development model. This is not, however, the only difference between Debian and
others.

The second, most important difference, is Debian's strict adherence to the "Free
Software" ideal. It is quite impressive, when you think about it, that this distribution
is composed of freely redistributable software, complete with source code. Now,
most other distributions also supply source code and these same programs, but
they are also willing to put packages into their distributions that can not be
redistributed under certain conditions, without any concern for the legal problems
that they deliver to their end users. Users of the Debian distribution can be
assured that what they find in that distribution will have no constraints on the free
distribution of that software, leaving them free to build "value added" systems from
this Distribution without fear that they will find themselves in court for misuse of
someone else's intellectual property.

Debian provides areas within the archives for packages that do not meet these rigid
standards, but are desired by the Debian community. Because of its free software
status, the Debian packaging system can be used to package software that does
not meet its own standards for free distribution.
Packages that are not freely distributable are found in the " non-free" section of the
distribution. An additional category, called "contrib" is for those packages that
would otherwise be free, except that they depend on some other package that is
"non-free". In this way, Debian provides a wide variety of software outside the
distribution, in a way that protects its users from the legal ramifications of the
non-free nature of that software.

There are substantial technical issues that separate Debian from the other
distributions available today. Debian is dedicated to a strict interpretation of the
Linux File System Standards, soon to be known as simply the File System
Standards. It is this strict adherence to these technical guidelines that helps make
Debian such a dependably useful system. Foreign packages brought to a Debian
system are typically easier to integrate into the system than with other Linux
distributions.

As important as this standard is, the real technical superiority provided by Debian
is its unique packaging system. This system allows for incremental upgrades of
individual packages without the constant danger of ending up with a broken
system. The modularity of the packaging system keeps each potential disaster
localized within the narrow confines of the offending package. There are still plenty
of ways to break the system, but the packaging system goes a long way toward
protecting the system from such failures. Most of this protection comes from the
dependency checking that is provided by this packaging system. Packages can
declare their dependency on other packages and even declare that dependency to
encompass a particular version of that other package. The installation software
enforces these dependencies in a way that allows the dependencies to be
satisfied, yielding a functional package at the end of the installation. The major
package management tool, dselect, is, by its nature, a complex tool for a complex
job. For detailed instructions see the Dselect section (page 129).

Even with Debian's high quality, the complexity of Linux systems provides many
ways to confuse the unwary user. Although Debian attempts to create an
installation default that will fit the most general needs of the user, there are many
areas where knowledge and skill are required to get the most value from this
operating system. Debian provides for these needs with mailing lists. The debian-
user mailing list is an open subscription list. To subscribe one simply sends an
e-mail message to debian-user-REQUEST@lists.debian.org with the subject and
message body containing the single word subscribe. This will bring you into
contact with other users, potentially having had your problem in the past, who can
help reduce your confusion. The strength of this list is that developers lurk on the
list as well as users, so there is the possibility of getting expert advice from
someone who understands your problem.

In addition, the debian-devel mailing list is also open to public subscription,
although its goals are far more technical in nature, much useful information can be
gleaned from lurking on this list. As with the user list, a simple e-mail to
debian-devel-REQUEST@lists.debian.org with the subscribe statement in the subject and
message body will result in mail from this list being sent to your e-mail address.
The volume of these lists is quite high at times, which tends to scare folks new to
the Internet, but the quality response is also quite high. This is in stark contrast
to other distributions, many of which don't even supply any e-mail address for
questions. Those which do manage user mailing lists tend to be more closed and
less helpful to the average user. Much of the difference comes from Debian's open
development model, which welcomes the synergy created by multiple points of
view. The helpful nature of these lists is way above average for this type of
mechanism and most users find it a happy place to be while learning the ins and
outs of the Debian system.

It is these differences that have made Debian a competitive system with all the
current leaders in the Linux community. The fact that this is being done with
literally "no money" and without corporate sponsorship makes Debian's ability to
compare favorably against these other products a very remarkable achievement.


1.4 How This Book Was Written

Several months before the release of Debian GNU/Linux version 1.3 the author and
the publisher could find no Debian specific books available. They decided that this
would be a valuable commodity for the Linux community and set about producing
this book. From the very start it was determined that the electronic version,
distributed in HTML format, could be distributed freely and used privately in any
fashion. The print publication rights are held by the author, exclusively licensed to
the publisher for wide distribution.

The text of this book was primarily constructed from the author's extensive
experience as a Debian developer. This experience includes maintaining a variety of
packages as well as participating on both the development and users mailing lists.
However, without the many contributors to all the Fine documentation that is
available for Linux systems, however scattered and difficult it may be, the details of
this book would not have been possible.

Special thanks and gratitude go to Ian Murdock for his contribution to the accuracy
of the section on the early history of Debian and for his moral support. Many
thanks also go to all of the other Debian developers who contributed to this author's
understanding of the Debian system.

While all of the above is true, it was the author's work as testing coordinator that
provided an understanding of the minor quirks of the installation and package
management system. This experience provided many of the details that are
contained in the following text.
This book was written primarily to address the 2.0 version of Debian. It is also
expected to grow and change side by side with the distribution. There will be
changes and modifications to the content to keep the book in sync with Debian as
it grows and changes.

To aid in improving the content of this book, Linux Press provides an e-mail
address at books@linuxpress.com. Both complaints and compliments (the
author and Linux Press like those too) can be sent to the aforementioned e-mail
address. In particular, if you indicate areas where the book is incorrect or where it
can be improved, let us know. Reader input is eagerly accepted and will be the
prime motivator of future modifications to this book.

For those interested in purchasing the printed book, e-mail can be sent to
sales@linuxpress.com.

Orders can also be placed at http://www.linuxpress.com.
Linux Press can be contacted by mail or phe at:
Linux Press
P. O. Box 220
Penngrove, CA 94951

Phone: (707) 773-4916
Fax: (707) 765-1431
Web: http://www.linuxpress.com
E-mail: sales@linuxpress.com



2 Installation

2.1 Introduction

There are several ways to begin the installation of Debian. This section will
describe three methods. They range from using several floppies to the hard disk
and CD-ROM as the medium used to boot the installation software.

As with any new purchase, there is a desire to start using the product NOW!
What follows is a Quick Start section to accommodate that urge. However, we
caution that this isn't necessarily the best approach and may result in the loss of
existing data on your computer.


2.2 Quick Start

If the target machine can boot a CD then you will be able to begin the installation
by putting the CD in the drive and re-booting the machine. If you don't have that
luxury, boot the machine in DOS, either from a "DOS rescue" floppy or from the
hard disk. As a last resort you may need to build a boot disk and a drivers disk on
another DOS machine to get the installation started. These methods are covered in
detail later. What follows next is a simplified, step by step, procedure that will
result in the installation of a Standard Debian GNU/Linux system.


2.3 Floppy Installation

If the target machine has no operating system installed and, for one reason or
another, you don't want to install DOS on this machine, the floppy installation
method is the one to use. This will require 8 high quality, 3.5 inch, floppy disks (9 if
your machine has less than 6 megabytes of memory).

The boot floppy, known as the rescue disk, boots up a Linux system and runs the
installation program described later.

The Rescue Disk boots up the Linux kernel and provides a file system
capable of installing the base system. The disk image is cont