Debian 1.1

The Debian packaging system makes it possible to do add, remove and upgrade automatically.

With Linux 2.0 out, commercial
vendors are offering new products based on the 2.0 kernel. We want
to keep everyone up to date, so we will be reviewing the various
distributions. An updated chart (based on the one that appeared in
Issue 29 ofLJ) and new descriptive text will be made
available on the Linux Journal web page at
http://www.ssc.com/lj/distable.html.

by Phil Hughes and Jonathan Gross

The first distribution made available with the 2.0 kernel was
Debian, and thus it is the first
we will review. We would like to thank iConnect for making the CD
available to us. iConnect's web page is located at
http://www.i-connect.net/i-connect/services/cdrom.html.

Some Background...

From the Debian FAQ:

Debian GNU/Linux is the result of a volunteer effort to
create a free, high-quality Unix-compatible operating system,
complete with a suite of applications. The idea of a free Unix-like
system originates from the GNU project, and many of the
applications that make Debian GNU/Linux so useful were developed by
the GNU project. Debian was created by Ian Murdock in 1993,
initially under the sponsorship of the Free Software Foundation's
GNU project. Today, Debian's developers think of it as a direct
descendent of the GNU project.

Installing Debian

Enter. Enter. Enter. Enter. Enter. Enter. You could pretty
much train a chicken to install Debian: “Peck the enter key.
Wait....okay, peck enter again...wait...okay, now peck enter...” I
had time to think about this as I was installing Debian for the
first time on an old 386 with no math co-processor. By the time I
had installed it on my P60, I had an entire training session for my
chickens, with plans to take over entire networks. (“Now it's
upgrade time! Select FTP from the Access menu and peck enter....now
peck enter again...”)

Debian installation begins with a set of floppies. I needed
six: a base system spans three of them, a root, a boot and a sixth
to make a backup boot disk.

The base system is installed, and from there, you go through
the package selection process.

I've installed a fair number of Linux distributions, built a
couple from scratch (no chicken pun intended) and bollixed up more
than one installation—Slackware, Red Hat, SLS (shudder) and
others. I've noticed that one of the things I do that causes
problems is deciding to not install package foobar. It's big, I
don't like the package name, the version number is 13, so I don't
install it. Then I run Idependonfoobar, and it complains,
“...can't find library libfoobar.” Phooey. So I waste a lot of
time only to discover that the packages I left out contain files
that other programs depend on.

Debian solves this problem for me, or at least warns me that
I am making a mistake. Debian's package dependencies are very, very
cool, and will be discussed at length.

Installation was self-explanatory until I came to the package
selection screens, where I stumbled a bit, forging ahead without
any documentation. I found I had to rethink my
chicken training regime. The selection process reminds me of
reading mail with trn: there are a couple of different screens that
do different things, and a slew of keyboard controls for doing
them. Is this part of the cost of having dependencies? I don't
know, but I think that part could have been clearer. Once you
figure out how things work, it is
very helpful, but it is certainly not intuitive, like the rest of
the installation.

For example: I decided not to install Tex. It's big, and I
would rather have used that disk space for my large collection of
gifs. So I left Tex unselected. Later, I chose apsfilter, a print
filter that needs dvips to work its magic. Debian's package
selection tool, dselect, told me
that apsfilter depends, among other things, on dvips. That's cool.
But even cooler is the fact that all these dependencies are
presented in a list form that allows me to select packages from the
list during the install, solving the dependency problems as they
arise and without losing my place in the installation. Very
cool.

Another example: I initially chose the Debian default mail
transfer agent, smail, but then decided I really wanted sendmail in
all its glory. I went back into dselect, and selected
sendmail.

dselect complained that smail conflicted with sendmail, but I
ignored it and tried to install it anyway. deselect wouldn't do it
because of the conflicts with smail. You may consider it a blessing
or a curse when software makes decisions like this for you. I admit
it was slightly irritating that deselect wouldn't let me hang
myself. Nevertheless, this sort of thing prevents damage to
innocent hardware when people cannot get their new systems to work
because of software conflicts and heave the machines out
windows.

When I went back and heeded the warning messages, deselected
(dselected?) smail, and tried again, smail was removed, and
sendmail was installed and configured. During installation, you are
prompted to configure sendmail to send mail to a hub, or run as a
host. This option is nice for people who have simple mail
needs.

Another of the best features of this distribution is the
upgrade method—truly the most impressive feature of Debian. After
you have the system basics installed and running, you can fire up
dselect and do upgrades to your system. If you are connected to the
Internet, you can do this via FTP. dselect allows you to select
where you are getting your new packages—so you point it at
ftp.debian.org. The upgrade acts just like the installation, the
system updates the packages database, and gets all the newest
packages from the FTP site, and continues with the install.

No more guessing which parts of the distribution you need to
upgrade to run the new version of foobar—you just point dselect at
the Debian FTP site and let the system worry about it—this is what
computers are for—keeping track of all the “this package depends
on this stuff, and you'll need to get the new version of
blah-blah-blah.” Debian does all that for
you—very impressive.

However, there are problems with the system. Apparently the
installation procedure doesn't install LILO correctly. Unless you
run LILO by hand before rebooting, it won't re-boot from the hard
drive at all, even if you told the installation scripts that was
what you wanted. Also, the modules do not load into the kernel. All
these problems need to be dealt with before Debian is ready for the
Big Time.

I also tried to get and install the kernel sources for 2.0.6
(the latest package as of this writing). The kernel building
procedure is a little different for Debian than for other
distributions, and I still don't have it working properly. The
kernel builds, then some scripts run to make sure that if you
upgrade your kernel packages, you don't overwrite your custom
kernel configuration. These scripts don't seem to work
correctly—the kernel building procedure aborted and I had to
finish it manually, which is not a big deal if you know
what you are doing. But these bugs are not trivial and
should be fixed (and may be, by the time this article is
printed).

Trending Topics

Upcoming Webinar

Getting Started with DevOps - Including New Data on IT Performance from Puppet Labs 2015 State of DevOps Report

August 27, 2015
12:00 PM CDT

DevOps represents a profound change from the way most IT departments have traditionally worked: from siloed teams and high-anxiety releases to everyone collaborating on uneventful and more frequent releases of higher-quality code. It doesn't matter how large or small an organization is, or even whether it's historically slow moving or risk averse — there are ways to adopt DevOps sanely, and get measurable results in just weeks.