Differences between revisions 34 and 35
Revision 34 as of 2011-07-04 23:16:53
Size: 3872
Comment: add links to the policy manual
Revision 35 as of 2011-07-06 16:47:16
Size: 3899
Comment: added link to it translation
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 - [[it/Daemon|Italiano]]-~
Line 64: Line 64:
 * 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]]

Translation(s): English - 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

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.

Managing Daemons

A brief introduction to Debian init scripts

Daemon init scripts are stored in /etc/init.d/

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.

To view a list of currently available services:

$ ls /etc/init.d

Common daemon options

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

# /etc/init.d/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: 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.

Several tools exist to manage system services, including rcconf and sysv-rc-conf. The default tool however is update-rc.d and that is what the following examples use.

Enabling daemons

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

# update-rc.d <daemon> defaults

Disabling daemons

To disable a daemon at all runlevels, execute the following command, where <daemon> corresponds to the name of the init script as listed in /etc/init.d/:

# update-rc.d -f <daemon> remove

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

See also