Whenever your Linux system boots up, certain daemons(equivalent of windows services) are loaded into the memory in background. These daemons provide certain functionalities & launch certain applications in some events. Daemons run in background all the time from bootup & get into action when a particular event happens on a system.
For E.g. You plug a pendrive in your computer & after a few seconds you see a nautilus window with the pendrive contents. This is due to the “HAL Daemon” which monitors the hardware & once it detects the new hardware i.e. pendrive in our case it reports to the GNOME about it & simultaneously mounts it & launches Nautilus. HAL is a critical daemon in a Linux system but not all others are & so we must disable them. Disabling unwanted daemons helps in freeding up valuable memory resources & also helps in making the boot faster. Some daemons when kept running also open up potential loopholes for hackers to exploit.
How to disable daemons?
Daemons can be disabled via CLI(Command Line Interface) or via GUI frontends to the command line interface. For the sake of beginner friendly, I will describe with a GUI frontend. On a Fedora system, you will need to install the “system-config-services” package before you can start with disabling services. It can be done via,
yum install system-config-services
Once you’re done installing the package, execute it via
You should see a window listed with several daemons. Now its just a matter of finding the particular daemon & then hitting the STOP(if daemon is already running) button & DISABLE button so that the daemon is not started on next reboot. I have done all the hardwork for you & below is a list of daemons which most of the users won’t ever need. Following are the unessential daemons under a Fedora Linux system. I recommend not to fiddle with daemons which you are not sure about as it can cause your system to behave improperly. If you’re not sure about any daemon, it is better to leave it alone!
> abrtd – Manages application crashes.
> Bluetooth – Triggers Bluetooth on start-up. Not needed if you do not use any bluetooth devices.
> CUPS – If you do not use a printer then there is no need to keep CUPS running.
> cpuspeed – Throttles the CPU speed according to the system load. Upon disabling the CPU will run at its max speed.
> httpd – Manages the apache server. Not required for home users other than those who run applications which require apache server.
> iptables/ip6tables – Relates with the inbuilt firewall. Not needed for the casual net surfers or in a home environment. Disable it.
> irda – Disable unless you plan to use infrared devices.
> mdmonitor – For Software RAID arrays. If you do not have RAID arrays configured then this should be disabled.
> mysdld – Manages the MySQL database server. Not needed unless you want to use an application which requires MySQL.
> microcode_cti – Only for Intel CPU’s. If you have an AMD or other CPU then disable as it is not compatible with AMD CPU’s.
> netfs – This daemon manages the mounting & unmounting of filesystems on remote networks like Network file System(NFS), Samba & Netware(NCP). Not needed unless you connect & share data across other computers on network.
> netconsole – Not needed for home user. It provides functionality for logging & debugging on network systems.
> ntpd – Syncronises time on computer with one on remote NTP server. Not needed. Disable it.
> pppoe-server – pppoe-server is a user-space server for PPPoE (Point-to-Point Protocol over Ethernet) for Linux and other UNIX systems. not needed for home user.
> psacct – Monitors several utilities. Not needed.
> rsyslog – Not needed for home user. It handles logging in server environments. Disable it.
> saslauthd – Handles SASL plaintext authentication requests & is only needed for a server which communicates with SASL mechanisms. Safe to disable.
> sendmail – Not required for home users.
> smolt – Gathers info about your fedora system & sends them to Fedora developers on a monthly basis. If you do not want to send, disable this.
> sshd – You can disable this service if you do not wish to login to this computer from another computer(remote logins). You should disable if you do not wish to use remote login as this opens up a potential loophole in your system.
> wpa_supplicant – Not needed unless you use a wireless card that requires PWA encryption to connect to Acess Point or to virtual private network.
> zvbid – Proxy daemon to share v4l vbl device between applications. Not needed in home environment
Once you’re done disabling unwanted daemons, reboot. You should now have a snappy startup alongwith memory increments. Do post any other daemons which you feel are unnecessary & which are not included in the above list. I would then merge them in the above list.