System Services

Revision / Modified: Jan. 04, 2001
Author: Tom Berger

Original documents:
http://www.mandrakeuser.org/docs/admin/aservice.html
http://www.mandrakeuser.org/docs/admin/aservice2.html
http://www.mandrakeuser.org/docs/admin/aservice3.html
http://www.mandrakeuser.org/docs/admin/aservice4.html

Introducing System Services

If you happen to open 'System' - 'Services' in the Mandrake Control Center, you see a lot of columns, starting with a more or less cryptic name for the service. The second column reads either 'stopped' or 'running', the third is a button which reveals some basic information. Then there's a check box labelled 'On boot' followed by two buttons: 'Start' and 'Stop'.

This layout describes in essence what you can do with a service: you can start or stop it and you can configure it to be 'started' automatically at boot time.

But what is a service? In contrast to a program, services do not require user input (they 'run in the background') apart from starting or stopping them, and even this can be automated.
There are two kinds of services:

Apart from the Mandrake Control Center, there's a slew of other graphical configuration utilities you can use to configure services. Webmin and Linuxconf both come with modules to do that. KDE and GNOME each offer there own brand of service configuration utility. Furthermore there's 'tksysv' and its console based parent 'ntsysv'.
But the MCC module does what needs to be done, but maybe you like one of the other applications better. You don't need to be afraid of causing inconsistencies when using different utilities since they all use the same (command line) commands, 'service' and 'chkconfig'.

'service' and 'chkconfig'

The 'service' command, a simple shell script in '/sbin', is used to display the status of a service, to start, stop or restart it. This command takes two arguments, the name of the service (i.e. the name of the file in '/etc/init.d') and what should be done in regard to this service:

'restart' and 'status' are not supported by all service scripts.

'chkconfig' lists, adds, removes and configures services permanently. To have a service started automatically at boot time, you would use:

# chkconfig service_name on

To have it not started automatically:

# chkconfig service_name off

To list all available services and their current configuration:

# chkconfig --list

The output of this last command will become clearer to you when you've read the next section. More on this command can be found in man chkconfig.

Like their graphical counterparts, these commands require you to be 'root'. Nothing forces you to use them instead of MCC or the other utilities, I prefer them because I'm faster at typing a command than at clicking through a graphical interface ;-).

Advantages Of The Services Mechanism

Being able to control services has several advantages:

How Services Work

This section is intended for people who not only want to know what to do but also why things are done this way. You can live on Linux without this, but in my opinion it's more fun when you get a grasp of the concept behind the scenes.

Service Scripts

If you are curious, you might want to know now how the system knows which services are available. The service scripts are located in '/etc/init.d' ('/etc/rc.d/init.d' on older releases).
Graphical utilities like the Mandrake Control Center just assume that every script in this directory controls a service, so if you put a script there, it will appear on the Services module of the Mandrake Control Center and in similar utilities, too, and can also be handled directly via the commands 'service' and 'chkconfig'.

A service script contains the commands to at least start or stop a service. Have a look at a basic template for a service script:


#!/bin/sh
# chkconfig: runlevels order_number_start_link order_number_stop_link
# description: short description of service

. /etc/rc.d/init.d/functions

case "$1" in
  start)
        echo -n "Starting service: "
        command(s) to start service
        echo
        ;;
  stop)
        echo -n "Shutting down service: "
        command(s) to stop service
        echo
        ;;
  status)
        status service_name
        ;;
  *)
        echo "*** Usage: service_name {start|stop|status}"
        exit 1
esac

exit 0

If you've already seen a shell script, it's pretty simple. 'chkconfig' and 'description' are explained in the next subsection. The 'functions' line is only needed here to have the 'status' command available. Then there's a 'case' fork which tells the script which commands to execute if the last argument to the 'service' command is either 'stop', 'start' or 'status'. The 'echo' lines provide some feedback, '*)' matches all cases in which the last argument isn't one of 'start', 'stop' or 'status' and thus invalid (prints a usage message and exits).
Of course you have to make sure that service_name really is the name of the script and that the script has the executable bit set.

Runlevel Links

Some services depend on other services. The 'httpd' service (Apache web server) for example won't start correctly if the 'network' script hasn't already set up the network interfaces. How is the order in which services are started on boot determined?

Have a look at the '/etc/rc.d' directory:

$ ls /etc/rc.d
init.d/ rc0.d/ rc2.d/ rc4.d/ rc6.d/ rc.local* rc.sysinit* rc* rc1.d/ rc3.d/ rc5.d/ rc.firewall rc.modules*

You see the 'init.d' from '/etc' here again (in fact it's the same) and then several directories and files starting with 'rc' ('rc' is short for 'runcom[mand]').
In Mandrake Linux releases 8.0 and later, these files and directories are also accessible directly from the '/etc' directory.

If you now look into one of those 'rcnumber' subdirectories, you will find a bunch of files, some of them starting with 'S' and some of them with 'K' followed by a two-digit number. 'S' is short for 'start' and 'K' stands for 'kill'. The numbers imply the order in which starting and killing services takes place. In fact all those files are just links to their appropriate counterparts in '/etc/init.d'.
'S12syslog' for example is a link to '/etc/init.d/syslog' and gets started after 'S10network' which links to '/etc/init.d/internet' but before 'S20random'.

You don't have to create these links yourself when configuring a standard service with 'chkconfig' because most scripts already contain a 'chkconfig' line, like for example the 'network' service script:

#! /bin/bash
#
# network       Bring up/down networking
#
# chkconfig: 2345 10 90
# description: Activates/Deactivates all network interfaces configured to \
#              start at boot time.

The standard configuration for this script is to have it started in the runlevels 2, 3, 4 and 5 with a 'S10network' link in the directories '/etc/rc.d/rc.2' to '/etc/rc.d/rc.5' and stopped in runlevels 0, 1 and 6 with a 'K90network' in the directories '/etc/rc.d/rc.[0,1,6]'. This standard configuration is applied when using the 'reset' option:

# chkconfig network reset

will create exactly these links, whereas

# chkconfig service_name on

always defaults to starts on runlevels 3, 4 and 5 only.

What are runlevels then? Runlevels are listed in '/etc/inittab':

# Default runlevel. The runlevels used by RHS are:
#   0 - halt (Do NOT set initdefault to this)
#   1 - Single user mode
#   2 - Multiuser, without NFS (The same as 3, if you do not have networking)
#   3 - Full multiuser mode
#   4 - unused
#   5 - X11
#   6 - reboot (Do NOT set initdefault to this)

During operation, the system always is in one of these runlevels, most of the time either in runlevel 3 (console) or runlevel 5 (X, i.e. the graphical interface).
Upon switching runlevels, e.g. by starting the graphical interface or stopping it, by booting the machine or rebooting it etc, the script '/etc/rc.d/rc' is executed. This script in turn looks up the start and kill links in the appropriate 'rcnumber' directory (where number matches the number of the runlevel the system is switching to) and executes them, i.e. starts or stops the services as configured for the runlevel the system is switching to. This explains why '/etc/rc.d/rc.0' and '/etc/rc.d/rc6' almost only contain 'kill' links since all services are stopped when halting or rebooting the machine.

This elaborate system is called the System V Init Process, because it has been introduced with version five of UNIX®. Apart from Slackware, all major Linux distributions use it. Slackware and *BSD operating systems use the BSD-style Init Process which more or less packs the whole initialization and service maintenance work into one file.

How To Put This System To Use

The 'chkconfig' program allows you a finely grained control on what services are started or stopped on which runlevels. Under certain circumstances it can be useful to reconfigure services.
Take the GPM service, for example. GPM is the 'General Purpose Mouse Daemon'. You will need to have it running when you want to use a mouse on runlevel 3 (console). On runlevel 5 (graphical interface), it is next to useless, it can even cause incompatibilities to occur. Using 'chkconfig' you can configure the gpm service only to be run on runlevel 3:

# chkconfig --level 3 gpm on
# chkconfig --level 5 gpm off

This will create a start link in 'rc3' and a kill link in 'rc5'.

The next pages of this article will provide you with an overview of all service scripts available in Mandrake Linux 8.1.

Annotated List of System Services (a-h)

This list tries to cover all the scripts in '/etc/init.d'.
It depends on your scale of installation how many of these services are available on your system.

In this list services are either 'optional', 'common' or 'essential'. 'Optional' means you can turn this service safely off without loosing vital functionality, 'common' means that this service isn't vital but usually enabled, and 'essential' means you should not turn it off, unless you know exactly what you are doing and why you are doing it.

acon

Needed for arabic languages to be displayed correctly.
Pertinence: Optional. Package: acon. Doc: Files in '/usr/share/doc/acon-[...]'

acpid

ACPI (Advanced Configuration Power Interface) is the successor to APM (Advanced Power Management). 'acpid' is maintained by the ACPI4Linux project. Since essential functions like 'suspend' and 'resume' haven't been implemented yet, 'apmd' is still used as the default power management service in Mandrake.
Pertinence: Optional. Package: acpid. Doc: Linux ACPI HOWTO

adsl

Control script for ADSL (Asyncronous Digital Subscriber Line) connections via PPPoE (Point-to-Point Protocol over Ethernet).
Pertinence: Optional. Package: rp-pppoe. Doc: man pppoe, man pppoe.conf

alsa

This starts and stops the ALSA (Advanced Linux Sound Architecture) sound driver. If you don't want sound (or your card uses an OSS driver), turn it off.
Pertinence: Optional. Package: initscripts. Doc: http://www.alsa-project.org/documentation.php3

amd

The Automounter Daemon. Useful for automatically mounting (hey!) network file systems or removable media. Since removable media are handled by 'supermount' in Mandrake and 'amd' does have its handling quirks, you will possibly only need it for mounting network shares (NFS and the like). Do not run this if you don't need it as it poses a potential security hole.
Pertinence: Optional. Package: am-utils. Doc: MU on 'automount', man pages.

anacron

The cousin of the 'cron'-daemon. 'cron' runs tasks like system maintenance at certain times, but skips them if the system isn't running at that time. That's where 'anacron' comes in: it checks delayed 'cron'-tasks at boot-time and executes them. If your machine doesn't run all the time, you should leave it enabled.
Pertinence: Optional. Package: anacron. Doc: man anacron, MUO on using anacron

apcupsd

apcupsd manages UPS (Uninterruptable Power Supply) hardware manufactured by APC (American Power Conversion).
Pertinence: Optional. Package: apcupsd. Doc: The APCUPSD Users Manual

apmd

The Advanced Power Management BIOS Daemon. Usually you will only need it if your computer runs on battery, i.e. a laptop. Some laptop BIOSes do not take kindly to apmd, causing massive installation problems.
Pertinence: Optional. Package: apmd. Doc: man apmd

arpwatch

Keeps track of Ethernet/IP address pairings (no, I don't know what's that good for either).
Pertinence: Optional. Package: arpwatch. Doc: man arpsnmp.

atd

The At Daemon. Manages scheduled ('at a certain time') jobs. Related to 'crond'.
Pertinence: Optional. Package: at. Doc: man atd, man at, MUO article on 'at'.

auth2.init, codasrv.init, update.init, venus.init

These scripts are parts of the server package for the Coda File System, a distributed file system for networks, except for 'venus.init', which belongs to the client package.
Pertinence: Optional. Package: coda-debug-server (venus.init: coda-debug-client). Doc: The Coda HOWTO

autofs

Controls the automount daemon (amd). Usually not enabled. You might need it if you want to mount network-shares automatically.
Pertinence: Optional. Doc: man autofs, man automount.

bayonne

Bayonne provides a telephony application server.
Pertinence: Optional. Package: bayonne. Doc: Bayonne User Manual.

boa

Control script for the Boa Webserver, a lightweight alternative to Apache.
Pertinence: Optional. Package: boa. Doc: on home page.

bootparamd

Needed to provide boot-information to disk-less clients. Usually not enabled.
Pertinence: Optional. Package: bootparamd. Doc: man bootparamd.

cddbp

Control file for the cddb-proxy (CD-Database). Useful to allow clients behind a firewall making CDDB queries.
Pertinence: Optional. Package: cddb-proxy. Doc: 'readme' in '/usr/share/doc/cddb-proxy-[...]'.

cfengine

The Configuration Engine provides software agents and a language for central configuration and administration of large scale networks.
Pertinence: Optional. Package: cfengine. Doc: Example scripts in '/usr/share/doc/cfengine-[...]', info cfengine-Reference, info cfengine-Tutorial.

chronyd

chronyd can keep your system's time in step with the true time or keep a network of computers in time sync with each other.
Pertinence: Optional. Package: chrony. Doc: FAQ, info chrony

crond

The Cron Daemon. Manages repeated tasks ('chronological'). Related to 'atd'.
Pertinence: Essential. Package: vixie-cron. Doc: man crond, man cron, MUO article on 'cron'

cups

CUPS is the standard printing service on Mandrake Linux.
Pertinence: Optional. Package: cups. Doc: /usr/share/doc/cups/documentation.html, MUO on using CUPS

dhcp-relay

You will need if your DHCP (Dynamic Host Configuration Protocol) server is located in another subnet than its clients.
Pertinence: Optional. Package: dhcp-relay. Doc: man dhcrelay

dhcp-server

Needed on a machine which has to provide IP adresses to other machines.
Pertinence: Optional. Package: dhcp-server. Doc: man dhcpd.conf, man dhcpd

dhsd

DHSD is an IP updater for the free DHS.ORG dynamic DNS service.
Pertinence: Optional. Package: dhsd. Doc: Files in '/usr/share/doc/dhsd-[...]'

dnrd_rc

Control script for the gpppwrap multi-number/provider dialer.
Pertinence: Optional. Package: gpppwrap. Doc: man gpppwrap

fcron

Fcron is a replacement for 'cron' as well as 'anacron'. Notice that ML 8.1 comes with an outdated version which has security issues. Get 2.0 from the Fcron website.
Pertinence: Optional. Package: fcron. Doc: man fcron, man fcrontab

fetchmail

Daemon for the Fetchmail mail retriever.
Pertinence: Optional. Package: fetchmail-daemon. Doc: MUO on configuring fetchmail, man fetchmail

functions

Contains code blocks to be used by other service scripts.
Pertinence: Essential. Package: initscripts. Doc: Read the script ;-)

gated

GateD is a network routing daemon.
Pertinence: Optional. Package: gated. Doc: man gated

gdips

GnuDIP can be used by an Internet provider to assign static DNS names to its clients even if those clients have their IPs dynamically assigned.
Pertinence: Optional. Package: gnudip-server. Doc: Files in /usr/share/doc/gnudip-server-[...]

gpm

General Purpose Mouse Daemon. Necessary only if you want to use your mouse on the console (not xterms). If you only work within X, it's better to turn it off, since incompatibilities with X are known.
Pertinence: Common. Package: gpm. Doc: man gpm

halt

The script executed when the system gets halted or rebooted. This script is not meant to be executed directly from the commandline.
Pertinence: Essential. Package: initscripts. Doc: Read script.

harddrake

HardDrake is the standard hardware configuration recognition and configuration program. This script performs a hardware check on each boot ('kudzu mode'). You might want to turn this off if your hardware configuration does not change on a regular basis. This will save you some seconds on boot time.
Pertinence: Common. Package: harddrake. Doc: ML user manual.

heartbeat, ldirectord

heartbeat is part of the High-Availability Linux Project, used for clusters.
Pertinence: Optional. Package: heartbeat. Doc: In '/usr/share/doc/heartbeat-[...]/doc'

hpoj

Script for the CUPS HP OfficeJet printer / scanner driver.
Pertinence: optional. Package: hpoj. Doc: hpoj documentation index

httpd

The daemon necessary to run the Apache web-server. In ML, it runs as a standalone service and not via '(x)inetd'. If you do not intend to run a web-server, turn it off: it uses a considerable amount of system resources (more than 15 MB of system memory) and makes your box vulnerable to outside attacks if not configured properly (via '/etc/httpd/conf/httpd.conf').
Pertinence: Optional. Package: apache-conf. Doc: man httpd.

hylafax

Control script for the HylaFAX fax server.
Pertinence: Optional. Package: hylafax-server. Doc: The HylaFAX HOW-TO

Annotated List of System Services (i-n)

ibod

IBOD is the 'ISDN Bandwidth On Demand Daemon'. It supports opening or closing a second B-channel automatically upon a certain amount of traffic.
Pertinence: Optional. Package: ibod. Doc: man ibod

identd

Provides identification information about the host it is running on. Necessary to access some braindead IRC networks.
Pertinence: Optional. Package: pidentd. Doc: man identd

ifled

Daemon script for InterfaceLED. This program allows you to use the keyboard LEDs for displaying network traffic and more.
Pertinence: Optional. Package: ifled. Doc: '/usr/share/doc/ifled-0.6/README.init-script'

inet(d)

Obsolete since ML 7.2, replaced by xinetd.
The Internet 'Super-Server'. Handles dial-in services like ftp, pop3 and telnet (these three are enabled by default). If you only dial out (e.g. for connecting to the Internet), or just have Apache running, you can turn it off and thus close another potential security hole.
If you want to use it however, have a close look at '/etc/inetd.conf', '/etc/hosts.allow', '/etc/hosts.deny' and install the tcp-wrappers.rpm (which is usually installed by default).
Pertinence: Optional. Package: inetd. Doc: man inetd, man hosts_access and man tcpd.

innd

Control script for the InterNetNews Usenet server.
Pertinence: Optional. Package: inn. Doc: lots ;-) Some 30 man pages and an FAQ in '/usr/share/doc/inn-[...]/faq'

ipchains

'ipchains' is the standard firewalling method in Linux kernel 2.2 based systems, Linux kernel 2.4 (Mandrake Linux 8.x) uses 'iptables' instead. You'll need this if you want to keep on using your old (2.2) firewall rules and software.
Pertinence: Optional. Package: ipchains. Doc: man ipchains, IPCHAINS-HOWTO

iplog

iplog logs network traffic (who'da thunk it?).
Pertinence: Optional. Package: iplog. Doc: man iplog

ippl

ippl (IP Protocols Logger) logs incoming network traffic.
Pertinence: Optional. Package: ippl. Doc: man ippl

ipsec

Part of Linux FreeS/WAN, an implementation of the IPSEC (Internet Protocol SECurity) protocol. IPSEC allows you to connect trusted networks via untrusted ones using a technique called 'tunneling' (in short: all the traffic between the trusted networks gets encrypted and decrypted automatically).
Pertinence: Optional. Package: freeswan. Doc: lots

iptables

Part of the iptables/netfilter duo, which does the firewalling and IP masquerading on Linux kernel 2.4.x systems (successor to 'ipchains').
Pertinence: Common. Package: iptables. Doc: HOWTOs, man iptables

ip6tables

Same as above, but for the future IPv6 network protocol.
Pertinence: Optional. Package: iptables-ipv6. Doc: See above

iptoip

"iptoip is a program to maintain an ipvsadm [see next entry] table coherent."
Pertinence: Optional. Package: iptoip. Doc: man pages in newer version or CVS

ipvsadm

Used to administer a Linux Virtual Server. In short: cluster stuff.
Pertinence: Optional. Package: ipvsadm. Doc: man ipvsadm

ircd

ircd (Internet Relay Chat Daemon) is the original IRC server software.
Pertinence: Optional. Package: ircd. Doc: man ircd, files in /usr/share/doc/ircd-[...]

irda

Control script for IR (Infra-Red) connected devices, maintained by the Linux-IrDA Project.
Pertinence: Optional. Package: irda-utils. Doc: On project's documentation page

isdn4linux

For users of ISDN-cards (terminal-adapters are handled like modems). Notice that you might still have to configure this service, read '/usr/doc/isdn4net-[...]/doc/INSTALL.quick' for more. In ML 7.2 and later, use the 'draknet' utility.
Pertinence: Optional. Package: isdn4net. Doc: Files in '/usr/share/doc/isdn4net-[...]/', MUO on configuring ISDN

jabber, jabber-icq

Control scripts for the Open Source Instant Messaging server Jabber. You'll need jabber-icq if you want to allow clients to use the ICQ service.
Pertinence: Optional. Package: jabber, jabber-icq. Doc: docs.jabber.org

jail.init

jail is Just Another IP Logger. 'nuff said.
Pertinence: Optional. Package: jail. Doc: man icmplog, man tcplog

jserver

FreeWnn is needed to display Japanese characters correctly.
Pertinence: Optional. Package: FreeWnn. Doc: man jserver

junkbuster

Junkbuster is an ad-, cookie- and contentblocking proxy. The version included has been slightly modified by Stefan Waldherr. Notice that the included blocklist is really, really old.
Pertinence: Optional. Package: junkbuster. Doc: 'ijbfaq.html' and 'ijbman.html' in '/usr/share/doc/junkbuster-[...]'

kadmin, kprop, krb524, krb5kdc, krb5server

Control scripts for a Kerberos 5 server. Kerberos is a network authentication protocol. In order for clients to access a Kerberos server, they need special client software (like 'ftp-client-krb5').
Pertinence: Optional. Package: krb5-server. Doc: info krb5-admin

keytable

Not a service in the strict sense of the word. The 'keytable' script loads the selected console keyboard map as set in '/etc/sysconfig/keyboard' (variable KEYTABLE).
Pertinence: Common. Package: console-tools. Doc: man loadkeys

kheader

Not a service, but a startup script which generates the file '/boot/kernel.h' on each boot. This generated file is used during compiling source code.
Pertinence: Common. Package: initscripts. Doc: None

killall

Not a service, but a mere short helper script to stop renitent services.
Pertinence: Common. Package: initscripts. Doc: None

kudzu

Detects and configures new or changed hardware during boot. You can turn it off and your box will boot faster. You can also start kudzu during normal system operation to configure new hardware.
Pertinence: Common. Package: kudzu. Doc: man kudzu

ldap

LDAP is short for Lightweight Directory Access Protocol, a central network service for information stored in databases ('directories'). This script is part of the packages openldap1 and openldap-servers, which are maintained by the OpenLDAP project.
Pertinence: Optional. Package: openldap1, openldap-servers. Doc: man ldapd and lots of others

linuxconf

Startscript for the Linuxconf central administration system.
Pertinence: Common. Package: linuxconf. Doc: '/usr/lib/linuxconf/help.[language-code]', online help system.

lpd

Either part of the old 'lpr' printer spooler software or its (self-acclaimed) successor, LPRng (ng = next generation).
Pertinence: Optional. Package: lpr, LPRng. Doc: man lpd

mandrake_consmap

Not a service, but a helper script to set the correct console keymap.
Pertinence: Common. Package: initscripts. Doc: None

mandrake_everytime

Mandrake's version of an 'autoexec.bat' (no doubt I'll get myself killed with this comparison ;-)).
Pertinence: Common. Package: initscripts. Doc: Read comments in the script

mandrake_firsttime

Not a service. Determines which commands should be run the first time the system is booted.
Pertinence: Common. Package: initscripts. Doc: Read comments in the script

mcserv

'mc' (Midnight Commander) is a popular Linux console file manager. 'mc' can access machines running 'mcserv' just like the machine it is running on. Mandrake Linux comes with the 'secure-mcserv' version which offers more access control.
Pertinence: Optional. Package: mcserv. Doc: man secure-mcserv

medusa-init

Medusa is the search/indexing software for the GNOME desktop.
Pertinence: Optional. Package: medusa. Doc: man medusa-config

mon

mon is a resource monitor (from networking to room temperature).
Pertinence: Optional. Package: mon. Doc: Files in '/usr/share/doc/mon-[...]'

mosix

MOSIX extends the Linux kernel by support for scalable cluster computing.
Pertinence: Optional. Package: mosix-utils. Doc: man mosix

mysql

MySQL (SQL = Structured Query Language) provides a database.
Pertinence: Optional. Package: MySQL. Doc: 'manual.html' in '/usr/share/doc/MySQL-[...]'

named

Part of BIND (Berkeley Internet Name Domain), the standard Domain Name Server (DNS) software on Linux. A name server maps IP addresses to machine names.
Pertinence: Optional. Package: bind. Doc: Files in '/usr/share/doc/bind-[...], man named.conf and others

nessusd

Nessus provides software to remotely scan a network for security holes.
Pertinence: Optional. Package: nessus. Doc: Nessus documentation page, man nessusd

netfs

Not a service. Calling this script tries to mount all available network shares (NFS, NCP, SMB).
Pertinence: Common. Package: initscripts. Doc: man mount

network

Not a service. Activates all network interfaces at boot time (or whenever invoked by the 'service' command) by calling the scripts in '/etc/sysconfig/network-scripts'.
Pertinence: Common. Package: initscripts. Doc: man ifconfig and the appropriate documentation for the initiated interfaces

nfs

Control script for the Linux NFS server (Network File System), the standard file sharing protocol in Linux/Unix.
Pertinence: Optional. Package: nfs-utils. Doc: man nfsd, MUO article on NFS.

nfslock

Starts and stops the NFS file locking service. You will need this on NFS servers as well as clients.
Pertinence: Optional. Package: nfs-utils-clients. Doc: man nfsd, MUO article on NFS.

noflushd

The Linux write cache usually prevents disks from spinning down when not in use. noflushd works around this issue.
Pertinence: Optional. Package: noflushd. Doc: man noflushd

nscd

'nscd' is a Name Service Caching Daemon, usually used in combination with NIS+ (Network Information Service) or LDAP (Lightweight Directory Access Protocol).
Pertinence: Optional. Package: nscd. Doc: LDAP Implementation HOWTO

ntp

Control script for a Time Synchronization Server using the Network Time Protocol. Useful if you have to keep machines in a network in sync.
Pertinence: Optional. Package: ntp. Doc: Files in '/usr/share/doc/ntp-[...]'

numlock

No service. 'Locks' the NumLock key at boot, thus making it possible to use the number block on most keyboards to type in numbers. This can get pretty funny when enabled on laptops ...
Pertinence: Common. Package: numlock. Doc: man enable_X11_numlock

Annotated List of System Services (o-y)

oki4daemon

Needed to support printing from the OKI 4w and similar Windows only printers.
Pertinence: Optional. Package: printer-filters. Doc: Read comment in script

olympusd

Olympus allows you to administer a large network of machines from one place.
Pertinence: Optional. Package: olympus-server. Doc: See project hompage.

opennap

Control script for an OpenNap server using the Napster file sharing protocol. Presumably one of the best ways to get in trouble these days ;-). Notice that there's an administrator account with a default password you should change.
Pertinence: Optional. Package: opennap. Doc: 'manual.html' in '/usr/share/doc/opennap-[...]'

pcmcia

Part of the Card Services for Linux Project software which supports PCMCIA (PC-Memory Card International Association) cards frequently used in laptops.
Pertinence: Optional. Package: kernel-pcmcia-cs. Doc: man pcmcia, Linux PCMCIA HOWTO

portmap

Security tool needed for Remote Procedure Calls, especially in NIS and NFS connections.
Pertinence: Optional. Package: portmap. Doc: man portmap

portsentry

Starts or stops the Psionic PortSentry 'Port Scan Detection and Active Defense System' which monitors ports for scans and blocks scanning hosts immediately.
Pertinence: Optional. Package: portsentry. Doc: Files in '/usr/share/doc/portsentry-[...]'

postfix

The standard mail server software in Mandrake Linux, a replacement for sendmail. You will need it when your mail reader can't get or send its mail on its own or if you want to provide mail services for a network.
Pertinence: Optional. Package: postfix. Doc: man postfix, '/usr/doc/postfix-[version]/html/' MUO on configuring PostFix

postgresql

PostgreSQL provides a database server similar to MySQL.
Pertinence: Optional. Package: postgresql-server. Doc: In package postgresql-docs

powertweakd.init

Powertweak is a program to tune your kernel and hardware settings for optimal performance.
Pertinence: Optional. Package: powertweak. Doc: Files in '/usr/share/doc/powertweak-[...]/Documentation'

pptpd.conf

PoPToP is a free implementation of a PPTP (Point-to-Point Tunneling Protocol) server, needed to connect Virtual Private Networks (VPN).
Pertinence: Optional. Package: pptpd-server. Doc: man pptpd

prelude

Prelude is a sophisticated Intrusion Detection System (IDS).
Pertinence: Optional. Package: prelude. Doc: In package 'prelude-doc'

proftpd

Control script for the standard Mandrake Linux FTP server, ProFTPd.
Pertinence: Optional. Package: proftpd. Doc: on project home page

psacct

Allows monitoring process activities.
Pertinence: Optional. Package: psacct. Doc: info accounting

pure-ftpd

PureFTPd (cl)aims to be a compliant, secure, easy and then some FTP server.
Pertinence: Optional. Package: pure-ftpd. Doc: man pureftpd

pvmd

PVM (Parallel Virtual Machine) allows you to use a network of Unix and NT computers as a single virtual parallel machine.
Pertinence: Optional. Package: pvm. Doc: man pvm

radvd

Control script for the Linux IPv6 Router Advertisement Daemon. You'll need this to take advantage of the IPv6 stateless autoconfiguration feature (don't ask ...).
Pertinence: Optional. Package: radvd. Doc: man radvd

random

No service. Improves the generation of random numbers (needed for security).
Pertinence: Common. Package: initscripts. Doc: man 4 random

rawdevices

No service. "This scripts assigns raw devices to block devices (such as hard drive partitions)." Useful for databases (or so I'm told).
Pertinence: Common. Package: initscripts. Doc: Example in '/etc/sysconfig/rawdevices'

routed

'routed' is the Network Routing Daemon. You will need this if your machine acts as a router (obviously) for other machines in your network (e.g. as a gateway into another network like the Internet).
Pertinence: Optional. Package: routed. Doc: man routed

rstatd, rusersd, rwalld, rwhod

Provide access to information (status, users) or services (send messages) useful when maintaining a multiuser network.
Pertinence: Optional. Package: rusers, rwall, rwho. Doc: respective man pages

sendmail

The standard Internet mail server. In Mandrake Linux now replaced by PostFix (but still part of the distribution). If your mail client is capable of sending and receiving mail itself (e.g. Netscape Mail, kmail, Pine), you don't need it.
Pertinence: Optional. Package: sendmail. Doc: man sendmail

sensors

This skript starts or stops 'sensord', a hardware monitoring daemon and part of the lm_sensors hardware monitoring software.
Pertinence: Optional. Package: lm_utils. Doc: man sensors

shorewall

Shorewall is a firewall / masquerader to be used on single systems (i.e. a desktop firewall).
Pertinence: Optional. Package: shorewall. Doc: Files in '/usr/share/doc/shorewall-[...]/documentation'

single

No service. Executed when putting the system into runlevel 1 ('single user' or 'rescue' mode).
Pertinence: Common. Package: initscripts. Doc: None

smb

Needed for running SAMBA, the Server Message Block Protocol Server. It allows you to provide file and printer sharing services to MS-Windows clients and to access shares on those machines from your Linux box.
Pertinence: Optional. Package: samba. Doc: man samba, MUO article on SAMBA.

snortd

Control script for the Snort Intrusion Detection System.
Pertinence: Optional. Package: snort. Doc: Files in '/usr/share/doc/snort-[...]'

sound

No service. Starts / stops sound device and loads / saves mixer settings.
Pertinence: Common. Package: initscripts. Doc: None

squid

Squid is a web proxy caching server (and much more). Although configuration isn't trivial, it can speed up net access for clients considerably.
Pertinence: Optional. Package: squid. Doc: vast amount of files in '/usr/share/doc/squid-[...]'

sshd

Control script for an OpenSSH server, a terminal services server using strong encryption, bound to replace inherently insecure services such as telnet or ftp.
Pertinence: Optional. Package: openssh-server. Doc: MUO article on SSH

sympa

Control script for the Sympa mailing list management software (server end, not client end).
Pertinence: Optional. Package: sympa. Doc: man sympa, files in '/usr/share/doc/sympa-[...]'

syslog

System Message Logger, i.e. it writes system or service messages to so called log files ('/var/log/*').
Pertinence: Essential. Package: sysklogd. Doc: man sysklogd

syslog-ng

syslog-ng (ng = next generation) intends to replace sysklogd. It adds the possibility to filter based on message contents using regular expressions.
Pertinence: Optional. Package: syslog-ng. Doc: man syslog-ng

tux

Control script for the kernel based TUX web server.
Pertinence: Optional. Package: tux. Doc: 'tux.README' in '/usr/share/doc/tux-[...]'

snmpd

Control script for the project formerly known as 'ucd-snmp', now as NET-SNMP. It is an implementation of the Simple Network Management Protocol (nomen est omen). If you know more, you know more than me.
Pertinence: Optional. Package: ucd-snmp. Doc: man snmpd and lost more. Also check out the project homepage

ups

Part of the former 'smartupstools', now called NUT (Network UPS Tools). This package allows the control of Uninterruptable Power Supplies over a network (you might have guessed that).
Pertinence: Optional. Package: smartupstools. Doc: Files in '/usr/share/doc/smartupstools-[...]'

usb

No service. When called (usually during boot) this script starts or stops USB (Universal Serial Bus) devices by loading or unloading the appropriate drivers (kernel modules). You are advised not to run this script during system operation.
Pertinence: Common. Package: initscripts. Doc: Comments in script, also have a look at '/etc/sysconfig/usb'

vncserver

Part of the Virtual Network Computing software. VNC allows you to remotely display / view / manage the desktop of another machine. It is platform-independent.
Pertinence: Optional. Package: vnc-server. Doc: in package 'vnc-doc'

vrrpd

Control script for the Virtual Router Redundancy Protocol Daemon, used to elect a master server on a local network and provide fallback in case the master fails.
Pertinence: Optional. Package: vrrpd. Doc: man vrrpd

watchdog

'watchdog' monitors a machine and reboots it if a system freeze is detected (sounds funny, but works).
Pertinence: Optional. Package: watchdog. Doc: man watchdog

webmin

Webmin is a web based system administration suite (an alternative to Linuxconf).
Pertinence: Optional. Package: webmin. Doc: on project home page and inline

wine

WINE tries to build a Windows compatibility layer software (i.e. it intends to enable you to run Windows programs on Linux). This script enables users to run Windows applications by just clicking on them (well, in theory at least ...)
Pertinence: Optional. Package: wine. Doc: Files in '/usr/share/doc/wine-[...]/wine-doc'

xfs

X Font Server. In the standard X configuration of Mandrake Linux, X won't run without a working font server.
Pertinence: Common. Package: XFree86-xfs. Doc: man xfs

xinetd

xinetd controls, logs or redirects accesses to other servers running on the same machine. It replaces inetd.
Pertinence: Optional. Package: xinetd. Doc: MUO article on xinetd, man xinetd

ypbind

NIS Binder. Only needed if your computer is part of a NIS (Network Information Service) domain (yp for its old name 'yellow pages').
Pertinence: Optional. Package: ypbind. Doc: man ypbind

yppasswdd, ypserv

Scripts to control an NIS server.
Pertinence: Optional. Package: ypserv. Doc: man ypserv


Legal: This text is covered by the GNU Free Documentation License. Standard disclaimers of warranty apply. Copyright LSTB (Tom Berger) and Mandrakesoft 1999-2002.