Exercise 1: "systemctl: command not found" on a Remote Machine — Possible Solution ==================================================================== THE MOST LIKELY CAUSE ------------------------------ Per this chapter's own warn-box, "running systemctl status against an Alpine machine doesn't fail with a helpful redirect to the right tool - systemctl simply isn't present at all, since Alpine runs OpenRC." The most likely explanation for the "command not found" error is that the remote machine is running Alpine (or another OpenRC-based system) rather than one of the three systemd-based families this course covers - systemd, and therefore systemctl, was never installed on it in the first place. WHY THIS PRODUCES "COMMAND NOT FOUND" RATHER THAN A HELPFUL MESSAGE ------------------------------ Per this chapter, this is "the exact same category of mistake Chapter 1 already warned about for package managers - assuming a near-universal default is a true universal, and getting caught out on the one real exception." Just as an apt command fails outright on a non-Debian- family system rather than suggesting pacman or apk, systemctl fails outright on an OpenRC system rather than suggesting the correct equivalent tool - there's no cross-init-system compatibility layer translating the request. THE CORRECT ALTERNATIVE COMMANDS ------------------------------ Per this chapter, "the equivalent commands are rc-status and rc- service." rc-status would show the current state of services (the OpenRC equivalent of systemctl status's own service-overview function), and rc-service would be used to check, start, or stop a specific service directly - the OpenRC-native tools performing the same practical job systemctl performs under systemd. WHY THIS IS WORTH RECOGNIZING AS A PATTERN, NOT A ONE-OFF SURPRISE ------------------------------ Given that three of this course's four families use systemd, assuming every machine does is an easy, understandable mistake - but per this chapter, it's specifically the kind of assumption this whole course exists to catch, since Alpine remains a real, still-used exception rather than a historical curiosity. WHY THIS WORKS AS AN ANSWER ------------------------------ It identifies Alpine's own OpenRC-based init system as the likely cause using this chapter's own warn-box, explains why the failure mode is an outright command-not-found rather than a helpful redirect, and names the specific correct alternative tools this chapter provides.