[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: hmm...


On 23 Jul 2001, Perry E. Metzger wrote:

> So I've been lurking on this list for a couple of weeks, since I found
> out about its existence -- seemed polite to figure out what was going
> on before posting a stupid question -- and I must admit that I remain
> a bit ignorant about what's going on here (project goals, etc.)
> Could anyone brief me? Is there a FAQ or anything?

I've been using Debian Linux and NetBSD for several years. I've been on
this list for about 19 months. As far as I know there is no FAQ, webpage
or official Debian statements. There has been a lot of discussion about
what the goals of Debian-BSD should be. I'll cover those briefly here. (I
think I'll make this a BSD Today article :) )

Basically, the Debian-BSD project is for users already familiar with
Debian.  So in other words, the Debian-BSD should behave the same as
Debian Linux. This means that the filesystem hierarchy should have same
layout; new packages should be installed the same way; services started
(and maintained and stopped) the same way; and configuration files should
be at the same locations and configured the same. (Or as least as close as
it can get.)

Probably the most important of these, is the use of dpkg and apt-get. dpkg
is a package management tool (similar to rpm and
pkg_add/pkg_delete/pkg_info). apt-get is a tool for installing
packages; it can be configured to select the desired package collections
(private, http, ftp, etc.). Here are some important and interesting
features of apt-get:

1) multiple package collections (for example, stable and security);
2) the list (and other info) of available packages can easily be updated
with "apt-get update";
3) "apt-get upgrade" will retrieve and upgrade currently installed
packages that have newer versions available.

These package management tools can be very customizable. For example, you
can upgrade an older version of Debian to a current development version,
by simply making sure you have a recent apt-get installed, update your
apt-get sources list to use the newer packages, and then do an "apt-get
dist-upgrade" to begin the upgrade. It can be configured to use
pre-defined defaults or you can choose for it to prompt you for some
configuration steps as it updates the packages. (It also can show you the
differences between previous configurations [1] and share suggestions.)

An example of the automated install process: When doing an upgrade and a
newer version of an MTA package is available. The newer MTA package is
retrieved and unpacked; the current MTA process is stopped; new
configurations are done (for example, new users or groups added or a
script converts the old configs to a newer format); the package is
installed and the new version of the MTA is started. (By default, with
NetBSD you would have to do these many steps manually. [2])

Another example: if you have the security download site listed as part of
your apt-get sources, you can run "apt-get update" to update (if needed)
the list of available packages. Then a run of "apt-get upgrade" will
upgrade any of your currently installed packages that have updated,
security-fixed versions.

Also, I believe an example goal of the Debian-BSD project is to be able to
point a Debian-BSD box to a regular Debian Linux dpkg source collection
and be able to install (via source and compile).

Quickly to compare with NetBSD: Debian has the base system packaged;  
multiple package collections can be used; and the installation scripts
install, configure and (stop and) start services. By default, Debian is
more automated that NetBSD.

Some BSD users find the "Debian way" useful. And some users have made
wrappers to BSD type pkg_* commands to emulate some apt-get functionality.

People interested in the Debian-BSD project have heard great things about
(or had good experience) with BSD stability, security, kernels and/or
filesystems -- hence the desire for a BSD-based Debian operating system.

For the 19 months, I've been on the list, the ideas for the project have
been argued many times. The discussions have revolved around which
BSD? use BSD libc or GNU libc? use compat_linux? and whether to use BSD
utilities or GNU utilities?

Only a few people are actually doing coding; and they are using different
BSDs. This should be okay for initial development.

Some say that the BSD libc should be used because it is part of stability
of a BSD box. But others say GNU libc should be used because present
Debian source packages will build already. It appears that GNU libc will
be used.

Linux compatibility is being considered by some for initial testing of
Linux-compiled binaries. This has been successful for some. (It is
interesting to note that one user replaced NetBSD's suse_base with a
Debian base.)

In some situations, it is understood that the filesystem and networking
utilities should probably remain the BSD originals. Some believe that some
command-line syntax and output results may need to be changed to make sure
they work with any installation scripts.

A few people have started working on dpkg and apt-get to run under a
BSD. For example, http://www.allusion.net/bard/debian-bsd/ has code last
worked on over a year ago. A few others have more recent work.

At this point, from reading the list, I'd guess that only five or so
people have a semi-working Debian-BSD system.

One misunderstanding that I have read, is that many Debian users believe
that the BSD ports/packages systems are week or don't work very well --
mostly in regards to package dependencies. In my experience, if you have a
stable package source collection, it works great. But if you have a mix of
stable and current packages, I have encountered problems. [3]

I hope this gives you a quick understanding of Debian and the Debian-BSD

(Please share some feedback, and I'll update this letter and publish it as
an article for BSD Today.)

  Jeremy C. Reed
echo '9,J8HD,fDGG8B@?:536FC5=8@I;C5?@H5B0D@5GBIELD54DL>@8L?:5GDEJ8LDG1' |\
sed ss,s50EBsg | tr 0-M 'p.wBt SgiIlxmLhan:o,erDsduv/cyP'

[1] http://invisible.yi.org/~jmcneill/netbsd/merge and my
http://www.reedmedia.net/misc/netbsd/update_etc/ does something similar
for updating configs for NetBSD.

[2] To let non-NetBSD users know: it is against the NetBSD package
policies to allow a package installation script to update or modify system
configurations; for example, simple messages are sometimes displayed to
tell the admin to do these steps. In fact, by default, NetBSD packages are
installed to their own install directory, including rc-type start/stop
scripts (i.e. /usr/pkg/etc/rc.d/exim.sh which by default isn't even
referenced by the default startup scripts).

[3] With Debian, stable and current (or development) is entirely
separated (especially since the entire system is packaged). With NetBSD,
for example, you can easily have very old packages installed, a stable
operating system installed, and the pkgsrc (the instructions on how to
retrieve, compile and install packages) collection could be the current,
in-development version.

(I understand that NetBSD plans on providing the entire base system
available as packages; I also suggest that NetBSD have a stable tree for
the pkgsrc collection that actually has updates. For example, it would be
nice to have a stable collection where only important security fixes or
minor changes are allowed; that way when you update your pkgsrc you don't
have to update to the newest, in-development version.)

Reply to: