· about 30 minutes · runs on rocky-10 · unrated
An unrated lab. It runs on your machine with no account and no network, and everything about it — the faults, the checks, the hints and the reference solution — is in the repository. An attempt on it is recorded on your profile and never moves a rating: only rated labs do. Rated and unrated labs.
The internal inventory API answers on port 8081 (curl localhost:8081/health). Its
config is prepared at boot by a helper unit, config-sync.
What people report:
systemctl start on its unit fails.What is expected, and graded:
inventory-api.service runs after every boot without anyone touching it, and /health answers.multi-user.target.config-sync.service — the ordering alone is not enough.You have root through sudo. Everything must still hold after a reboot.
The machine is checked, rebooted, and checked again. A check passes only if it passes both times.
| Check | Objective |
|---|---|
| 01_api_running_after_boot | Start and stop services; configure automatic startup |
| 02_default_target_multi_user | Configure systems to boot into specific targets automatically |
| 03_no_masked_units | Start and stop services; configure automatic startup |
| 04_config_sync_pulled_in | Start and stop services; configure automatic startup |
| 05_execstart_is_valid | Locate and interpret system log files and journals |
Where the lab's hints send you, level by level, as you ask for them (h, then l opens a journal section in the TUI).
man 1 systemctlman 7 systemd.specialman 5 systemd.unit4 questions on the same topic, in the lab's Theory tab. They never affect the lab's grade. Three of them, to answer here:
Unit A has `After=B.service` and nothing else about B. What happens when A starts at boot?
B is not started because of A; if something else starts B, A waits for it
After= is ordering only. Pulling B in needs Wants= (or Requires= to fail with it). Ordering and requirement are independent in systemd.
man 5 systemd.unit
What does `systemctl mask foo.service` do?
Links the unit to /dev/null so it cannot be started at all, even manually
A mask is a symlink to /dev/null in /etc/systemd/system; any start, including as a dependency, fails. disable only removes the install symlinks. unmask reverses a mask.
man 1 systemctl
Which command shows a unit's effective definition, including every drop-in?
systemctl cat unit
systemctl cat prints the unit file and each drop-in with its path, in the order systemd applies them. The vendor file alone misses overrides.
man 1 systemctl