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.