Changing `systemd` targets isn’t something that will come up too often, but knowing how to manipulate and understand a target unit file can be a useful skill. In this lab, we practice with `systemd` targets without risking a production failure.
Learning Objectives
Successfully complete this lab by achieving the following learning objectives:
- Verify the Default Target
First we need to see what the current default target is. We can do that by running:
systemctl get-default
Since
graphical.target
isn’t what we need, let’s set it to what it should be and then make sure we’re in that target.systemctl set-default multi-user.target
systemctl isolate multi-user.target
- Create `custom.target`
Since this is a new server in your environment, you need to make sure
custom.target
is set up.Navigate to
/etc/systemd/system
and create a file that looks like this:[Unit] Description=Custom Target Documentation=man:systemd.special(7) Requires=basic.target Wants=httpd.service Conflicts=rescue.service rescue.target After=basic.target rescue.service rescue.target AllowIsolate=yes
Once that is done, you should be able to run
systemctl isolate custom.target
. Check to see ifhttpd
is running after the isolate — if it’s not, you might need to install it and run theisolate
again to verify your configuration is correct.