--prefix question?

David D.W. Downey david.downey at codecastle.com
Wed Sep 27 12:00:19 PDT 2000

Actually the way things work is this..

There are 3 "rings" to any linux system

RING 1 - system files/libs that MUST be there or the system won't run.

RING 1 - this is the / tree

RING 2 - system files expand on system functionality which, if they are
         not there, may or may not keep the system from running.
RING 2 - this is the /usr tree

RING 3 - these are files, libs that are meant for the local system only.
	 i.e for that particular machine and it's users.
RING 3 - this is the /usr/local tree

Core system files (meaning things for making the system boot, run, control
itself) are placed usually lin the / tree (like /sbin/fsck, /bin/ls)

Core daemons and applications that are supposed to be on standard systems
are placed in /usr. Now, what does standard mean? Simply that the files
are in a known and EXPECTED location. For example, the libraries for GCC
are expected to be in /usr/lib. Yes, there is cross functionality of these
libs like /lib/libstdc.so (the C standard library). But without that
library the entire system would not run if it was built dynamically so 
it's usually a symlink in /usr/lib/libstdc.so or visa versa. So to
make this clearer I'll go into more detail.

You can't get the system up and running if you don't have the mount
command. Without it you'll never get off the ground. so it lives in the /
tree. without ls you'd never be able to see a single file on your
system. Since this is also a core application which the system needs to
have in order to run, it also lives in / (specifically /bin/ls)

Now, since you have the system up and running you need to be able to take
care of the system, connect to the outside world, ect ect. All the
applications that accomplish this task live in the /usr tree.

For example, most of the system daemons live in the /usr/sbin/ dir (like
the crond daemon, groupmod (the system group modifier) ect ect)

Well, that takes care of getting the system up and running and talking to
other members of it's little world. But what about that systems
users? Where do their functionality applications go?

Right into RING 3 (/usr/local/). This tree is for like your X11 (which
normally is only run on the specified machine even though you can forward
on the session elsewhere - to include another machine), your KDE, Gnome,
WordPerfect, Star Office, CodeWarrior ect ect.

The FSSD (FileSystem StanDard) defined all of this. It was meant to keep
the various trees from getting UGLY! The FSSD is now called the Linux
Fileystem Standard which is just an updated version of the FSSD. For more
specific information about the standards progression, go to www.google.com
and search for FSSD LINUX or go to www.linuxdoc.org and search through

Does this answer your question?

David D.W. Downey          Red Hat Certified Engineer   |   Internet Security Specialist        $
KiXO Linux                 http://www.KiXOLinux.com | http://sourceforge.net/projects/kixolinux/
Member OSWG, LPI           http://www.owsg.org   |   http://www.lpi.org
       "Any lad can choose the mundane, but tis the explorers that are truly free in choice!"

More information about the lfs-dev mailing list