On Fri, Nov 08, 2002 at 02:44:19PM -0500, David Boyes wrote:

> > What distribution are you using which places these utilities in /usr?
>
> Sorry, finger check. I date back far enough that everything was in or near
> /usr... thanks. Meant to say "from their default location".

I do not date back very far in UN*X years, so I do not speak from first-hand
experience, but I have the distinct impression that /bin predates /usr/bin.
SunOS/Solaris, though, has lacked a separate /bin for a long time, but I
believe even it originally had one.

> > Also, they should not need to be statically linked, as they should only
> > be linked with libraries in /lib.
>
> This I would argue about. Why should I need /lib and dynamic library
> support at a point where the system is still initializing? What if I want
> to mount /lib from another disk? If I have the absolutely critical
> utilities available in a statically linked version, I need only a root
> file system containing the critical static binaries and a kernel and
> minimal configuration info.

You don't need shared libraries to run your system at all.  However, they
are beneficial for many reasons, and most of those reasons hold for things
which live on the root filesystem.

If you want to mount /lib from another disk, you must (at least) be sure
that you don't require _any_ loadable kernel modules to get to that point,
and that every executable along the way is statically linked.  If you are
willing to pay the price in maintainability, it is of course possible.

If you have the absolutely critical utilities available in a dynamically
linked version, you need only a root filesystem containing the critical
static binaries and a kernel and minimal configuration info and the shared
libraries (usually only libc).

Personally, my preference is to run with dynamically linked executables, and
to use a statically linked copy of busybox or sash for recovery purposes.
One can boot such a system using only the kernel and a single user
executable if necessary.

--
 - mdz

Reply via email to