273 lines
15 KiB
HTML
273 lines
15 KiB
HTML
<!--startcut ==========================================================-->
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
|
<HTML>
|
|
<HEAD>
|
|
<title>Debian 2.0 LG #31</title>
|
|
</HEAD>
|
|
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#A000A0"
|
|
ALINK="#FF0000">
|
|
<!--endcut ============================================================-->
|
|
|
|
<H4>
|
|
"Linux Gazette...<I>making Linux just a little more fun!</I>"
|
|
</H4>
|
|
|
|
<P> <HR> <P>
|
|
<!--===================================================================-->
|
|
|
|
<center><img alt="Debian GNU-Linux image" src="./gx/ayers/debian_title.gif"></center>
|
|
<center><h2><font color="steelblue3">A New Stable Release of Debian</font></h2></center>
|
|
<hr>
|
|
|
|
<center>
|
|
<h4>by <a href="mailto: layers@marktwain.net">Larry Ayers</a></h4>
|
|
</center>
|
|
<hr>
|
|
|
|
<center><h3>Introduction</h3></center>
|
|
|
|
<p>In 1993 Ian Murdock created the Debian Linux distribution, initially under
|
|
the auspices of the Free Software Foundation's GNU project. Although the
|
|
direct connection with FSF/GNU is a thing of the past, Debian is still the
|
|
only major distribution which is not connected with a commercial entity and
|
|
which is maintained solely by a loosely-knit band of volunteers. The
|
|
parallels with Linux itself make this distribution appealing to Linux users
|
|
who value the ideals of the free-software world, including those who may
|
|
disagree with the purist views of the FSF.
|
|
|
|
<p>Debian hasn't exactly swept the Linux world by storm. The installation
|
|
procedure in the past has relied on the creation of several floppy disk
|
|
images, and due to the idiosyncrasies of the floppy medium at least one disk
|
|
in the set would be bad (in my experience), forcing the irritated user to
|
|
recreate the faulty disk and start over from the beginning. Debian 2.0
|
|
thankfully doesn't require starting over if (say) disk 5 is bad; it just
|
|
starts the installation again from where it left off. Luckily machines with
|
|
BIOS support for booting from a CDROM are becoming common and cheap, and
|
|
Debian CDs are set up so they can be booted directly. Once the base system
|
|
was installed the <i>dselect</i> package installer, a functional but unintuitive and
|
|
visually unappealing application, would further discourage new users.
|
|
|
|
<p>Once these hurdles were overcome, the user would find that the Debian
|
|
system was very well thought out. As an example, the configuration of
|
|
sendmail has been a stumbling block for many new Linux users. In my Slackware
|
|
days I had a painfully developed sendmail configuration which sort of worked,
|
|
but even getting it to that point involved a lot of FAQ-reading and searching
|
|
of usenet messages. The first time I installed the Debian sendmail package, I
|
|
was asked a few pertinent questions about my system and its relationship to my
|
|
mail-server. The result was a sendmail configuration which works flawlessly,
|
|
due to the invocation of some obscure options which I'd never heard of. The
|
|
printer configuration, as a final step of installing the magicfilter package,
|
|
also has worked very well for me. These installations may not have the fancy
|
|
graphical interfaces found in some other distributions, but they work well and
|
|
don't require a working X Windows set-up along with various X toolkit
|
|
libraries.
|
|
|
|
<p>The core of Debian's strength is in the exceptionally versatile
|
|
<i>*.deb</i> package format. This format, comparable in many ways to
|
|
Redhat's RPM, does everything possible to prevent a new package from
|
|
conflicting with others or rendering a system unstable. The dependencies
|
|
(i.e, what other packages are required for a new one to function) are enforced
|
|
in a flexible manner and can be over-ridden by the user. Pre-install and
|
|
post-install scripts are automatically run when a package is installed. These
|
|
scripts will update default configuration files, delete obsolete files from
|
|
earlier package versions, and prompt the user if choices need to be made.
|
|
|
|
<p>The <i>dpkg</i> command-line program can be used to install, update, or
|
|
remove packages. <i>Dselect</i>, a full-screen front-end for <i>dpkg</i>, can
|
|
automatically fetch and install entire dependency hierarchies; in other words
|
|
if you select a package with <i>dselect</i> it can determine what other
|
|
packages are needed and install them as well. I have to confess that I rarely
|
|
use <i>dselect</i> if I can help it. I usually obtain packages as I need them
|
|
and install them by hand with <i>dpkg</i>. The problem with <i>dselect</i> is
|
|
that it is usually used in an installation from scratch; by the time a system
|
|
needs a major upgrade most users have forgotten the keystrokes. It's not a
|
|
tool which is used often enough to justify really learning how to use
|
|
efficiently, and toggling back and forth between the main screen and the help
|
|
pages is cumbersome. My seventeen-year-old son first installed Linux because
|
|
of the Gimp graphics program. I installed Debian 1.3 for him, but he's a
|
|
hardware junky and is continually changing hard disks and video-cards. The
|
|
second time he had to reinstall Linux I tried to get him to run <i>dselect</i>
|
|
himself but he hated it. By this time he had convinced some friends to try
|
|
Linux, and after several lengthy sessions on the phone attempting to walk
|
|
these kids through package installation with <i>dselect</i>, I gave up and
|
|
ordered a Redhat 5.0 CD, which they are all running now. Debian has a ways to
|
|
go before a non-technical novice can easily install it without assistance.
|
|
|
|
<center><h3>Debian 2.0</h3></center>
|
|
|
|
<p>Debian 2.0 has been delayed for several months, due to the existence of
|
|
unresolved bugs in several packages. This is probably inevitable given the
|
|
volunteer nature of the work, as well as the difficulties involved in the
|
|
transition to the glibc libraries upon which all programs depend. Redhat 5.0 was
|
|
the first glibc-based distribution, released last year. The release had
|
|
several major problems, many but not all of which have been fixed with the
|
|
release of version 5.1 this year. I surmise that the Debian developers
|
|
resolved to forgo haste in order to avoid similar problems with Debian 2.0.
|
|
|
|
<p>The Debian community was somewhat demoralized earlier this year when Bruce
|
|
Perens, Debian's leader and spokesman, resigned. It seems that Perens thought
|
|
Debian wasn't moving quickly enough towards user-friendliness. There is some
|
|
truth to this opinion, as Debian seems to appeal to many seasoned Linux users
|
|
who aren't put off by the lack of graphical administration tools. This
|
|
illustrates on a smaller scale a problem Linux itself has: to gain a larger
|
|
user-base easier configuration and installation is helpful, but the very
|
|
people qualified to develop the necessary tools tend not to need or even want
|
|
them. Linuxconf and COAS, two projects which attempt to address this need,
|
|
may eventually fill this void.
|
|
|
|
<center><h3>Libc5 and Libc6</h3></center>
|
|
|
|
<p>This release is noteworthy for its skillful and painless handling of the
|
|
lib5/libc6 issue. Both versions of the essential libraries and support files
|
|
can be installed and used simultaneously in a manner which is transparent to
|
|
the user. This is important because most commercial, binary-only Linux
|
|
applications are compiled to use libc5. This also allows incremental
|
|
upgrading of an existing Debian 1.3 system; the minimal base files to upgrade
|
|
from 1.3 to 2.0 can be downloaded in a couple of hours while further packages
|
|
can be obtained and installed as time permits (or when the CD comes in the
|
|
mail!). The old libc5 packages will continue to function normally until they
|
|
are upgraded.
|
|
|
|
<p>Libc5 itself isn't sufficient to run any but the most basic applications.
|
|
Other shared libraries are needed; under Debian they are installed in
|
|
<kbd>/usr/lib/libc5-compat </kbd>. <b>Ldd</b>, the shared library loader, is
|
|
smart enough to use these libraries for libc5 executables. You will probably
|
|
need the libc5 XFree86 libraries as well as libXpm in order to run the older
|
|
binaries. It's easy to determine which libraries are needed by a libc5
|
|
executable. Just look at the output of <b>ldd</b> (i.e., run <kbd>ldd
|
|
netscape</kbd>, substituting the name of the program for "netscape"). If both
|
|
libc.so.5 and libc.so.6 are shown don't even try starting the program, as it
|
|
will die immediately. If only libc.so.5 is shown, and the remainder of the
|
|
shared libs are located in <kbd>/usr/lib/libc5-compat</kbd> then the program
|
|
should run. Here is the output of <b>ldd</b> when run on libc5 version of
|
|
Netscape:<br><pre><code>
|
|
|
|
libXt.so.6 => /usr/lib/libc5-compat/libXt.so.6 (0x4000c000)
|
|
libSM.so.6 => /usr/lib/libc5-compat/libSM.so.6 (0x4004e000)
|
|
libICE.so.6 => /usr/lib/libc5-compat/libICE.so.6 (0x40057000)
|
|
libXmu.so.6 => /usr/lib/libc5-compat/libXmu.so.6 (0x4006c000)
|
|
libXpm.so.4 => /usr/lib/libc5-compat/libXpm.so.4 (0x4007e000)
|
|
libXext.so.6 => /usr/lib/libc5-compat/libXext.so.6 (0x4008c000)
|
|
libX11.so.6 => /usr/lib/libc5-compat/libX11.so.6 (0x40097000)
|
|
libdl.so.1 => /lib/libdl.so.1 (0x40135000)
|
|
libc.so.5 => /lib/libc.so.5 (0x40138000)
|
|
</code></pre>
|
|
|
|
<p>And here is the <b>ldd</b> output when run on a libc6 version of Netscape:
|
|
<br><pre><code>
|
|
|
|
libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0x40010000)
|
|
libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x40052000)
|
|
libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x4005b000)
|
|
libXmu.so.6 => /usr/X11R6/lib/libXmu.so.6 (0x40070000)
|
|
libXpm.so.4 => /usr/X11R6/lib/libXpm.so.4 (0x40084000)
|
|
libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x40092000)
|
|
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x4009d000)
|
|
libdl.so.2 => /lib/libdl.so.2 (0x4013b000)
|
|
libc.so.6 => /lib/libc.so.6 (0x4013e000)
|
|
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
|
|
libg++.so.2.7.2 => /usr/lib/libg++.so.2.7.2 (0x401e3000)
|
|
libstdc++.so.2.7.2 => /usr/lib/libstdc++.so.2.7.2 (0x4021b000)
|
|
libm.so.6 => /lib/libm.so.6 (0x40258000)
|
|
</code></pre>
|
|
|
|
<p>Of course if you install from scratch (and don't have any old programs you
|
|
need to run) everything will be libc6-based and the above won't be necessary.
|
|
|
|
<center><h3>Installation</h3></center>
|
|
|
|
<p>Debian 2.0 CDs should be available by the time this issue of LG is on the
|
|
net, and for everyone but the fortunate few with fast and unlimited net
|
|
connections a CD is the easiest installation method. Since my installation
|
|
was an upgrade (done over the course of a couple of weeks) from a Debian 1.3
|
|
set-up, I didn't get to see if the installation process had improved until the
|
|
other day, when I happened to notice that my wife's laptop had several hundred
|
|
megabytes of free disk space. Unfortunately the machine (a 486 Thinkpad)
|
|
lacks a CDROM drive and its modem is slow. After splitting off half of the
|
|
single disk partition with Partition Magic I had two hundred megabytes to work
|
|
with. Back at my machine, I proceeded to download seven disk image files from
|
|
a mirror of <kbd>ftp.debian.org</kbd>, a total of nine and one-half megabytes.
|
|
This may seem like a lot, but those seven disks provide a minimal but
|
|
functional Linux system complete with internet access.
|
|
|
|
<p>Once the tedious job of transferring the disk images to floppy was
|
|
completed, I booted the Thinkpad from the first disk and began the
|
|
installation. Like Redhat's, Debian's installation interface is full-screen
|
|
and menu-driven, though it's not as fancy. One major difference is that while
|
|
Redhat's installation segues right into package installation and X
|
|
configuration, Debian is more of a two-stage process. After the base
|
|
installation is complete, the user reboots the machine; once the new Debian
|
|
system has booted up (either from a custom boot-disk created during
|
|
installation or directly from the hard disk) the user is prompted to set the
|
|
root password and create a user account. The dselect package
|
|
installer/manager then starts up, but selecting and installing packages can be
|
|
postponed, which is what I decided to do.
|
|
|
|
<p>Debian's two-stage installation method makes sense to me. Why mess with
|
|
packages before ascertaining that the installation is truly bootable
|
|
and error-free? Another reason for waiting to run dselect involves network
|
|
connections. Although both Redhat and Debian have PPP configuration tools,
|
|
neither has ever worked flawlessly for me. I always have to do some fine-tuning
|
|
of the <kbd>/etc/ppp</kbd> files, though Debian's <i>pppconfig</i> utility
|
|
came the closest to getting my configuration right. My ISP is a particularly
|
|
difficult one to connect to using Linux; I'm certain that for many other
|
|
providers these net configuration tools work without the necessity of
|
|
file-tweaking afterwards.
|
|
|
|
<p>Once a PPP connection can be established, dselect can be used to retrieve
|
|
via FTP any of the distribution's numerous packages. Dselect can also install
|
|
packages from an NFS-mounted filesystem, a local disk, or a mounted CDROM.
|
|
|
|
<p>Eventually there will be some sort of graphical interface to dselect and
|
|
dpkg, but this task has proven to be a difficult one. As a first step, an
|
|
application called <i>apt</i> is under development; in its current state it
|
|
enable a user to install packages from a combination of remote and local
|
|
sources in one operation. If a package from the remote server is more recent
|
|
than the local one the remote package will be installed instead. In effect <i>apt</i>
|
|
allows installation primarily from a CDROM, with any superseded packages
|
|
downloaded from a remote server.
|
|
|
|
<p>The Debian developers are very careful to keep the main distribution
|
|
packages completely free in the GNU sense of the word. The least bit of
|
|
restrictive licensing, even if source is available, causes the package to be
|
|
placed in a separate directory, <kbd>/nonfree</kbd>. These packages are still
|
|
freely available, but licensing restrictions prevent some from being included
|
|
on CDROMs.
|
|
<hr>
|
|
|
|
<center><h3>Conclusion</h3></center>
|
|
|
|
<p>I predict that even with the installation improvements in Debian 2.0, it
|
|
will continue to be a technical user's distribution. This may change when the
|
|
proposed replacement for <i>dselect</i> is finished. The Debian community
|
|
nonetheless continues to grow, with over four hundred developers maintaining
|
|
packages. The selection of available packages is immense, with at least as
|
|
many pieces of software available in <i>*.deb</i> format as there are in
|
|
<i>*.rpm</i> format. I would recommend Debian for users who have cut their
|
|
teeth on another distribution, but for beginners I still will recommend
|
|
Redhat. Just remember, if you can get past the unintuitiveness of
|
|
<i>dselect</i> package installation, the rest is a breeze!
|
|
<HR>
|
|
<!-- hhmts start -->
|
|
Last modified: Mon 27 Jul 1998
|
|
<!-- hhmts end -->
|
|
<!--===================================================================-->
|
|
<P> <hr> <P>
|
|
<center><H5>Copyright © 1998, Larry Ayers <BR>
|
|
Published in Issue 31 of <i>Linux Gazette</i>, August 1998</H5></center>
|
|
|
|
<!--===================================================================-->
|
|
<P> <hr> <P>
|
|
<A HREF="./index.html"><IMG ALIGN=BOTTOM SRC="../gx/indexnew.gif"
|
|
ALT="[ TABLE OF CONTENTS ]"></A>
|
|
<A HREF="../index.html"><IMG ALIGN=BOTTOM SRC="../gx/homenew.gif"
|
|
ALT="[ FRONT PAGE ]"></A>
|
|
<A HREF="./rogers2.html"><IMG SRC="../gx/back2.gif"
|
|
ALT=" Back "></A>
|
|
<A HREF="./ayers2.html"><IMG SRC="../gx/fwd.gif" ALT=" Next "></A>
|
|
<P> <hr> <P>
|
|
<!--startcut ==========================================================-->
|
|
</BODY>
|
|
</HTML>
|
|
<!--endcut ============================================================-->
|