Re: Debian BSD.. cool idea!
I combined the two messages here.. don't want to overflow the traffic
quota here! ;-) Also I apologize if my email address fluctuates -- either
works but I'm trying to transition away from the utexas.edu address.
Gary Kline wrote:
> I believe there are a dozen or two people sub'd to this list and one or
> two folks doing anything with DebianBSD; and I think it would catch
> fire. I'd put it on my 2nd or 3rd box even at a pre-alpha level.
I'm not sure you mean "catch fire" in a good way or a bad way there =).
I'm assuming good though given the latter... so is there anything to put
in even at a pre-alpha level? I guess the major thing if you wanted to
take the shortcut method is that you'd need a port of dpkg that installed
things appropriately for the linux compatability layer. That's kinda messy
The nice thing is that if a good method is decided, Debian has a good
stability record that ought to carry over to most of Debian/BSD. Some
things would need more testing but it shouldn't be as big of a proposition
as, say, Debian/Win32.. which is actually real, scary enough =)
Dan Papasian wrote:
> What exactly about the FS layout and packaging system do you not like?
> 5-CURRENT will be born in a couple months, and we need input for what
> is wrong ;) Sure we currently don't have CONFLICTS support, but there
> are only two or three ports/packages that out and out conflict with another..
I guess I just really like the Linux FHS concept. I didn't mean that there
was anything inherently deficient with the FreeBSD way of doing it, I just
like the Debian way better. Here's a better description of what I mean...
As far as I can tell, in Debian, everything that goes into /usr is
something installed by the system. Of course this includes most of the
useful parts of the operating system since Debian includes not one, not
ten, but at least twenty kitchen sinks at any given time; and system
components are just another one of those pieces that goes in with the
rest. So everything that is managed by the system goes into /usr.
/usr/local is reserved almost exclusively for things installed from
source. In FreeBSD, it seems like the only things that go into just /usr
are things that come from the FreeBSD source snapshots -- the kernel, and
all the system binaries. This is kind of a weird concept if you think of
it in terms of the standard Linux way, which is probably one reason I'm
being confused =). But I like having the seperation -- things in /usr are
managed by the system, things in /usr/local are managed only by me.
One example of this is the way that 'extra' packages are handled. In
Debian, e.g., MySQL is just a component of a vast system that I can
download and install via dselect, apt, or ftp/dpkg. It goes into /usr and
/var. And it gets an init script in the runlevel directories. I treat it
just like I would the netbase package that runs things like inetd. I just
do a "/etc/init.d/mysql start" and away it goes. The level of consistency
there is nice.
It seems like the package system in Debian is also much more comprehensive
in the way it deals with dependencies and file conflicts. For example, I
installed ja-tcsh tonight along with all of the message catalogs for the
anime characters without realizing that all these packages overwrite
eachother. I'm not sure if there's a way around this since I'm fairly new
to FreeBSD (it probably shows) but it would be nice if it at least said
that they conflict. I think you mentioned this above though, and I
understand that there are only so many hours in a day to implement this
Anyway, those are just some random ramblings about what I like about
Debian over FreeBSD (as an OS+kitchen sinks, not including kernels or any
tacky license arguments =). This may very well show my naievity in this
area but that's ok.
> man 7 hier will explain the FS layout.
> Between pkg_add -r and the ports system, I'm not sure what you find lacking
> about it.
I'm assuming you're involved with the development of FreeBSD (from the
paragraph up above), and so I'd like to say thank you thank you thank you
for that man page! ^_^ I don't think there's anything like that in Linux
and it helped me a lot when I was getting started. I actually found it in
the motd when I logged in the first time, and that too was nice.
Ok, so after my above ramblings, here's what I'd like to see out of a
- A more robust kernel than Linux. Much as we love it, Linux has a lot of
shortcomings both in source design and stability of things outside the box
for it. I don't know how well FreeBSD deals with these things, but I keep
running into roadblocks in Linux. For example, I found that there is a
limit to the number of file systems you can mount. When you have fourty
virtual domains and they all need an NFS mount, it's not too good on the
Linux kernel. I'm guessing from the fact that users can apparently mount
their own union fs's that this is dealt with much better in BSD. Another
set of limitations has to do with the default task limits and file limits.
I had to find the hard way that there are a max of 512 processes on a
Linux box by default, and a max of something like 1024 files. That's
absurd on a decent sized server. The files-max can be changed at runtime,
the processes max cannot. And even then the limit was 4090 (until 2.3
anyway). Adding features to Linux is also something that leaves something
to be desired unless you're a seasoned kernel hacker. Just at a cursory
glance at the FS's in the FreeBSD kernel, they look much cleaner.
- Features I need from the FreeBSD kernel -- unionfs, nullfs, and
portalfs. I'd really love to see a full-featured userfs appear in either
kernel at this point, but I'm not good enough to hack one in yet. My
experience with QNX/Neutrino has definitely spoiled me here =)
- The Debian package archive and FS structure. The earlier is easily dealt
with in a manner very similar to the FreeBSD ports system, but with the
latter I'm sure I'm asking for a holy war =). Then again, Debian/BSD is
supposed to be Debian ("not just a kernel") so that's probably what would
happen. But either way, given how Debian packages are fairly nicely setup
for source compilation, it ought to be easy to make a dpkg method that
grabs the source archive from the Debian tree, runs the make-package
command on it, and then provides that to dpkg. I haven't seen the
internals of dpkg though, so I may once again be putting my foot in my
mouth soon =)
- A nice Debian package for the BSD base system. I guess this would end up
including a kernel and the equivalent of the "bin" distribution, at least
at first. Maybe it could be broken up for finer tuned upgrading later, but
I know that's generally against recommendations =)
The people at work are kind of excited about the concept though, so I
might even be able to spend some time hacking on this from work. Probably
not much right now but it's possible.
The average nutritional value of promises is roughly zero.