RedHat RHEL/CentOS 7 Service Start Up Changes

RHEL/CentOS 7 Has A New Initialisation Daemon

The init daemon is the initialisation daemon first implemented in System V UNIX systems and has been around for over 40 years!

RedHat’s RHEL 7 and CentOS 7 introduces a replacement for init called systemd.

Startup & Run Levels

RHEL 6 (and CentOS 6) supported SysV init and Upstart with start and kill scripts created as links to scripts in /etc/rc.d/init.d scripts in the appropriate run level directory e.g. /etc/rc2.d.

RHEL 7 (and CentOS 7) implements system and service units, managed with the systemctl command.

The service command can still be used to bring services up and down as in RHEL and earlier, but is only provided in RHEL 7 for backwards compatibility.

  

service Command (6) systemctl Command (7) Description

service name start

systemctl start name.service

Starts a service.

service name stop

systemctl stop name.service

Stops a service.

service name restart

systemctl restart name.service

Restarts a service.

service name cond restart

systemctl try-restart name.service

Restarts a service only if it is running.

service name reload

systemctl reload name.service

Reloads configuration.

service name status

systemctl status name.service, systemctl is-active name.service

Checks if a service is running.

service --status-all

systemctl list-units –type service –all

Displays the status of all services. 

 

Changing Run Levels

The traditional init based systems implement run levels. The new systemd based systems work with targets.

Run Level (6) Target (7) Description

0 runlevel

0. target, poweroff.target

Shut down and power off the system.

1 runlevel

1. target, rescue.target

Set up a rescue shell.

2 runlevel

2.target, multi-user.target

Set up a non-graphical multi-user system.

3 runlevel

3. target, multi-user.target

Set up a non-graphical multi-user system.

4 runlevel

4 .target, multi-user.target

Set up a non-graphical multi-user system.

5 runlevel

5.target, graphical.target

Set up a graphical multi-user system.

6 runlevel

6.target, reboot.target

Shut down and reboot the system.

 

Shortcut Commands To Change Run Levels and Targets

The following commands are quick ways to change the run level or target of a Linux system.

Command(6) Command(7) Description

halt

systemctl halt

Halts the system.

poweroff

systemctl poweroff

Powers off the system.

reboot

systemctl reboot

Restarts the system.

pm-suspend

systemctl suspend

Suspends the system.

pm-hibernate

systemctl hibernate

Hibernates the system.

pm-suspend -hybrid

systemctl hybrid-sleep

Hibernates and suspends the system.

 

Working With Targets

Check the Default Run Level or Target

For init based systems the default run level is defined through an entry in the /etc/inittab file. The line with a label initdefault defines the run level the system will boot to by default.

The new systemd based systems use the systemctl command to set and check the default target to boot to.

systemctl – get-default

List the Active Targets

systemctl list-units –type target

Change the Default Target

systemctl set-default multi-user.target

 

If you have any questions about Linux email us at info@ptr.co.uk and we would be happy to help, or if you would like to learn more about Linux take a look at our Linux courses and UNIX courses.

Share this post