Exercise 1: A Complete backup-agent Unit File — Possible Solution ==================================================================== [Unit] Description=Backup Agent Service After=network.target [Service] Type=simple ExecStart=/opt/backup/agent Restart=on-failure RestartSec=10 [Install] WantedBy=multi-user.target Explanation: This follows the chapter's own worked example structure exactly, with values matching the exercise's own specific requirements. Type=simple is the correct, default choice here since nothing in the exercise description suggests this is a forking daemon, a one-shot command, or an application supporting sd_notify -- it's described as a normal long-running agent process, exactly what Type=simple is for. ExecStart=/opt/backup/agent uses the exact absolute path specified in the exercise, required per the chapter's own warning that no shell PATH lookup happens for this field. Restart=on-failure and RestartSec=10 together implement "restarts automatically on failure after a 10-second delay" precisely as the exercise requests. After= network.target implements "starts after the network is up," matching the chapter's own [Unit]-section After= preview. WantedBy= multi-user.target is included in [Install] so the service can actually be enabled to start at boot, following the chapter's own complete worked example rather than omitting it. WHY THIS WORKS AS AN ANSWER ------------------------------ This builds a complete, correctly structured unit file matching every specific requirement in the exercise (restart-on-failure, 10-second delay, after-network ordering), using the chapter's own field names and syntax exactly.