aboutsummaryrefslogtreecommitdiffstats
s6-frontend: the s6 repository command

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.