EX200 Deploy, configure, and maintain systems Practice Question
Which two commands correctly set the system to boot into a multi-user target (runlevel 3)?
⚠ Common exam trap
Many exam-takers confuse `systemctl set-default` with `systemctl enable` or use incorrect target names like `runlevel3.target`, which does not exist in systemd; the correct target is `multi-user.target`.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
systemctl set-default multi-user.target
Option C, `systemctl set-default multi-user.target`, is correct because it changes the default boot target by creating the symlink `/etc/systemd/system/default.target` pointing to `multi-user.target`, which is the systemd equivalent of runlevel 3. Option D, `ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target`, is correct because it manually performs the same action that `systemctl set-default` does, replacing the default.target symlink so the system boots into the multi-user target. Option A is wrong because `systemctl enable multi-user.target` only enables the unit to start at boot; it does not change the default boot target. Option B is wrong because `systemctl default multi-user` is not a valid command syntax. Option E is wrong because `runlevel3.target` is not a valid systemd target name; the correct target is `multi-user.target`.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
systemctl enable multi-user.target
Why it's wrong here
systemctl enable is used to enable service units by creating dependency symlinks in .wants directories, not to change the default boot target. When applied to a .target, it would only arrange for that target to be pulled in under certain conditions, but it does not modify the /etc/systemd/system/default.target symlink. To set the boot target, you must use systemctl set-default or manually replace that symlink.
- ✗
systemctl default multi-user
Why it's wrong here
systemctl does not have a 'default' verb; the correct subcommand is 'set-default'. Additionally, systemctl typically requires the full unit name with its .target suffix when you are setting the default, so 'multi-user' alone may not resolve correctly. Running this command would produce an 'Unknown operation' error or a similar failure, not a valid change.
- ✓
systemctl set-default multi-user.target
Why this is correct
systemctl set-default multi-user.target is the canonical way to set the boot target to the text-mode multi-user environment. This command carefully creates or updates the /etc/systemd/system/default.target symlink to point to /lib/systemd/system/multi-user.target, which systemd reads at startup to determine the initial target. It is the recommended replacement for the SysVinit 'init 3' or modifying inittab.
- ✓
ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
Why this is correct
This command manually performs the same action as systemctl set-default multi-user.target by creating a symlink at /etc/systemd/system/default.target pointing to multi-user.target. The -f flag forces replacement of any existing default.target symlink, and -s creates a symbolic link, which matches what systemd expects. Since systemd checks this path at boot, the new target will be applied on the next startup.
- ✗
systemctl set-default runlevel3.target
Why it's wrong here
runlevel3.target is a legacy compatibility symlink that traditionally pointed to multi-user.target, but systemctl set-default is designed to work with canonical target units, not runlevel aliases. The official RHEL systemd documentation lists multi-user.target as the correct target for a non-graphical multi-user boot, and using a runlevel name is an outdated SysVinit convention. Therefore, this command is not a valid way to set the default boot target and may fail or be unsupported.
Go deeper
Related to this question
About these practice questions
Courseiva writes every EX200 question from scratch — 427 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This EX200 practice question is part of Courseiva's free Red Hat certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the EX200 exam.