Description of problem: Why is $local_fs provided by /etc/init.d/netfs. netfs mounts network filesystems ($remote_fs). Version-Release number of selected component (if applicable): initscripts-8.56-1 How reproducible: Always Actual results: All services, which depend on $local_fs get delayed after netfs.
1) it mounts any local file systems that are layered on top of network filesystems 2) as anything that needs things from /usr needs to require $remote_fs anyway, it all is lost in the wash. (See http://refspecs.linux-foundation.org/LSB_3.1.0/LSB-Core-generic/LSB-Core-generic/facilname.html_
Shouldn't rc.sysinit provide $local_fs as it mounts local filesystems? As rc.sysinit is no init script, $local_fs should probably be provided by a placebo init script (S00) or by init itself. As netfs requires networking and network filesystems to embed local filesystems with the _netdev option, I'd suggest that netfs provides $remote_fs only. I think that the line '[ "${NETWORKING}" = "no" ] && exit 0' should be replaced by 'Requires: $network' in the LSB header (or at least added to be LSB conform).
No, you could have /usr network and /usr/local local - netfs is the script that ends up mounting /usr/local. Moreover, any script that is requiring $localfs for /usr needs to end up requiring $remote_fs anyways. So there really isn't anything that can be done in the current framework.
iptables and ip6tables needs the environment, which is prepared and needed by rc.sysinit (which mounts local filesystems). There are also other services, which need to access files in /etc, /bin, /sbin and /var, which do not depend on networking: e.g. cpuspeed, kudzu and readahead_early.
Then... don't have a dep. /etc, /bin, and /sbin are implied, and you can get away without a specific requirement for /var.