s6-rc
Software
skarnet.org
The s6-rc-repo-init program
s6-rc-repo-init initializes a repository
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.
Interface
s6-rc-repo-init [ -v verbosity ] [ -r repo ] [ -h fdhuser ] [ -f ] [ -U ] [ -B ] stores...
- 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 had been called. That means
that it imports all the services in the stores and builds the
reference database.
- It exits 0.
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, 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 afterwards anyway.
Exit codes
- 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 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.
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.