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