S6-RC-REPO-INIT(8)

NAME
s6-rc-repo-init - initialize an s6-rc repository

SYNOPSIS
s6-rc-repo-init [-v verbosity] [-r repo] [-h fdhuser] [-f] [-U] [-B] stores...

DESCRIPTION
s6-rc-repo-init initializes a s6-rc-repo(7) on a system, linking it to a list of stores and ensuring that the set of all services defined in all the stores is consistent.

s6-rc-repo-init creates an s6-rc repository at location repo.

It makes stores... ( which must be a list of several locations in the filesystem) the current list of stores for this repository.

It synchronizes with the list of stores, as if s6-rc-repo-sync(8) had been called. That means that it imports all the services in the stores and builds the reference database.

It exits 0.

  Notes

•   s6-rc-repo-init is the first command to invoke when creating a repository, or when a change occurs within the stores.

•   There is generally only one repository per system, but non-root users who would want to run their own tree of s6-rc services can do so by specifying an alternative repo.

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. The option is also passed to commands that s6-rc-repo-init may call, such as s6-rc-compile(8), so their verbosity will be similarly adjusted.

-r repo, --repository=repo
    Create the repository in repo. Default is /var/lib/s6-rc/repository. Unless the -U option is given, repo must not previously exist in the filesystem.

-h fdhuser, --fdholder-user=fdhuser
    You can safely ignore this option and forget about it. What it does is ensure that if a supervision tree is started as root on a compiled database produced by this command ( this will never happen to the reference database, so it is only ever useful together with the -U option when there are sets to update), the fd-holder daemon in that supervision tree runs as fdhuser rather than root. Told you: you can safely forget about that option.

-f, --force
    Make a new repository at repo even if one already exists. This is dangerous, use of this option is not recommended.

-U, --update-stores
    Rather than create a new repository, change the list of stores in an existing one. This is useful, for instance, when a distribution's policies change and local stores are added, moved, or removed. It is not an operation that should be done frequently, however.

-B, --bare
    Do not synchronize the repository with the stores. This is useful if you are going to call s6-rc-repo-sync(8) afterwards anyway.

EXIT STATUS

0   Success.

1   Failure. The services in the listed stores do not make a consistent reference database. With a nonzero verbosity, the error messages from s6-rc-compile(8) will be displayed and detail exactly what went wrong.

100 Incorrect usage.

111 System call failed. This usually signals an issue with the underlying operating system.

SEE ALSO
s6-rc-repo(7), s6-rc-compile(8), s6-rc-repo-sync(8)

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

AUTHORS
Laurent Bercot Carlos Eduardo <carana2099@gmail.com> (man page port)