The s6 command
s6-frontend
Software
skarnet.org
The s6 repository command
s6 repository groups actions that target the repository of s6-rcsource definition directories for services managed by the repo commands. The repository is hosted in the configured repodir.
This set of commands is not intended for day-to-day use since they involve serious actions on the repository which is supposed to be stable. Rather, they are likely to be a part of automated procedures written by the distribution and triggered by specific events like package installation or updates.
Interface
s6 repository subcommand [ subcommand_options... ] [ args... ]
- s6 repo and s6 r are accepted as aliases for s6 repository.
Subcommands
help
s6 repository help prints a short help message summarizing the options and usage of the s6 repository command. It is not as detailed as this page.
init
Interface
s6 repository init [ -f ] [ -U ] [ -h fdhuser ]
- s6 repository init creates the repository at the configured location.
- It links all the stores defined in the configured store list.
- It syncs the repository with the stores, importing all the services and making its reference database.
- It creates a service set named current, which will be the working set for all s6 set commands.
Options
- -f, --force
- If the repository already exists, overwrite it with a new one. This is a dangerous option and should only be used as a last resort if the repository seems hopelessly broken.
- -U, --update-stores
- Do not recreate the repository from scratch, instead update the list of stores. This commands needs to be run when the storelist variable has changed.
- -h fdhuser, --fdholder-user=fdhuser
- Specify the fdholder user for the reference database. This has no impact whatsoever and this option can safely be ignored.
list
Interface
s6 repository list
- s6 repository list lists all the saved sets in the repository, printing their names on stdout, one per line. It does not list current, the current working set, which always exists.
- No options are defined.
check
Interface
s6 repository check [ -F ] [ -d | -u ] [ -E | -e ]
- s6 repository check checks all the sets in the repository for inconsistencies, printing anything it finds to stdout.
Options
- -F, --fix
- Also attempt to fix the inconsistencies.
- -E, --no-force-essential
- If fixing a set involves changing a service flagged as essential to a prescription that is not always, or a service not flagged as essential to the always prescription, print an error message and exit. This is the default.
- -e, --force-essential
- If fixing a set involves changing a service flagged as essential to a prescription that is not always, or a service not flagged as essential to the always prescription, perform the change and continue. This is normally not necessary with a list of stores providing consistent services.
- -d, --down
- Fix sets by disabling or masking services. If service A depends on service B and B is masked or disabled, change A to be masked or disabled as well. This is the default.
- -u, --up
- Fix sets by enabling or unmasking services. If service A depends on service B and A is unmasked or enabled, change B to be unmasked or enabled as well.
sync
Interface
s6 repository sync [ -h fdhuser ]
- s6 repository sync synchronizes the repository's view of services with the contents of the stores.
- This command must be run every time the stores change, typically when the package manager of the distribution adds or removes a package that defines a service. Ideally it should be added to a hook defined by the package manager.
Options
- -h fdhuser, --fdholder-user=fdhuser
- Specify the fdholder user for the reference database. This has no impact whatsoever and this option can safely be ignored.
