Differences between revisions 28 and 44 (spanning 16 versions)
Revision 28 as of 2011-07-03 19:41:15
Size: 3651
Comment: clarify servicename
Revision 44 as of 2017-08-19 06:19:24
Size: 3883
Editor: ?AndreasKlust
Comment:
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: English-~ ~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: English - [[fr/Daemon|Français]] - [[it/Daemon|Italiano]]-~
Line 4: Line 4:
A [[WikiPedia:Daemon_(computing)|daemon]], or system service, is a background process usually started during the initial boot sequence by [[init]]. Daemons typically run independent of users, waiting for system events to occur and providing services in response. Some common daemons include: A [[WikiPedia:Daemon_(computing)|daemon]], or system service, is a background process usually started during the initial boot sequence by [[Init]]. Daemons typically run independent of users, waiting for system events to occur and providing services in response. Some common daemons include:
Line 11: Line 11:

ToDo: needs to be rewritten for systemd.
Line 12: Line 15:
Debian makes use of [[WikiPedia:Init#SysV-style|System V]]-style init scripts for daemon management. This allows daemons to operate conditionally, based on the current RunLevel of the computer. For example, a daemon can be configured to run only when the computer is in single-user mode (runlevel 1) or, more commonly, when in multi-user mode (runlevels 2-5). For more information, see [[init]] and [[RunLevel]]. Debian makes use of [[WikiPedia:Init#SysV-style|System V]]-style init scripts for daemon management. This allows daemons to operate conditionally, based on the current RunLevel of the computer. For example, a daemon can be configured to run only when the computer is in single-user mode (runlevel 1) or, more commonly, when in multi-user mode (runlevels 2-5). For more information, see [[Init]] and [[RunLevel]].
Line 14: Line 17:
== Managing Daemons == The [[http://www.debian.org/doc/debian-policy/|Debian Policy Manual]] (sections [[http://www.debian.org/doc/debian-policy/ch-opersys.html#s-sysvinit|9.3]] and [[http://www.debian.org/doc/debian-policy/ch-opersys.html#s9.4|9.4]]) is an excellent resource for better understanding daemon init scripts in Debian.

== Daemon management ==
Line 16: Line 21:
Daemon init scripts are stored in {{{/etc/init.d/}}} Daemon init scripts are stored in {{{/etc/init.d/}}} along with the system's other boot-time init scripts.
Line 20: Line 25:
To view a list of currently available services: Daemon init scripts are treated as configuration files by [[dpkg]]. This means they remain on the system after a package is uninstalled, unless the '{{{purge}}}' option is used.

=== Common daemon controls ===
Most daemon scripts accept a common set of options, which can be passed directly to the script at the command line, for example:
Line 22: Line 30:
$ ls /etc/init.d
}}}

=== Common service tasks ===
Most system services accept a common set of options, which can be passed directly to the daemon script at the command line, for example:
{{{
# /etc/init.d/ssh restart
# service ssh restart
Line 41: Line 43:
''Note: Many daemons provide essential services to a working Debian installation; others can pose unnecessary security risks when enabled carelessly. Caution should be used whenever managing daemons. When in doubt, refer to the documentation of the daemon itself.'' ''Note: When in doubt, refer to the documentation of the daemon itself.''
Line 43: Line 45:
Several tools exist to manage system services, including DebianPkg:rcconf and DebianPkg:sys-v-conf. The default tool however is '''update-rc.d''' and that is what the following examples use.
Line 45: Line 46:
==== Enabling services ====
To (re)enable a service (using the default settings) run the following command, where ''<servicename>'' corresponds to the name of the init script as listed in {{{/etc/init.d/}}}:
To (re)enable/disable a daemon (using the default settings & runlevels) run the following command, where ''<daemon>'' corresponds to the name of the init script as listed in {{{/etc/init.d/}}}:
Line 48: Line 48:
# update-rc.d <servicename> defaults
}}}

==== Disabling services ====
To disable a service, run the following command, where ''<servicename>'' corresponds to the name of the init script as listed in {{{/etc/init.d/}}}:
{{{
# update-rc.d -f <servicename> remove
# update-rc.d <daemon> enable|disable
Line 59: Line 53:
For more information on Debian's way of managing and writing init scripts see [[LSBInitScripts/DependencyBasedBoot]] and [[LSBInitScripts]].

=== GUI utilities for daemon management ===
Several GUI tools exist to make daemon management even simpler; some popular examples available for Debian include: DebianPkg:rcconf and DebianPkg:sysv-rc-conf.
Line 60: Line 59:
 * [[init]]  * [[Init]]
Line 62: Line 61:
 * manpages: [[DebianMan:5/inittab|inittab]],[[DebianMan:8/init|init]],[[DebianMan:5/rcS|rcS]], [[DebianMan:8/update-rc.d|update-rc.d]], [[DebianMan:8/runlevel|runlevel]]  * manpages: [[DebianMan:5/inittab|inittab]], [[DebianMan:8/init|init]], [[DebianMan:5/rcS|rcS]], [[DebianMan:8/update-rc.d|update-rc.d]], [[DebianMan:8/runlevel|runlevel]], [[DebianMan:8/insserv|insserv]]
Line 65: Line 64:
## If this page belongs to an existing Category, add it below.
## CategorySomething | CategoryAnother
CategoryBootProcess

Translation(s): English - Français - Italiano


A daemon, or system service, is a background process usually started during the initial boot sequence by Init. Daemons typically run independent of users, waiting for system events to occur and providing services in response. Some common daemons include:

  • sshd - listens for and manages incoming ?SSH connections

  • acpid - listens for power management events and executes scripts based on them

  • apache - provides a local HTTP web server

ToDo: needs to be rewritten for systemd.

Daemons in Debian

Debian makes use of System V-style init scripts for daemon management. This allows daemons to operate conditionally, based on the current RunLevel of the computer. For example, a daemon can be configured to run only when the computer is in single-user mode (runlevel 1) or, more commonly, when in multi-user mode (runlevels 2-5). For more information, see Init and RunLevel.

The Debian Policy Manual (sections 9.3 and 9.4) is an excellent resource for better understanding daemon init scripts in Debian.

Daemon management

A brief introduction to Debian init scripts

Daemon init scripts are stored in /etc/init.d/ along with the system's other boot-time init scripts.

When a daemon is enabled or disabled, symbolic links targeting the respective init script are created or removed under the various /etc/rc*.d/ directories, corresponding to the RunLevel(s) in which the daemon is to run.

Daemon init scripts are treated as configuration files by dpkg. This means they remain on the system after a package is uninstalled, unless the 'purge' option is used.

Common daemon controls

Most daemon scripts accept a common set of options, which can be passed directly to the script at the command line, for example:

# service ssh restart
Restarting OpenBSD Secure Shell server: sshd.

A brief description of the most common options follows:

  • start: start a service

  • stop: stop a service

  • restart: restart a service without reloading its job config file

  • reload: send a SIGHUP signal to running process

  • status: return the status of a service

Starting and stopping daemons in this manner is temporary and will not survive a reboot. Refer to the next section to enable/disable daemons on a permanent basis.

Enable/disable daemons

Note: When in doubt, refer to the documentation of the daemon itself.

To (re)enable/disable a daemon (using the default settings & runlevels) run the following command, where <daemon> corresponds to the name of the init script as listed in /etc/init.d/:

# update-rc.d <daemon> enable|disable

For more detail on what these commands do, refer to the update-rc.d manpage.

For more information on Debian's way of managing and writing init scripts see LSBInitScripts/DependencyBasedBoot and LSBInitScripts.

GUI utilities for daemon management

Several GUI tools exist to make daemon management even simpler; some popular examples available for Debian include: rcconf and sysv-rc-conf.

See also


CategoryBootProcess