Sunday, May 5, 2013

Common daemons and their description

I'm not sure that this will be useful to anyone, spending somet ime looking at /etc/init.d/ made me realize there were a number of daemons and scripts in there that I wasn't comfortably familiar with. I wasn't able to find a simple list of the descriptions online, so decided to throw one togeher myself. Unless otherwise noted, these are just copy/pasted from Debian's packages pages.
acpi-fakekey
tool to generate fake key events 
This package contains a small tool that can be used to generate key events as if the corresponding key was pressed. It is used by scripts processing ACPI events to translate these events to key presses but can also be used separately.
acpi-support
scripts for handling many ACPI events 
This package contains scripts to react to various ACPI events. It only includes scripts for events that can be supported with some level of safety cross platform.
It is able to:
 * Detect loss and gain of AC power, lid closure, and the press of a
   number of specific buttons (on Asus, IBM, Lenovo, Panasonic, Sony
   and Toshiba laptops).
 * Suspend, hibernate and resume the computer, with workarounds for
   hardware that needs it.
 * On some laptops, set screen brightness.

acpid
Advanced Configuration and Power Interface event daemon 
Modern computers support the Advanced Configuration and Power Interface (ACPI) to allow intelligent power management on your system and to query battery and configuration status.
ACPID is a completely flexible, totally extensible daemon for delivering ACPI events. It listens on netlink interface (or on the deprecated file /proc/acpi/event), and when an event occurs, executes programs to handle the event. The programs it executes are configured through a set of configuration files, which can be dropped into place by packages or by the admin.
anacron
cron-like program that doesn't go by time
Anacron (like `anac(h)ronistic') is a periodic command scheduler. It executes commands at intervals specified in days. Unlike cron, it does not assume that the system is running continuously. It can therefore be used to control the execution of daily, weekly and monthly jobs (or anything with a period of n days), on systems that don't run 24 hours a day. When installed and configured properly, Anacron will make sure that the commands are run at the specified intervals as closely as machine-uptime permits.
This package is pre-configured to execute the daily jobs of the Debian system. You should install this program if your system isn't powered on 24 hours a day to make sure the maintenance jobs of other Debian packages are executed each day.

apmd
Utilities for Advanced Power Management (APM) 
On laptop computers, the Advanced Power Management (APM) support provides access to battery status information and may help you to conserve battery power, depending on your laptop and the APM implementation. The apmd program also lets you run arbitrary programs when APM events happen (for example, you can eject PCMCIA devices when you suspend, or change hard drive timeouts when you connect the battery).
This package contains apmd(8), a daemon for logging and acting on APM events; and apm(1), a client that prints the information in /proc/apm in a readable format.
apmd is notified of APM events by the APM driver in the kernel.
Since lenny Debian kernels are not built with APM support anymore. You need to compile a kernel with apm support enabled to use this package. You need to boot the kernel with the "apm=on" option if you want to enable the driver.
In most cases, users may want to know that there are newer power management schemes, like ACPI.

atd
In some Unix-like computer operating systems it uses a daemon, atd, which waits in the background periodically checking the list of jobs to do and executing those at their scheduled time on behalf of at. (source)

avahi-daemon
Avahi mDNS/DNS-SD daemon 
Avahi is a fully LGPL framework for Multicast DNS Service Discovery. It allows programs to publish and discover services and hosts running on a local network with no specific configuration. For example you can plug into a network and instantly find printers to print to, files to look at and people to talk to.
This package contains the Avahi Daemon which represents your machine on the network and allows other applications to publish and resolve mDNS/DNS-SD records.

console-setup
console font and keymap setup program 
This package provides the Linux console with the same keyboard configuration scheme as the X Window System. As a result, there is no need to duplicate or change the keyboard files just to make simple customizations such as the use of dead keys, the key functioning as AltGr or Compose key, the key(s) to switch between Latin and non-Latin mode, etc.
The package also contains console fonts supporting many of the world's languages. It provides an unified set of font faces - the classic VGA, the simplistic Fixed, and the cleaned Terminus, TerminusBold and TerminusBoldVGA.

cpufrequtils
utilities to deal with the cpufreq Linux kernel feature 
This package contains two utilities for inspecting and setting the CPU frequency through both the sysfs and procfs CPUFreq kernel interfaces.
By default, it also enables CPUFreq at boot time if the correct CPU driver is found.

cron
process scheduling daemon 
The cron daemon is a background process that runs particular programs at particular times (for example, every minute, day, week, or month), as specified in a crontab. By default, users may also create crontabs of their own so that processes are run on their behalf.
Output from the commands is usually mailed to the system administrator (or to the user in question); you should probably install a mail system as well so that you can receive these messages.
This cron package does not provide any system maintenance tasks. Basic periodic maintenance tasks are provided by other packages, such as checksecurity.

cups
Common UNIX Printing System(tm) - server 
The Common UNIX Printing System (or CUPS(tm)) is a printing system and general replacement for lpd and the like. It supports the Internet Printing Protocol (IPP), and has its own filtering driver model for handling various document types.
This package provides the CUPS scheduler/daemon and related file

dbus
simple interprocess messaging system (daemon and utilities) 
D-Bus is a message bus, used for sending messages between applications. Conceptually, it fits somewhere in between raw sockets and CORBA in terms of complexity.
D-Bus supports broadcast messages, asynchronous messages (thus decreasing latency), authentication, and more. It is designed to be low-overhead; messages are sent using a binary protocol, not using XML. D-Bus also supports a method call mapping for its messages, but it is not required; this makes using the system quite simple.
It comes with several bindings, including GLib, Python, Qt and Java.
This package contains the D-Bus daemon and related utilities.
The client-side library can be found in the libdbus-1-3 package, as it is no longer contained in this package

exim4
metapackage to ease Exim MTA (v4) installation 
Exim (v4) is a mail transport agent. exim4 is the metapackage depending on the essential components for a basic exim4 installation.

fancontrol
utilities to read temperature/voltage/fan sensors 
Lm-sensors is a hardware health monitoring package for Linux. It allows you to access information from temperature, voltage, and fan speed sensors. It works with most newer systems.
This package contains a daemon that calculates fan speeds from temperatures and sets the corresponding PWM outputs to the computed values.
fuse
Filesystem in Userspace
Filesystem in Userspace (FUSE) is a simple interface for userspace programs to export a virtual filesystem to the Linux kernel. It also aims to provide a secure method for non privileged users to create and mount their own filesystem implementations.

gdm
GNOME Display Manager 
gdm provides the equivalent of a "login:" prompt for X displays- it pops up a login window and starts an X session.
It provides all the functionality of xdm, including XDMCP support for managing remote displays.
The greeting window is written using the GNOME libraries and hence looks like a GNOME application- even to the extent of supporting themes! By default, the greeter is run as an unprivileged user for security.

hdparm
tune hard disk parameters for high performance 
Get/set device parameters for Linux SATA/IDE drives. Primary use is for enabling irq-unmasking and IDE multiplemode.

kbd
Linux console font and keytable utilities
This package allows you to set up the Linux console, change the font, resize text mode virtual consoles and remap the keyboard.

kmod
tools for managing Linux kernel modules 
This package contains a set of programs for loading, inserting, and removing kernel modules for Linux. It replaces module-init-tools.

lm-sensorsutilities to read temperature/voltage/fan sensors 
Lm-sensors is a hardware health monitoring package for Linux. It allows you to access information from temperature, voltage, and fan speed sensors. It works with most newer systems.
This package contains programs to help you set up and read data from lm-sensors.

motd
a message of the day browser for X 
Xmotd is a message-of-the-day browser for X11 (with additional sysvnews-like support for dumb terminals). It displays a customizable message box which displays each message-of-the-day until the user has read them all, and then creates a stamp-file.

network-manager
network management framework daemon 
NetworkManager attempts to keep an active network connection available at all times. It is intended only for the desktop use-case, and is not intended for usage on servers. The point of NetworkManager is to make networking configuration and setup as painless and automatic as possible. If using DHCP, NetworkManager is _intended_ to replace default routes, obtain IP addresses from a DHCP server, and change nameservers whenever it sees fit.
This package provides the userspace daemons.

nfs-common
NFS support files common to client and serve 
Use this package on any machine that uses NFS, either as client or server. Programs included: lockd, statd, showmount, nfsstat, gssd, idmapd and mount.nfs.

port-map
RPC port mapper 
Portmap is a server that converts RPC (Remote Procedure Call) program numbers into DARPA protocol port numbers. It must be running in order to make RPC calls.
Services that use RPC include NFS and NIS.

pppd-dns
PPP is the protocol used for establishing internet links over dial-up modems, DSL connections, and many other types of point-to-point links. The pppd daemon works together with the kernel PPP driver to establish and maintain a PPP link with another system (called the peer) and to negotiate Internet Protocol (IP) addresses for each end of the link. Pppd can also authenticate the peer and/or supply authentication information to the peer. PPP can be used with other network protocols besides IP, but such use is becoming increasingly rare. (source)
procps
/proc file system utilities 
This package provides command line and full screen utilities for browsing procfs, a "pseudo" file system dynamically generated by the kernel to provide information about the status of entries in its process table (such as whether the process is running, stopped, or a "zombie").
It contains free, kill, pkill, pgrep, pmap, ps, pwdx, skill, slabtop, snice, sysctl, tload, top, uptime, vmstat, w, and watch.

rpcbind
converts RPC program numbers into universal addresses 
The rpcbind utility is a server that converts RPC program numbers into universal addresses.

rsync
fast remote file copy program (like rcp) 
rsync is a program that allows files to be copied to and from remote machines in much the same way as rcp. It has many more options than rcp, and uses the rsync remote-update protocol to greatly speed up file transfers when the destination file already exists.
The rsync remote-update protocol allows rsync to transfer just the differences between two sets of files across the network link.
This package also includes rsyncd daemon functionality.

rsyslog
enhanced multi-threaded syslogd 
Rsyslog is an enhanced syslogd supporting, amongst others:
 * reliable syslog over TCP and SSL/TLS
 * on-demand disk buffering
 * email alerting
 * writing to MySQL or PostgreSQL databases (via separate output plugins)
 * permitted sender lists
 * filtering on any part of the syslog message
 * on-the-wire message compression
 * fine grained output format control
 * backup log destinations
It is quite compatible to stock sysklogd and can be used as a drop-in replacement. Its advanced features make it suitable for enterprise-class, encryption protected syslog relay chains while at the same time being very easy to setup for the novice user

samba
SMB/CIFS file, print, and login server for Unix 
Samba is an implementation of the SMB/CIFS protocol for Unix systems, providing support for cross-platform file and printer sharing with Microsoft Windows, OS X, and other Unix systems. Samba can also function as an NT4-style domain controller, and can integrate with both NT4 domains and Active Directory realms as a member server.
This package provides the components necessary to use Samba as a stand-alone file and print server. For use in an NT4 domain or Active Directory realm, you will also need the winbind package.
This package is not required for connecting to existing SMB/CIFS servers (see smbclient) or for mounting remote filesystems (see cifs-utils).

ssh
secure shell client and server (metapackage) 
This metapackage is a convenient way to install both the OpenSSH client and the OpenSSH server. It provides nothing in and of itself, so you may remove it if nothing depends on it.

sudo
Provide limited super user privileges to specific users 
Sudo is a program designed to allow a sysadmin to give limited root privileges to users and log root activity. The basic philosophy is to give as few privileges as possible but still allow people to get their work done.

udev
/dev/ and hotplug management daemon 
udev is a daemon which dynamically creates and removes device nodes from /dev/, handles hotplug events and loads drivers at boot time. 
x11-common 
X Window System (X.Org) infrastructure 
x11-common contains the filesystem infrastructure required for further installation of the X Window System in any configuration; it does not provide a full installation of clients, servers, libraries, and utilities required to run the X Window System.
A number of terms are used to refer to the X Window System, including "X", "X Version 11", "X11", "X11R6", and "X11R7". The version of X used in Debian is derived from the version released by the X.Org Foundation, and is thus often also referred to as "X.Org". All of the preceding quoted terms are functionally interchangeable in an Debian system.