freebsd_vs_linux_(partition_stragies)

This is part of The Pile, a partial archive of some open source mailing lists and newsgroups.



Freebsd vs Linux

Subject: Re: /usr vs. /usr/local (was: PHP3 Support for MySQL)
From: Gene Wilburn <gwilburn@rom.on.ca>
Date: Thu, 11 Mar 1999 18:23:42 -0500 (EST)

On Thu, 11 Mar 1999, Kevin Myer wrote:

> On Thu, 11 Mar 1999, Thomas Ribbrock (Design/DEG) wrote:
> 
> > On Thu, Mar 11, 1999 at 07:28:00AM -0500, Gene Wilburn wrote:
> > [...]
> > > /usr/local -- where they belong...
> >                 ^^^^^^^^^^^^^^^^^
> > That is almost a philosophical question - and definitely good for YARW (Yet
> > Another Religious War)... ;-)
> 
> Seems to be the time of the year for those types of wars on this list :)
> 
> > Nonetheless, I'd be interested why you think that stuff belongs in
> 
> My view is that anything that is alien to my system, i.e it doesn't come
> from the RedHat install CD, goes someplace other than /usr.  /usr, IMHO is
> for distribution binaries that Red Hat is putting out.  You run into
> trouble when any old person decides to build an RPM and builds it wrong
> and then you found that they used some "non-standard" install locations
> and screwed up something that works from Red Hat.
> 
> I like that the default install for tarballs a lot of times is /usr/local
> and by golly, it even makes sense - stuff I compile from tarballs is local
> to my machine.  Granted, it might duplicate the functionality of something
> that RedHat installed via rpm in /usr BUT from a support viewpoint, which
> is easier to support:  a /usr installation which only contains Red Hat
> rpm's or a /usr install that has Red Hat rpms, plus some tarballs, plus
> somebody else's RPM's?  
> 
> I believe the loose standards that exist support the notion of /usr for
> distribution stuff, /usr/local for third party or locally installed stuff.


Nice post by Kevin. Sums up my feelings as well. I dual boot between RH
Linux and FreeBSD. FreeBSD makes more extensive use of /usr/local and I
find its file layout more consistent, hence more logical. Of course it has
the benefit of a unified Ports collection. With Linux, particularly when I
install contributed RPM's, programs can end up in various, at times
unexpected, places.

I'm on the fence with RPM's. At times I love them, but if things don't
work right, they can actually be far more trouble than just grabbing a
tarball and installing from scratch. But if you do that, then you're out
of sync with the various RPM's, which makes future maintenance and
upgrades problematic.

My philosophical question is this: if the authors of the programs put the
programs in /usr/local by default, why do people who create RPM's change
the location to something else?

I've installed various distros of Linux (Slackware, Debian, Caldera) and
I'm not seeing as much consistency as I would expect.

Has a standard Linux file system been worked out? If so, does Red Hat
follow it?

=====

Subject: RE: insufficient disk space
From: "Soffen, Matthew" <msoffen@iso-ne.com>
Date: Mon, 22 Mar 1999 11:55:12 -0500

I much prefer the FreeBSD method. When you are setting up your system
(initially) it will create the appropriate partition sizes automatically
for you.

wd0s2a 0032MB UFS	/
wd0s2b 0204MB SWAP          
wd0s2e 0030MB UFS	/var
wd0s2f  2788MB UFS	/usr           

From here you could further split down the partitions (I have a
/var/qmail partition and a /home partition).  I also tend to have a
large /usr/local/ partition.  You could also have a separate /tmp (in
fact I advise it heavily).  I also advise having a small (8 or so MB)
dos partition to handle any funky device setup programs. 

Some of the standard things I have seen (with other unix variants)
	1) /home1, /home2, etc.	if you need more /home space.
	2) /usr2, /usr3, etc.	if you need more /usr space.

I also like how FreeBSD has a method for adding "Tmp/Swap" files.

One MAJOR drawback of having your files in a single partition is that if
your partition goes bad you lose EVERYTHING.


===

Subject: RE: I hate to say this....
From: "Soffen, Matthew" <msoffen@iso-ne.com>
Date: Thu, 13 May 1999 12:21:03 -0400


> ----- Original Message -----
> From: Jan Carlson <janc@iname.com>
> To: <redhat-list@redhat.com>
> Sent: Saturday, March 20, 1999 2:32 AM
> Subject: Re: insufficient disk space
> 
> 
> > Gary Neff wrote:
> > > I have redhat 5.2 installed on a cirrux 120 w (2) hd
> > > and a total of 2.3 gigs and keep getting out of disk
> > > space in my tmp directory when I run df I get
> > > this
> > > 
> > > /dev/hda1       99507   99506   0       100%    /
> > > /dev/hdb1       690571  142115  512955 22%      /home
> > > /dev/hda5       852663  3555314         453301 45%      /usr
> > > /dev/hda6       565887  224271  312386 42%      /var
> > > 
> > > I get messages when trying to make a boot disk that
> > > tmp is full. Can I delete the files in tmp without
> > > screwing everything else up? I am confused, I am also
> > > running kde and everything is working I just cannot
> > > decompress files now. Any help would be appreciated
> >
> > You can delete everything from /tmp.  A program or two
> > might crash, but a reboot should fix it.  /tmp means
> > temporary.
> >
> > TIP: next time you install, don't make so many partitions.
> > The ideal for a workstation is, in my opinion:
> >
> > 1. /        600mb or more to avoid filling up!
> > 2. swap     64mb
> > 3. /home    300mb or less - to save a few things during a reinstall
> >
> > You might even just forget the /home and go with / plus swap.
> >
> > Separate /usr and /var are good for a server or advanced workstation
> > but are just trouble for a new Linux user.

> From: 	Jose M. Sanchez[SMTP:opjose@ex-pressnet.com]
> Sent: 	Saturday, March 20, 1999 4:19 AM
> To: 	redhat-list@redhat.com
> Cc: 	janc@iname.com
> Subject: 	Re: insufficient disk space

> Boy do I second this!
> 
> It's far easier to add another hard disk later (as I've
> done) to an existing file system if you start out with the
> boot partition and the root being one large one on the
> primary boot drive.
> 
> The manuals are too quick to suggest multiple
> partitions. One advantage is that (initially) a single
> root partition is more space efficient.
> 
> As you add drives this can remain the case...


Some of the differences (as far as I know from my use of FreeBSD and
Linux):

1) FreeBSD allows you to make changes to the code and sell it (as long
as you keep their info in the headers).  Linux does not.  If you make
changes to the kernel you are "supposed to" send the changes to the
kernel group.

2) FreeBSD is "real unix" (It's kernel contains actual AT&T UNIX code)
and is BSD (Berkeley) based.  Linux is a posix like kernel that is  SYS5
like (it has NO code from any of the "real" UNIX's).

3) FreeBSD does not have the NATIVE device support that linux has
(however it does run Linux binaries).  Linux has a large native device
support base.

4) FreeBSD does not have the same FS support (No SambaFS).  Linux can
handle some of the other FS's better (SambaFS, NTFS).

5) FreeBSD uses multiple partitions (/, /usr, /var, /tmp, etc) , Linux
tends to want a single partition (or 2 - / and /home).

6) FreeBSD has a single point for starting all local files
(/etc/rc.local) on reboot.  It doesn't have "run levels".  Linux has
different configs for each run level.

7) FreeBSD doesn't have RPM's (it has ports for installing software).
Linux uses packages (RPMs) for installing software.

8) FreeBSD has a single distribution.  Anyone can make/sell a Linux
distribution.


Now for "subjective" parts

1) FreeBSD is harder to install than Linux.  FreeBSD uses 2 floppies for
booting.  You also have a config screen to "turn off" devices you don't
have.  You don't have as simple a screen as the "select rpm'" screen of
RH Linux.

2) Building a Kernel in FreeBSD is lots easier than in Linux.  In
FreeBSD you modify a config file, config it, build dependencies, build
the kernel and install it.

Thats all I can think of right now

===

> Eh?  Eh!!!  Care to justify that?  Linux uses as many partitions as
> you
> make.

True.  But with FreeBSD, by default when you set up a partition it
automatically assigns sizes for /, /usr/, /var/, and /tmp).  What I
should have said is something like "FreeBSD by default, sets up separate
partitions for /, /usr, /var/ and /tmp if you use their default
settings.  Linux does not have any sort of default partitioning" .
Would that have been better.

> b)  There is nothing to stop you compiling and installing RPM on
> FreeBSD.

Yes there is.  The fact that I would have to convert port distributions
to FreeBSD.  I know that RPM != Red Hat (however the name STILL sends
the connotation of Red Hat.  They should have named it something like
RPM (Portable Package Manager) instead of Red Hat Package Manager.

====

Subject: I hate to say this too (RedHat vs FreeBSD)
From: brian@worldcontrol.com
Date: Fri, 14 May 1999 01:25:52 -0700


On Thu, May 13, 1999 at 02:43:24PM +0000, Greg W wrote:
> Its a bit off topic anyway....what I would like to know is how FreeBSD 
> differs from RHL , filesystem etc, anyone familiar ...

On or about March 1st 1999 I wrote:

I have been using FreeBSD extensively for the last 3 years.

Recently I switched to Linux. 

While informing people who expected to find me perusing the FreeBSD lists
that I was moving elsewhere, some expressed a desire that I post to
-chat my reasons for moving and what I've found in the Linux world that
motivated me to move.

In the years I've been using FreeBSD I've never subscribed to -chat and
am not subscribed to it now. So if you want to respond please cc me
directly.

Here is how it happened:

There was a bit of a debacle when FreeBSD abandoned support for the
non-PnP gus max.  It was still supported under Linux so I switched
the machines needing such support to Linux mostly as an exercise.

I was rather surprised by how much worked. And rather nicely.

I started poking around in the documentation and support and it was
rather more extensive then under FreeBSD for the more advanced
developer.  I didn't look into the newbie support.

The more I looked the further along linux was.  I installed linux
(RedHat 5.2) on my laptop and everything worked.  Including things that
still do not work under FreeBSD. (mostly PCMCIA related stuff)

I looked into the alpha platform and they are well beyond porting stage.
People are using them in production environments. The linux/alpha people
spend their time getting companies to port applications.  Applixware has
already released an linux/alpha version.

Both Creative Labs and Sigma Designs have made statements that they will
be providing linux drivers for their DVD products.

Looking at the Beowolf and Mosix clusters I was very impressed.  

Basically, the list of areas in which Linux-related development is well
ahead of FreeBSD is enormous and the gap is large.

I have as yet not posted a single question to any linux mailing list as
I have always been able to find the answers to my questions or pointers
to them in /usr/src/linux/Documentation.

I also like the linux development model better than the FreeBSD.

Linux tends to keep the interfaces to things similar so other people
can develop stuff and not suffer FreeBSD-current problems of keeping
things up to date all the time.

I've probably spent more time keeping my drivers working with -current
than I've spent on the drivers themselves.

Linux is a monarchy with a democratic society built under it.  FreeBSD
is an aristocracy.  Aristocracies are not a very efficient form of
management.

Under linux you can be replaced in a moment if your solution isn't the best.
Under FreeBSD you can labor along for years slowing development because
you are a member of the power structure.

There are identifiable areas in which the FreeBSD kernel is faster than
the Linux kernel.  This may well be due to the ever changing interface
model I derided earlier.  There are identifiable places in which the
Linux kernel is faster than FreeBSD.  Overall I'd say the FreeBSD kernel
is faster.

For me, I'd rather have the additional functionality over the increase
in kernel performance.

While developing under FreeBSD I often found I needed this or that
additional support and was often faced with writing it myself,
porting it myself, and waiting for it to be done.

Under Linux, whatever it is, its already done by someone.  This has
allowed me to concentrate much more of my efforts on my projects.

All of my linux comments are relative to the 2.2.x kernel, which was
released moments before I started looking at Linux.

===

Subject: Re: I hate to say this....
From: Steve Borho <sborho@ststech.com>
Date: Thu, 13 May 1999 13:59:57 -0500


On Thu, May 13, 1999 at 12:21:03PM -0400, Soffen, Matthew wrote:
> Some of the differences (as far as I know from my use of FreeBSD and
> Linux):
> 
> 1) FreeBSD allows you to make changes to the code and sell it (as long
> as you keep their info in the headers).  Linux does not.  If you make
> changes to the kernel you are "supposed to" send the changes to the
> kernel group.

FreeBSD kernel has the BSD license, Linux is under GPL.  You can sell
either, you just can't keep modifications to GPL'd code proprietary.

Other than the kernel, both FreeBSD and Linux OS's use a lot of the
same software.  Both kernels have extremely bright developers working
on them. 

It's a true demonstration of the differences between the cathedral
(FreeBSD) and the bazaar (Linux).  FreeBSD advocates claim more
stability and fewer compatibility problems and Linux advocates point
to the plethora of device drivers and supported filesystems (and
users).

> 2) FreeBSD is "real unix" (It's kernel contains actual AT&T UNIX code)
> and is BSD (Berkeley) based.  Linux is a posix like kernel that is  SYS5
> like (it has NO code from any of the "real" UNIX's).

The Linux kernel is a mix of SYS5 and BSD design.  They like to say
that they picked the best features of each.

> 3) FreeBSD does not have the NATIVE device support that linux has
> (however it does run Linux binaries).  Linux has a large native device
> support base.

Yet FreeBSD has a working USB driver and Linux doesn't... so it's not
necessarily a subset of Linux's drivers.  There is also a lot of
driver sharing that goes on... FreeBSD drivers are ported to Linux and
vice versa.

> 4) FreeBSD does not have the same FS support (No SambaFS).  Linux can
> handle some of the other FS's better (SambaFS, NTFS).
> 
> 5) FreeBSD uses multiple partitions (/, /usr, /var, /tmp, etc) , Linux
> tends to want a single partition (or 2 - / and /home).

This is an administration issue and doesn't have much to do with
kernel or OS design.  Both systems try to adhere to FHS.
http://www.pathname.com/fhs

> 6) FreeBSD has a single point for starting all local files
> (/etc/rc.local) on reboot.  It doesn't have "run levels".  Linux has
> different configs for each run level.

Slackware also uses the BSD style init scripts.  I think it supports
run-levels, just not as well as the SYS5 model (which Red Hat uses).
This is also just an administration decision... by default, all the
*BSD's use the BSD style init scripts (*duh*) and Red Hat uses the
SYS5 model, but they are easily interchangeable.

> 7) FreeBSD doesn't have RPM's (it has ports for installing software).
> Linux uses packages (RPMs) for installing software.

Same as 5 and 6.  RPM is (in theory anyway) operating system agnostic.

> 8) FreeBSD has a single distribution.  Anyone can make/sell a Linux
> distribution.

With it's associated good and bad points.

> Now for "subjective" parts
> 
> 1) FreeBSD is harder to install than Linux.  FreeBSD uses 2 floppies for
> booting.  You also have a config screen to "turn off" devices you don't
> have.  You don't have as simple a screen as the "select rpm'" screen of
> RH Linux.

Probably because there's no competition between FreeBSD
"distributions", and also because FreeBSD is not trying to pretend to
be an end-user operating system.

> 2) Building a Kernel in FreeBSD is lots easier than in Linux.  In
> FreeBSD you modify a config file, config it, build dependencies, build
> the kernel and install it.

Never tried it, so I can't comment.

===


the rest of The Pile (a partial mailing list archive)

doom@kzsu.stanford.edu