Low Orbit Flux Logo 2 F

How To Change Current/Default Runlevel in CentOS 8 / RHEL 8

RedHat systems no longer use actual run levels. They now use targets which are managed by systemd. This has been the case since RHEL7 / CentOS7. This continues to be the case with RHEL8.

Thse are the targets ( runlevels ):

Runlevel Target Units Description
0 runlevel0.target / poweroff.target Power off the system
1 runlevel1.target / rescue.target Single User mode
2 runlevel2.target / multi-user.target multi-user mode
3 runlevel3.target / multi-user.target multi-user mode
4 runlevel4.target / multi-user.target multi-user mode
5 runlevel5.target / graphical.target Graphical mode
6 runlevel6.target / reboot.target Reboot the system

You can show the current default runlevel/target with this command:

systemctl get-default

You can change it like this:

systemctl set-default multi-user.target

Reboot the system:


Verify that the target has in fact changed:

systemctl get-default

If you just want to change the current runlevel on they fly, without making a config change, just run one of these commands:

systemctl isolate multi-user.target
systemctl isolate graphical.target