On Tue, 2005-27-12 at 19:46 -0800, Peter Gordon wrote:
On Tue, 2005-12-27 at 17:27 -0700, Guy Fraser wrote:
> Stuffing a lot of files into a directory is a bad practice,
> and Red Hat is well known for it. Check /usr/bin, /etc and
> a few others. Many of the files would [normally] be located
> under /usr/local.
Pardon my probable misunderstanding, but isn't this the whole idea
of the standard filesystem layout for Unix/Unix-like operating systems?
I.e., if it's not installed through the system package manager, it has
its tree of /lib, /sbin, /bin, /man, /share, etc under /usr/local;
whereas if it *is* installed through the system packaging, it has its
own /lib, /sbin, /bin, /share, /man, etc layout tree under / or /usr,
depending on various factors like partitioning or network-mounting /usr,
etc.
That is how Red Hat and it's offshoots work.
It can be a contentious issue, exactly where to put
non base system files. Sun Microsystems used to prefer
/opt but almost everyone else uses /usr/local for most
add on software. But it is well understood that :
/bin, /sbin and /lib are for
single user base system commands and their required libraries.
/usr/bin, /usr/sbin and /usr/lib are for
multiuser base system commands and their required libraries.
/etc is for base system configuration.
The real theological battle is what is considered part of
the base system. Most Unix variants and Linux distributions
consider only essential software to be part of the base.
In order to be as Newbie friendly as possible, Red Hat
decided to include all the software they package as part
of the base system, that way new comers could find stuff
more easily. From the start Red Hat was the leader in
making Linux user friendly, and has had many other
distributions use their system as a base for their
distribution. In the Linux world, since many distributions
are based on early versions of Red Hat it has become common
practise to put all "packaged" software in system areas, but
common practise is not a standard, and really there is no
standard, only suggested good practises. Coming from a Unix
Administration background I prefer to use /usr/local but am
not about to repackage every RPM just to suite my preferences.
I however do design all my software to be relocatable with
the preferred location of /usr/local, as do most others.