Debian
Debian
is one of the "distributions" of the Linux kernel and GNU system software.
You could say I'm a "Debian chauvanist", as I use it exclusively on a wide
variety of machines (Intel workstations, Alpha number-crunchers, StrongARM
Netwinder on my desk, PowerMac at home, 1992 Sparc10 grad student loaner)
because it's the greatest distribution there is. Here are some reasons
why:
- Intelligent package management. From the source package
format and maintainer network, to autobuilders and the "push" mirror system,
to the dpkg local package management suite and debconf (which
is "wizards done right"), to the dselect and multiple apt
auto-download front-ends, the Debian package framework is easily best practices
anywhere in the industry in every aspect, bar none.
- Easily the best quality: it's not called "stable" until it really
is! The 2.2 "Potato" distribution underwent seven months of testing
before being released as stable in early August, 2000, 3.0 "Woody" had a
similar pre-release testing period. Those who want
the latest and greatest can use the 3.1 "Sarge" testing release, or the even
more bleeding-edge "Sid" unstable release.
- Decent default security policy: extremely few services are turned
on in a default install.
- Open bug tracking system
.
- All configuration files are stored in /etc, and the bug reporting
tool automatically adds diffs between original and edited config files.
- /etc/alternatives lets you easily choose among alternative pagers,
editors, E themes, etc. system-wide, just by editing the symlinks.
- Centralized documentation repository: /usr/share/doc has it all, dhelp
links all installed HTML documentation from
file:/usr/share/doc/HTML/index.html.
- Dynamically updated menu of installed X and text apps following the
package hierarchy, which appears in GNOME, E and WM (and others I'm sure)
menuing systems.
- Minimal install in just 20 MB (depending on platform).
- Emacs plugins which install into all emacs flavors with applications
(e.g. installing gettext installs .po mode to emacs19, emacs20, MULE and
xemacs, whichever are installed).
- /usr/include/linux and /usr/include/asm done THE WAY LINUS WANTS THEM
(RedHat and derivatives have done it wrong for years).
- Best cross-platform support (2.2 shipped for Intel, Alpha, Sparc(64),
m68k, PowerPC and ARM; woody will add IA-64, HPPA, MIPS(el) and S/390;
Hitachi SuperH under development).
- Network of several hundred package maintainers, giving Debian 3.0 nearly
9000 packages on Intel, at least 8000 on the other platforms! This
makes Debian 3.0 considerably larger than all other distributions in terms
of shipping software.
- Releases not controlled by any single corporation, open alpha and beta
releases via the unstable and testing andfrozen distributions
respectively.
- Clearly divided into free and non-free software, with a third section
for free software which depends on non-free software, based on the
Debian Free
Software Guidelines.
- Multiple kernels (Linux and Hurd; FreeBSD, OpenBSD and Win32 under
consideration).
In summary, Debian is just the leanest, tightest, baddest GNU/Linux
distribution out there! There are one or two disadvantages:
- Glacial stable release cycle (once a year -- or two -- is really too
slow). Package pools, when they are implemented, should help
considerably.
- Not as many third-party .deb packages as .rpms, though the "alien"
utility converts them, and there are so many more packages shipped with
a Debian release that this is largely irrelevant.
- No automatic disk partitioning during install, you have to choose
partition sizes.
- No snazzy graphical installers, though you can use one by buying a CD of
the Debian-based Progeny
distribution.
- No autodetection during install, and no detection tools like lspci or
pnpdump in the install floppies, you just have to know which modules you'll
need for your hardware.
- Two-stage installation process requiring more interaction
throughout.
- Generally more difficult installation procedure. So get a machine
with Debian pre-installed if you can, or install it with close support from
someone who knows what they're doing!
- ARM has only fbdev X driver, which is unfortunate given problems in some
framebuffers (e.g. Netwinder Cyber2000, ATI Mach64 VT in Motorola
StarMax).
- Various other bugs on PPC.
My little contributions
My Debian packages:
- Package for
PETSc, the Portable
Extensible Toolkit for Scientific Computation, begun 8/2000.
- Package for Ken Brakke's
Surface
Evolver, begun 9/2000.
- Packages for properly installing the
(proprietary) Compaq
Linux Alpha Power Tools, begun 4/2001.
- My Illuminator Distributed
Visualization Library, begun 4/2001.
- Package for
Intel
gigabit ethernet kernel drivers, begun 7/2002, removed 12/2002.
- Package for
Babel SIDL
compiler and runtime, begun 10/2002.
- Package for
ParMETIS, begun
3/2003.
- Package for
MPICH, adopted from
Junichi Uekawa 4/2003.
- Package for
hypre, begun 9/2003.
Finished projects:
- Debian Beowulf HOWTO, highlighting the
Debian-specific tools and quirks to setting up a Beowulf cluster.
- Various patches, submitted via Debian bug reports. See my
current and
archived bugs.
- Add Goto's Alpha assembler BLAS to the Debian blas package.
[Removed because Goto's code is now in the Debian
ATLAS package.]
- GNOME Bible Browser, which is a front-end for
the bible-kjv package, which I've only seen in Debian. Feel free to
try to adapt it for other platforms.
UPDATE: this has been sent to the bible-kjv maintainer for possible
inclusion in the woody release of that package.
- Got X 4.1.0 working on Debian/ARM. [Done 9/27/2001]
Todo list, in roughly decreasing order of priority:
- Adopt the diskless package, and fix its bugs.
- Driver for the Infowave PowerPrint
Mac serial to parallel converter cable. Infowave was kind enough to
send me specs for programming their ASIC,
which you're free to redistribute, but don't distribute a modified version
without an OK from Infowave.
- Get my MacPicasso 540 video card working from clgenfb in the
kernel. Current status: neither VGA compatibility nor MMIO style
access works. Something is not being initialized.
UPDATE: Sent email to VillageTronic 8/23/2000, which makes the MacPicasso,
and directly to one of its employees 9/13. Wrote again to
VillageTronic 11/13. No reply as of 1/2/2000. UPDATE2 2/2001:
clgenfb seems to do something now, and it's just a matter of ironing out
bugs.
UPDATE2: The PCI bus in my old Powermac died... so much for that PCI video
card. Oh well.
- Help Eric add Kodak
DC40/50 support to gphoto, so my camera
works.
- Get a new gcc snapshot and BenH's latest sources and see if SCSI
generic works on a 2.2 or 2.4 PPC kernel with it. This should make
PPC Linux actually support scanners (including my UMAX Astra) on machines
with the MESH SCSI controller.
As you can see, many of these involve the PPC and ARM platforms, on which Linux
is not nearly as mature as on Intel or Alpha; others relate to my group's
research.
Miscellaneous
Adam Powell