Boot Systems Into Different Targets Manually
General Information
There are no longer runlevels; systemd uses “targets”.
Systemd Units
Unit configuration file locations
- /usr/lib/systemd/system ⇒ system unit configuration files (default with system)
- /etc/systemd/system ⇒ additional configuration files (downloaded or custom)
Show available unit types
systemctl -t help
Systemd Targets
Some common targets
- poweroff.target ⇒ power off the system
- emergency.target ⇒ single user (root), root file system mounted, do not mount any other file systems, no network services.
- Used if the system cannot be repaired in rescue.target
- rescue.target ⇒ single user environment (root), mount local file systems, with minimum services loaded, no network services.
- multi-user.target ⇒ Multi-user non-graphical, with all file systems and networking
- graphical.target ⇒ GUI environment, multi-user, with all file systems and networking
- reboot.target ⇒ reboot the system
What targets are currently active?
systemctl -t target
- Look for either emergency, rescue, multi-user, or graphical.
- Note: If you are in the graphical target, multi-user will also be active, since multi-user is a dependency of graphical.
Current default target
systemctl get-default
Set default to graphical target
systemctl set-default graphical.target
List loaded unit files (systemctl) of type target (–type=target) whether they are active or not (–all)
systemctl --type=target --all
- systemctl list-units ⇒ “list-units” is the default command to systemctl if none specified
- –type=target ⇒ show loaded, active units of the target type
- –all ⇒ show all loaded unit files, even if they are not active
List all installed unit files on the system
systemctl list-unit-files
View a target's dependencies
systemctl list-dependencies multi-user.target
- List what will start upon entering multi-user.target
Move from graphical target to multi-user (command prompt)
systemctl isolate multi-user.target
- Stops all GUI services, goes to command line login prompt
Other Systemctl Commands
Note: By default, systemctl commands will only show the active configuration files unless you pass the “–all” option
- systemctl –type=service ⇒ list all loaded and active only service unit config files
- systemctl –type=service –all ⇒ list all loaded and active or inactive units
- systemctl is-active servicename ⇒ check if service is active or inactive
- systemctl is-enabled servicename ⇒ check if service is enabled or disabled
- systemctl –failed –type=service ⇒ list all failed services
- systemctl list-unit-files –type=service ⇒ view enabled and disabled settings for all units installed on the OS of the service type
Boot to rescue mode
To boot to something other than the default target, such as the rescue target, during boot:
- Interrupt boot process at grub menu
- Press “e” to edit the boot entry
- Navigate to the “linux16” kernel entry
- Append “systemd.unit=rescue.target”
- Ctrl+x to continue boot process