The primary job of a Linux server system is to offer services to local or remote users. A server can provide access to web pages, files, database information, streaming music, or other types of content. Name servers can provide access to lists of host computer or usernames. Hundreds of these and other types of services can be configured on your Linux systems.
Ongoing services offered by a Linux system, such as access to a printer service or login service, are typically implemented by what is referred to as a daemon process. Most Linux systems have a method of managing each daemon process as a service using one of several popular initialization systems (also referred to as init systems). Advantages of using init systems include the ability to do the following:
- Identify runlevels: Put together sets of services in what are referred to as runlevels or targets.
- Establish dependencies: Set service dependencies so, for example, a service that requires network interfaces won't start until all network startup services have started successfully.
- Set the default runlevel: Select which runlevel or target starts up when the system boots (a default runlevel).
- Manage services: Run commands that tell individual services to start, stop, pause, restart, ...