Anders Johansson wrote:
On Monday 07 January 2008 16:54:54 Bill Anderson wrote:
I think you need to get on a Unix box, and check out the actual structure. Linux has never followed this path, and holds to the old Unix structure. I have been working with Unix since 1978, and have been through a number of file structure changes.
The point is that symbolic links are used to for backwards compatibility.
As a side light, a number of the utilities that you mention are now shell built-ins, which take precedence over the equivalent command. For example, pwd is a built-in that has the -L and -P options for ksh and bash. The /usr/bin command does not have these options, and exists for Bourne shell compatibility. You might also note that under Linux it is /usr/bin/sh, /usr/bin/ksh, and /bin/bash.
It's worth noting that the filesystem is ruled by the Filesystem Hierarchy Standard, http://www.pathname.com/fhs/pub/fhs-2.3.pdf
According to it, /bin must be functioning when no partitions other than / are mounted, and thus can't be a symlink
Also, it mandates /bin/sh, even though it might be a symlink to another shell, in most cases that is /bin/bash
There is also /usr/bin/sh but that is secondary
The same is true for ksh, it is also /bin/ksh as well as /usr/bin/ksh, although both are symlinks to /lib/ast/bin/ksh, which is fine since /lib is also mandatory on the / partition
For some unknown reason /bin/csh may be a symlink to /usr/bin/tcsh, so if you're on a distribution that keeps tcsh in /usr you should perhaps not use csh as the root shell, in case you have to do any emergency repairs without filesystems mounted (in SuSE it is in /bin)
Anders
The FHS document applies to Linux, not to Unix. The symbolic link of /bin to /usr/bin only exits in current Unix file system hierarchies. I just checked an AIX 5.3 system and a Solaris 10 system, both have this symbolic link. Bill Anderson WW7BA -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org