diff options
Diffstat (limited to 'man/rc-depend.8')
-rw-r--r-- | man/rc-depend.8 | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/man/rc-depend.8 b/man/rc-depend.8 new file mode 100644 index 00000000..62aa9592 --- /dev/null +++ b/man/rc-depend.8 @@ -0,0 +1,73 @@ +.TH "BASELAYOUT" "8" "March 2007" "baselayout" "baselayout" +.SH NAME +rc-depend \ - resolve init script dependencies +.SH SYNOPSIS +\fBrc-depend\fR \fI-ineed\fR \fI-iuse\fR \fIservice\fR ... +.br +\fBrc-depend\fR \fI--notrace\fR \fI-iprovide\fR \fIservice\fR ... +.br +\fBrc-depend\fR \fI-needsme\fR \fIservice\fR ... +.br +\fBrc-depend\fR \fI--update\fR +.SH DESCRIPTION +Gentoos init system uses service dependencies to depend on other services. +Rather than just starting in a set order, we start and stop in the order +defined by the services themselves. +For example, most services require local disks to be mounted and as such can +depend on the localmount service. Others depend on and net and dns and will +only start when those dependencies have been satisfied. + +One issue of note is that a service can provide another service, which is more +generic. A good example of this is that net.lo and any service linked to it +provide "net", which a few services depend on. You can of course have a few +network interfaces: modern laptops have 3 being loopback, wired and wireless. +What makes this more interesting is that it could be setup so that both wired +and wireless are optional. So we work out provided services like so :- + +1) Always use any services in the runlevel. +.br +2) If no services are defined in the runlevel then use any running services +that satisfy the provide. +.br +3) Append any services in the boot runlevel. + +\fBrc-order\fR is primarily used internally by Gentoo and is not meant as an +end-user or admin tool. This man page is purely to describe its function. +.SH OPTIONS +.TP +\fB--deptree \fIdeptree\fR +Use this \fIdeptree\fR instead of the default one, +\fI/lib/rcscripts/init.d/deptree\fR. +.TP +\fB--notrace\fR +Just show the dependencies for the specified services without working out +anything extra. +.TP +\fB--strict\fR +For provided services, depend on all of them in the runlevel instead of just +ones that are started. +.TP +\fB--update\fR +Force an update of the dependency tree. Normally this is not needed as we +automatically update the dependency tree if any files in /etc/init.d or +/etc/conf.d are newer than the tree. +.TP +\fB-dependency_type\fR +Work with the specified dependency type, such as \fIineed\fR, \fIiafter\fR, +\fIneedsme\fR. +If none are supplied we default to \fIineed\fR and \fIiuse\fR. +.SH NOTES +When needsme depends on a provided service, like net, we don't do any +mapping to an actual service unless it's the last one up. So if net.lo and +net.eth0 are started then neither are returned. If net.eth0 then stops then +every service that needs net then has net.lo in its needsme list so that +we net.lo stops it brings down all services that depend on net. +.SH BUGS +Provided services are calculated at runtime. The current downside of this +approach means that if you do "after net; before net.lo" and net.lo provides +net then you can get into an sticky loop where services hang. +.SH "REPORTING BUGS" +Please report bugs via http://bugs.gentoo.org/ +.SH "SEE ALSO" +.BR rc-update (8), +.BR rc-status (8) |