s6-rc
Software
skarnet.org
The s6-rc-set-fix program
s6-rc-set-fix checks one or more sets of services for
dependency inconsistencies, and fixes them.
Interface
s6-rc-set-fix [ -v verbosity ] [ -r repo ] [ -u | -d ] [ -E | -e ] [ -n ] [ sets... ]
- s6-rc-set-fix checks all the sets listed in sets... for dependency inconsistencies
that may prevent s6-rc-set-commit from succeeding. If
sets... is empty, all the sets in the repository are checked.
- s6-rc-set-fix prints what it finds and changes the rxs
of impacted services so the resulting set is consistent.
Options
- -v verbosity, --verbosity=verbosity
- Be more or less verbose. The default is 1, which means
that error messages and warnings will be written to stderr. 0 means that only
error messages will be written, and 2 or more adds informational messages.
Dependency inconsistencies are warnings, so will be displayed at the default
level (but not at 0); more details can be obtained by increasing the verbosity.
- -r repo, --repository=repo
- Use the repository in repo, which must exist. Default is
/var/lib/s6-rc/repository.
- -u, --fix-up
- When a dependency inconsistency is found, fix it by bringing in more
services into the starting bundle. If B depends on A, B is
active but A is only usable or even masked, fix
the situation by making A active. This means that more services
will be started at boot time than the set initially declared.
- -d, --fix-down
- When a dependency inconsistency is found, fix it by bringing in fewer
services into the starting bundle. If B depends on A, B is
active but A is only usable or even masked, fix
the situation by making B usable (if A is usable)
or masked (if A is masked). This means that fewer services
will be started at boot time than the set initially declared. This is the default.
- -E, --no-force-essential
- If fixing a dependency inconsistency would imply moving a service down from the
always rx, or up to the always rx, when its service definition
directory does not declare it as essential, do not attempt fixing it and fail the operation.
This is the default. If such a situation occurs, it means that the set of services
provided in the stores is not consistent, and that
is what should be fixed.
- -e, --force-essential
- If fixing a dependency inconsistency would imply moving a service down from the
always rx, or up to the always rx, when its service definition
directory does not declare it as essential, do it, even though it goes against a
service definition in a store. This can help you keep a service set consistent
until the store is fixed.
- -n, --dry-run
- Check for inconsistencies, but only print what would be needed to fix the set;
do not perform the fix.
Exit codes
- 0
- Success.
- 1
- A needed modification could not be made because the -e option was not given.
- 100
- Incorrect usage.
- 102
- Inconsistent repository.
- 111
- System call failed.