Change default runlevel in CentOS 7

[Total: 3    Average: 5/5]

In CentOS 7 systemd uses “targets” instead of run-levels. /etc/inittab is no more used by systemd to change the run levels. This guide will help you to set up default runlevel in CentOS 7.

Lets check the current run level by using the following command.

systemctl get-default
     runlevel5.target

Before changing the default runlevel, we have to check out the available targets

# systemctl list-units --type=target

Output will look like below

UNIT                LOAD   ACTIVE SUB    DESCRIPTION
basic.target        loaded active active Basic System
cryptsetup.target   loaded active active Encrypted Volumes
getty.target        loaded active active Login Prompts
graphical.target    loaded active active Graphical Interface
local-fs-pre.target loaded active active Local File Systems (Pre)
local-fs.target     loaded active active Local File Systems
multi-user.target   loaded active active Multi-User System
network.target      loaded active active Network
nfs.target          loaded active active Network File System Server
paths.target        loaded active active Paths
remote-fs.target    loaded active active Remote File Systems
slices.target       loaded active active Slices
sockets.target      loaded active active Sockets
swap.target         loaded active active Swap
sysinit.target      loaded active active System Initialization
timers.target       loaded active active Timers
 
LOAD   = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB    = The low-level unit activation state, values depend on unit type

Change default to runlevel 3 (nothing but a multi-user.target).

# systemctl set-default multi-user.target

Confirm the default runlevel.

# systemctl get-default
       multi-user.target

Reboot and check it out.

# reboot