Icecafe’s Weblog

Whatever we want…

Managing Services in Fedora

Posted by icecafe on March 17, 2008

Introduction

This guide is to show how to control services in Fedora Core linux. Explanations included are services, runlevels, setting services, and controlling services.


Service

A service (often called a daemon) is a specific application that runs in the background and is usually non-interactive. They can be used for anything, including hardware, network access, monitoring, logging, etc. All operating systems use some set of services to automate actions.


Runlevel

A runlevel is a mode of operation that is used to group certain sets of daemons based on some purpose or restricted use. For the Fedora/Redhat based Linux systems, the primary runlevels in Fedora are:

  • runlevel 1: Single-User Mode
  • runlevel 2: Multi-User Mode
  • runlevel 3: Multi-User Mode with Networking
  • runlevel 5: X11 (runlevel 3 + X Window System “the GUI”).

Typically most users run with the X-server in runlevel 5, and many servers without X-servers run in runlevel 3. Usually runlevel 1 has no services running.

To determine what runlevel you are using, run:

# /sbin/runlevel

To determing what runlevel your system will start at the next boot, run:

# cat /etc/inittab | grep :initdefault:
id:5:initdefault:

Similarily you can edit the file /etc/inittab and change the initdefault value at line ~18.

To switch runlevels, you can run the following, replace RUNLEVEL with the appropriate number (3, 5, etc.):

# /sbin/init RUNLEVEL

Note: When switching FROM runlevel 5 to another runlevel, you might accidentally kill your X-server and entire GUI. Always make sure you are at a text console (CTRL-ALT-F1,F2,F3,F4) before switching runlevels.

To force a runlevel at boot without modifying /etc/inittab, you pass a number to end of the kernel from the Grub menu. At boot, higlight the option you wish to boot and before hitting <Enter>, hit <E>. Go to the end of the kernel line and add a 3 or 5. Then hit <Enter> and boot (<B> to boot).


Enable/Disabling Services

Every service must be set to either be “On” (enabled) or “Off” (disabled) for every runlevel.

To see what services are enabled for each runlevel, run:

# /sbin/chkconfig --list

To control which services are enabled for a runlevel, run system-config-services in the GUI or ntsysv at the command line. (Previous Fedora releases may have serviceconf instead of system-config-services).

To manually enable a specific service use chkconfig. The following command turns crond daemon for both runlevel 3 *AND* 5.

# /sbin/chkconfig --level 35 crond on

The --level could be 1, 2, 3, 4, 5 or any combination of the numbers. The on option can also be off. Running man chkconfig is useful.


Controlling Services

Regardless of how a service is enabled a runlevel or if it is defaulted to “On” or “Off”, every service can be started or stopped and managed at runtime.

To see what services you have running run:

# /sbin/service --status-all

To individually control a single service, use service. For example:

# /sbin/service crond status
crond (pid 1604) is running...

The status option can be replace with start, stop, status, reload, restart and sometimes other options also. For example:

[root@charon ~]# service crond
Usage: /etc/init.d/crond {start|stop|status|reload|restart|condrestart}
[root@charon ~]# service crond stop
Stopping crond:                                            [  OK  ]
[root@charon ~]# service crond start
Starting crond:                                            [  OK  ]
[root@charon ~]# service crond restart
Stopping crond:                                            [  OK  ]
Starting crond:                                            [  OK  ]

All services located in the directory: /etc/init.d/ can be controlled this way. An alternate form of control would be:

# /etc/init.d/crond status

Virtually all of the above functionality. Is available through the GUI, using system-config-services. However there are times when problems with the GUI (X-server) may prevent you from controlling your services. Hence understanding the commands are very helpful.

< Mauriat Miranda (http://www.mjmwired.net/contact/) >

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

 
%d bloggers like this: