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