update-service - add/remove a service to/from system-wide service
supervision
update-service --add|--remove service-directory
[service-name]
update-service defaults| defaults-disabled
service-directory [service-name]
update-service --list|--check
[service-name]
update-service --auto|--noauto service-directory
service-directory must be a directory to be used by
runsv(8), service-name must not start with a dot, and must not
contain a slash.
update-service adds or removes the service-directory
to the system-wide service supervision provided through runit 's
runsvdir(8), lists all registered system-wide services, or checks for
a specific service-name whether it is registered.
When adding a service, and the service-directory resides in
/etc/, update-service makes sure that the ./supervise/ subdirectories
in the service-directory, and the optional
service-directory/log/, are symbolic links pointing into
/var/lib/supervise/, unless they already are symbolic links.
- --add | -a |
enable
- Add the service directory service-directory to the system-wide
service supervision, under the name service-name. If
service-name is not specified, update-service will use the
basename of service-directory. You can use the sv(8) program
to control the newly added service, or query its status, e.g.:
# sv status service-name
- --remove | -r |
disable
- Remove the service directory service-directory, which has been
added under the name service-name, from the system-wide service
supervision. If service-name is not specified,
update-service will use the basename of service-directory.
When removing the service-directory, the exit command is
sent to the corresponding runsv(8) process, telling it to take the
service down and exit afterwards. You can use the sv(8) program to
control the removed service, or query its status, e.g.:
# sv status service-directory
When the service directory service-directory is
removed, the service service-name will be marked as disabled by
creating a .service-name symlink. This will prevent tools like
dh_runit(1) and runit-helper from auto-enabling
service-name at install or upgrade of the package that ships
service-directory. The .service-name symlink will be
removed as the service-directory is added again to the
system-wide service supervision or when the package that ships
service-directory is purged.
- defaults |
defaults-disabled
- Respectively the same as enable | disable, but the command checks and make
sure to not override any local settings. These commands are policy
compliant and are supposed to be run only in dpkg maintaner scripts. The
local admin should use enable | disable instead.
- --list | -l
- If service-name is specified, update-service checks whether
service-name is registered as system-wide service, prints a message
and exits non-zero if not, or prints the service-name and the
directory it points to and exits zero if yes. If service-name is
not specified, it prints the names of all system-widely registered
services, one per line.
- --check | -c
- The same as --list, but update-service doesn't print anything to
standard out or standard error.
- --auto | -u
- Remove the down file, if any, from the directory service-directory.
This way, the service represented by the service-directory will be
started and monitored as soon as a runsv process is started for that
directory; the requested status of the service will be 'up'. This is the
default. If service-name is given, will be ignored as --auto
directly act on the service-directory and thus only takes
service-directory as argument.
- --noauto |
-n
- Touch a down file into the service-directory. This way the service
represented by service-directory will not be automatically started
when a runsv process is started for that directory. The requested status
of the service will be 'down'. A service set to --noauto does not
start automatically at boot or when a runsvchdir(8) takes place,
but can still be started using the sv(8) program, e.g.:
# sv up service-name
If service-name is given, will be ignored as
--noauto directly act on the service-directory and thus
only takes service-directory as argument.
- SVDIR
- The environment variable $SVDIR overrides the default services directory
/etc/service/.
Gerrit Pape <pape@smarden.org>