The 6.0 initscripts do not allow mounting /usr via nfs
because of many dependencies on programs on the /usr
For example, xargs is used when creating the list of
interfaces to bring up, but xargs is found in /usr/bin
(which is not available since the network interface isn't
even up yet). And the ypbind script uses ypwhich, which is
also in /usr/bin. (And there may be other--these are just
the ones I've found so far.) The only real solution to this
is to eliminate all uses of programs in /usr from the
initscripts, even if it means copying or moving needed
program to /bin or /sbin.
In addition, shutting down or rebooting the system won't
work because many of the system daemons (including syslogd
and klogd) are being run from the /usr partition. This
means that /usr cannot be unmounted, and the system will
wait indefinitely. I've solved this temporarily by making
netfs and network the last things to be killed in rc0.d and
rc6.d, but a more elegant solution would be to make sure
that none of the system daemons are run from /usr, either by
placing the programs in /sbin or by copying them to /tmp
before running them.
The xargs thing in network was a bug; it's fixed in
initscripts-4.18-1, which will be in the next Raw Hide.
AFAIK, the examples of stuff from /usr used before netfs is:
- ypwhich in ypbind, which we'll fix
- apmd & ypserv, which we probably won't. (There's a chicken
and egg problem with ypbind and ypserv anyways)
Are there any others?
Similarly, the only daemons run from /usr that are killed after
netfs are (that I'm aware of):
- apmd & ypserv, which we probably won't change
- syslogd/klogd, which we probably will...
What else have you noticed?
------- Email Received From "Michael P. Plezbert" <plezbert.edu> 05/17/99 11:12 -------
I did find one other problem after I submitted the first message:
rc.sysinit sets the clock before the nfs partitions are mounted, which
means that the /etc/localtime link is broken at the time.
The /etc/localtime problem should be fixed with the latest
initscripts (4.22) and timeconfig (3.0); these make /etc/localtime
be a copy of the timezone data file instead of a symlink
(the name of the file is stored in /etc/sysconfig/clock.)
Hence, you can set the clock as soon as the initscripts start.
OK, I believe this should be fixed as of:
initscripts > 4.23.
apmd >= 3.0beta8-1
ypserv >= 184.108.40.206-2
ypbind >= 3.3-21
all of which should be in the next Raw Hide release.