Red Hat Bugzilla – Bug 117059
/bin vs /usr/bin explanation
Last modified: 2007-04-18 13:03:39 EDT
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4.1)
Description of problem:
Workbook 2. Filesystem Basics
Chapter 2. Important Directories
Discussion: The /bin and /usr/bin Command Directories
"There are two of these to make it easier for administrators
to organize those commands which must always be present on
the system separately from those that might be made
communally available across a network."
But, as I understand, these directories are separated primarily
because the executables in /bin and /sbin most be present for the init
process to bootstrap the machine. This makes in convienent to put
/usr on a network share, but there are many other reasons to seperate
Version-Release number of selected component (if applicable):
Steps to Reproduce:
The FHS says that /bin is for utilities that are necessary to use the
system when no non-root partitions are mounted eg in single-user mode
and /usr/bin is for everything else that isn't third-party
I read this as being almost what Johnathan is suggesting, but covering
more than just the utilities necessary to boot the system. For
example, vi is not necessary to boot the system, but is in /bin. I
suggest the following revised text:
Most system commands are stored as binary files in a machine-readable
format. Commands appropriate for use by ordinary users are usually
placed in the /bin or /usr/bin binary directories. Core utilities like
ls, cd, cp, mv and the vi text editor, without which the system would
not be usable, go in /bin. Supplementary utilities like compilers,
your web browser and office suite go in /usr/bin, which can be made
available to other systems over the network.
Think of /bin and /usr/bin as unprivileged command directories, since
no special privileges are required to use the commands found in them.
If no one has commented otherwise withing 24 hours I'll go ahead and
update the courseware.
Change committed to CVS.