Perry, 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 ideas. (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,[EMAIL PROTECTED]:[EMAIL PROTECTED];[EMAIL PROTECTED]@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.)