old-www/LDP/LG/issue31/ayers1.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 &copy; 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 ============================================================-->