From: Kenny McCormack on
In article <i0fchf$pqd$1(a)speranza.aioe.org>, pk <pk(a)pk.invalid> wrote:
>Janis Papanagnou wrote:
>
>> Seebs schrieb:
>>> [...]
>>> More generally, the same pattern applies to any other bin directory; if
>>> you have a bin directory that's specific to a working project, or a
>>> personal bin directory, it's put in front of /usr/local, which is in turn
>>> in front of plain /usr/bin and /bin, [...]
>>
>> Curious; are there systems where /usr/bin and /bin are not equivalent
>> (or even identical [by one directory linking the other])?
>
>All the Linux systems I've worked with have very different things in those
>two directories. I though that was normal, but after your message I learned
>that there are indeed systems where the two directories are the same.

I think in Solaris, /bin is a link to /usr/bin (i.e, the stuff is
actually in /usr/bin, but you can access it via /bin if you please).

Been a awhile since I've worked on Solaris, though.

--
(This discussion group is about C, ...)

Wrong. It is only OCCASIONALLY a discussion group
about C; mostly, like most "discussion" groups, it is
off-topic Rorsharch [sic] revelations of the childhood
traumas of the participants...

From: Chris F.A. Johnson on
On 2010-06-30, Janis Papanagnou wrote:
> Seebs schrieb:
>> [...]
>> More generally, the same pattern applies to any other bin directory; if
>> you have a bin directory that's specific to a working project, or a personal
>> bin directory, it's put in front of /usr/local, which is in turn in front
>> of plain /usr/bin and /bin, [...]
>
> Curious; are there systems where /usr/bin and /bin are not equivalent
> (or even identical [by one directory linking the other])?
>
> I don't recall having worked on a Unix system with different contents
> in those two directories.

The only systems where I've seen them equivalent is Sun/Solaris; on
all others they are separate directories with different commands.

--
Chris F.A. Johnson, author <http://shell.cfajohnson.com/>
===================================================================
Shell Scripting Recipes: A Problem-Solution Approach (2005, Apress)
Pro Bash Programming: Scripting the GNU/Linux Shell (2009, Apress)

From: Janis Papanagnou on
Chris F.A. Johnson schrieb:
> On 2010-06-30, Janis Papanagnou wrote:
>> Seebs schrieb:
>>> [...]
>>> More generally, the same pattern applies to any other bin directory; if
>>> you have a bin directory that's specific to a working project, or a personal
>>> bin directory, it's put in front of /usr/local, which is in turn in front
>>> of plain /usr/bin and /bin, [...]
>> Curious; are there systems where /usr/bin and /bin are not equivalent
>> (or even identical [by one directory linking the other])?
>>
>> I don't recall having worked on a Unix system with different contents
>> in those two directories.
>
> The only systems where I've seen them equivalent is Sun/Solaris; on
> all others they are separate directories with different commands.
>

I am specifically interested in AIX 3/4 and HP-UX 9/10 which have
been just two Unix families where I worked some decade(s) ago but
have no access currently. Also those Suse Linux'es (version 7, or
earlier). (I really thought to have seen that in several places,
and I was confident that at least AIX had that too. It's certainly
also possible that I may be misremembering, though.)

And what's the difference between the contents of /usr/bin and /bin
(ignoring /usr/sbin and /sbin for the moment) on those system where
it differs?

Janis
From: Ben Finney on
Janis Papanagnou <janis_papanagnou(a)hotmail.com> writes:

> And what's the difference between the contents of /usr/bin and /bin
> (ignoring /usr/sbin and /sbin for the moment) on those system where it
> differs?

The FHS is informed by convention observed in those systems, and
describes what I've seen:

<URL:http://www.pathname.com/fhs/pub/fhs-2.3.html#BINESSENTIALUSERCOMMANDBINARIES>
<URL:http://www.pathname.com/fhs/pub/fhs-2.3.html#USRBINMOSTUSERCOMMANDS>

The point is to have '/usr' contain the bulk of the static operating
system, and allow it to a be a separate mount, if the sysadmin so
chooses.

But that requires that the system be bootable to the point of mounting
additional filesystems, without using anything from '/usr'; which means
getting some kind of init system working to start up the subsystems
required (maybe even including networking first).

It also means considering the possibility that some faults might give
the result that '/usr' is not mountable, but the root filesystem is; so
there needs to be a minimal toolkit for the root user to work with.

So, if it's an essential program for getting the system working when no
additional filesystems are mounted, it goes in '/bin/'. If it can
possibly wait until the system is capable of mounting other filesystems,
it doesn't belong there.

An example, from my main workstation:

$ find /bin -type f | wc -l
94

$ find /usr/bin -type f | wc -l
3358

--
\ “The process by which banks create money is so simple that the |
`\ mind is repelled.” —John Kenneth Galbraith, _Money: Whence It |
_o__) Came, Where It Went_, 1975 |
Ben Finney
From: Keith Keller on
On 2010-06-30, Janis Papanagnou <janis_papanagnou(a)hotmail.com> wrote:
>
> And what's the difference between the contents of /usr/bin and /bin
> (ignoring /usr/sbin and /sbin for the moment) on those system where
> it differs?

On the linux boxes I've used, /bin contains (unprivileged) commands that
are required for booting; /usr/bin/ commands that are not required for
booting. This is to allow /usr/ to be on a separate filesystem from /.
(It should be noted that "required for booting" is interpreted fairly
generously.)

--keith

--
kkeller-usenet(a)wombat.san-francisco.ca.us
(try just my userid to email me)
AOLSFAQ=http://www.therockgarden.ca/aolsfaq.txt
see X- headers for PGP signature information