| "A Unix daemon is a program that runs in the â??background,â? enabling you to do other work in the â??foreground,â? and is independent of control from a terminal. Daemons can either be started by a process, such as a system startup script, where there is no controlling terminal, or by a user at a terminal without â??tying upâ? that terminal " "The real-world (i.e., non-computer) definition of â??daemonâ? is either a spirit (an evil one) or an inner or private voice. Itâ??s interesting to note that each of the real-world definitions actually does apply to Unix daemon programs. Like mythological daemons, Unix daemon programs skulk around unseen in the background just as a daemon would. And daemons act like an inner voice in that they can run continuously and, like a conscience, can always be accessed. The word â??daemonâ? is one of those cases of chicken and egg computer acronyms in search of a definition and supposedly is based on " "The daemons referenced in /etc/init.d are configured to be run as Linux services. Services are programs that are started and stopped through the init scripts in the /etc/init.d directory. Many of these services are launched when the system is booted. The /sbin/service utility provides a consistent interface to executing the init scripts. The init scripts provide a consistent interface to managing a service by providing options that start, stop, restart, query status, and " "You can view the current state of all services with this option to the service utility:" "Runlevel information for these services, that is, the settings for which system runlevel the service will be started at boot time, can be queried and modified with the chkconfig utility. For example, to query the current settings for the syslog service:" "This shows that that syslog service will be automatically started at boot-time for runlevels 2, 3, 4, and 5. To set the service to not start for runlevels 3 and 4 (not a good idea, by the way), you would use these options for the chkconfig utility:" "The /usr/bin/system-config-services utility provides a GUI interface that enables you to both query and modify the current state of a service, as well as its defined run levels. See Illustration 1." "Let?s look at how these services and daemons appear in output from ps. Here?s a short list:" "What?s important to note here? (Other than I?m staying up too late at night, that is.) For each of the daemons, the parent process ID (PPID) is 1. This indicates that the daemons were started up during the boot process by init." "A useful tool for viewing the â??treeâ? of processes and their parents is â??pstree.â? Here?s a fragment of the output from pstree:" "So much for background information. Let?s take a look at your system?s daemons and see which ones you can safely play with. Note that for this article, the system used was running the Red Hat Enterprise Linux Beta 2 release, workstation configuration. Based on your specific system, you may see more or fewer daemons, or even some not included here." "We?ve listed web-sites where you can learn more about these daemons, but the best place to start learning is the manpage. O?Reilly also has " " and wikipedia.org has entries for most of these daemons. And, don?t forget to look in the README files." "This is the daemon for the Advanced Configuration and Power Interface (ACPI). ACPI is an open industry standard for system control related actions, most notably plug-and-play hardware recognition and power management, such as startup and shutdown and putting systems into low poser consumption modes." "You?ll probably never want to shut down this daemon, unless you are explicitly instructed to do so to debug a hardware problem." "One of the problems with living on a laptop, as so many of us do these days, is that when you set up a cron job to run, you can?t always be sure that your laptop will be running at the time that the job should run. anacron (the name refers to its being an â??anachronistic cronâ?) gets around this problem by scheduling tasks in days. For example, anacron will run a job if the job has not been run in the specified number of days." "When are you safe not running anacron? When your system is running continuously. Should you simply stop cron from running if you have anacron running? No; anacron is able to specify job intervals in days, not hours and seconds." "This is the daemon for the Advanced Power Management (APM) BIOS driver. The APM hardware standard and apmd are being replaced by ACPI and acpid. If your hardware supports ACPI, then you don?t need to run apmd." "This is the daemon for the at job processor (at enables you to run tasks at specified times). You can turn off this daemon if you don?t use it." "This daemon automatically mounts disks and file systems that you define in a configuration file. Using this daemon can be more convenient that explicitly mounting removable disks." "The Linux Auditing System provides kernel-resident logging of system calls and user space tools to collect and view the logs. The auditd daemon writes the logging records to disk. auditd is configurable to allow control over what information is written to the logs." "Why should you keep auditd running? The information in the log may prove useful in debugging security-related issues. For example, auditd is used to log SELinux events. There are also utilities such as aureport that enable you to view the audit log. Here?s an example of a report generated by aureport:" " defines Avahi as: ?a system which facilitates service discovery on a local network. This means that you can plug your laptop or computer into a network and instantly be able to view other people who you can chat with, find printers to print to, or find files being shared?? Avahi is a Zeroconf implementation. Zeroconf is an approach that enables users to create usable IP networks without having special configuration servers such as DNS servers." "A common use of the avahi-daemon is with Rhythmbox, so you can see music that is made available to be shared with others. If you?re not sharing music or files on your system, you can turn off this daemon." "The name says it all. Run this service to enable your system to make use of Bluetooth devices. The name of the actual daemon is hcid (Host Controller Interface Daemon)." "There?s also a daemon named hidd. This is the Bluetooth Human Interface Device Daemon. It provides keyboard, mouse, and track-ball device support over Bluetooth." "And, there?s pand. This daemon enables your computer to connect to ethernet networks using Bluetooth." "This daemon supports the Common ISDN Application Programming Interface. You?ll run this if you?re connecting to ISDN hardware components. The service runs capiinit." "No, this isn?t related to late-night infomercials about real estate investing. The conman service (and the conmand daemon) support console management. This supports multiple console devices and simultaneous users. It supports local serial devices and remote terminal servers (via the telnet protocol). If you?re managing multiple servers, you may want to run conman." "This daemon adjusts the CPU speed based on the power consumption. Less power is used when the CPU is idle, and more power is available when needed to improve performance. If you?re running on a laptop, you might want to consider running cpuspeed." "This daemon automates the running of tasks. These jobs are necessary for any Linux or Unix system. Don?t stop or disable this one." "This daemon is the â??Common UNIX Printing Solution.â? Like the name implies, it?s a printing system that can handle multiple data formats and printers. If you want to print, leave this daemon running." "D-Bus is a message bus system, a simple way for applications to talk to one another. In addition to interprocess communication, D-Bus helps coordinate process lifecycle; it makes it simple and reliable to code a ?single instance? application or daemon, and to launch applications and daemons on demand when their services are needed." "Do you want to run this daemon? If you?re running your system on a network (and who isn?t?), especially if you?re moving between networks such as when you move from a wired network to wireless as you move around your office, then you should be running NetworkManager. (We?ll discuss NetworkManager in a bit.)" "The dhcdbd daemon provides a D-Bus interface to dhclient, the DHCP client from ISC. This makes it possible for NetworkManager can to query and control dhclient." " file manager and on the console. You might find this useful if you?re working through situations in the console; otherwise, you?ll be working in the X windowing system and you might never need gpmd." "No, this isn?t related to the evil computer in the film â??2001, A Space Odyssey.â? In this context, HAL refers to the â??Hardware Abstraction Layer.â? The HAL daemon collects this information about hardware devices from the kernel and the hardware and makes it available in a consistent manner." "This daemon supports HP Linux Imaging and Printing (HPLIP) for printing, scanning, and faxing with HP inkjet and laser printers. HPLIP works CUPS by providing a backend to connect to HP devices." "This is the daemon for a Java relational database. The daemon gets its name from the " " project that has been discontinued. hsqldb is used widely in open source projects such as OpenOffice (it?s the database behind the â??baseâ? feature) and is often used in demonstration programs, as it can run entirely in memory. It also runs fast. Should you run this daemon? Only if you have a specific program that makes use of it. But, it?s a very useful tool, and if you?re not familiar with it, it?s worth taking a look." "The Apache web server. Used by almost 60% of all websites. If you want to host a website, you run Apache. Need we say more?" ", is an â??information technology (IT) security device which is configured to permit, deny or proxy data connections set and configured by the organization?s security policy. Firewalls can either be hardware and/or software based.â?" "iptables functions by maintaining tables of IPv4 packet filter rules in the kernel. It checks incoming and outgoing packets against these rules and blocks packets that don?t meet the rules. ip6tables does the same for IPv6 packets." "IrDA (Infrared Data Association) is an industry standard for inter-device wireless, infrared communications. Most laptops are configured with an IrDA infrared transceiver. You only need to run this daemon if you need to communicate via an infrared connection to other devices." "This daemon distributes hardware interrupts to the CPUs in SMP (symmetric processor: multi-processor architecture) systems to increase performance. The daemon balances savings in power consumption with performance." "You need not run this daemon on single processor systems, as it only has an effect on multiple-processor systems. Red Hat Kbase articles1 indicate that irqbalance is relevant on x86, x86_64, and AMD systems." "This is a very useful daemon. At boot time, it detects if hardware devices have been added to or removed from the the system. It??s worthwhile to run kudzu at boot time, even if you don?t plan on adding or removing hardware often. You might run into a situation where you add a device and just assume that the system will figure out that it?s there. Also, since kudzu only runs at boot time, and does not stay running, there?s no performance hit on the system." "This daemon gets its name from Lan Information Server. lisa provides a function similar to the MS-Windows Network Neighborhood and provides you access to servers, including CIFS (Common Internet File Systems) servers on your network. lisa only needs the TCP/IP stack to function. It sends ICMP echo requests to ranges of IP address that you define in its configuration file and waits for responses." "This daemon supports monitoring temperatures, voltages, and cooling fans. In order to make use of this daemon, your system hardware has to include sensors to perform this monitoring. You can only run this daemon if your hardware can support if. You probably don?t want to run this daemon on a workstation. It?s more likely to be used for hi-end, mission critical servers." "SELinux Context Translation System Daemon. This daemon translates security context informartion into a human readable form. You can probably stop this daemon, but if you do, you?ll see a change in the SELinux information displayed with ls -Z. For example, with the daemon running, you?ll see:" "Note that with the daemon stopped, the security context value of â??s0â? is displayed. mctrans translates this to a null display. Other security contexts are translated from alphanumeric values in their names." "These two daemons are used with RAID (redundant array of inexpensive/independent disks) data storage systems. Mdmonitor starts, stops, and reloads the mdadm (multipath device monitoring and management) software RAID monitoring and management utilities. You should only run these daemons if you have RAID storage in your system." "This is the D-BUS system-wide message bus daemon. This daemon broadcasts notifications of system events and such as changes in the printer queue or the adding and removing of devices. (Note that this is not the same operation as Kudzu, as it can take place while the system is running and not only at boot time.)" "These daemons configure Ethernet devices when cables are plugged in and deconfigure them when the cables are removes. Why would you ... read the whole article |