S6_REPOSITORY(8)

NAME
s6 repository - group actions that target the repository of s6-rc source definition directories for services managed by the repo commands

SYNOPSIS
s6 repository subcommand [subcommand_options...] [args...]

DESCRIPTION
s6 repository groups actions that target the repository of s6-rc[1] source definition directories for services managed by the repo commands (cf. s6-rc-repo(7)). The repository is hosted in the configured (cf. s6-frontend.conf(5)) 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.

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(8) 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.

SEE ALSO
s6-frontend.conf(5), s6-frontend-overview(7), s6-rc-repo(7), s6_set(8)

[1] https://skarnet.org/software/s6-rc/

This man page is ported from the authoritative documentation at: https://skarnet.org/software/s6-frontend/s6_repository.html

AUTHORS
Laurent Bercot Lennart Jablonka <humm@ljabl.com> (man page port)