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... ]

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.