====== 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
----