Say what the standard utilities task actually costs when it is cleared
tests / runner-env (confined) (pull_request) Failing after 1m6s
tests / tests (pull_request) Successful in 1m46s
tests / compose-schema (pull_request) Successful in 1m34s
tests / runner-env (privileged) (pull_request) Successful in 1m22s

Evidence from a host that could not manage any unit: dbus was never installed
on it. Its apt history begins at the bootstrap run, shows libdbus-1-3 and
python3-dbus arriving as automatic dependencies of other things, and contains
no record of dbus being removed. A second host built from the same runbook has
an installer-time line - tasksel running with Install-Recommends=true - that
names dbus explicitly. The difference is that the second one had "standard
system utilities" selected and the first did not.

So the earlier suspicion that `apt-get purge avahi-daemon` orphaned dbus and
something autoremoved it was wrong, and that line stays as it is.

The table already said to leave the task on. What it did not say is what
clearing it costs beyond sudo, and dbus is the entry that matters: systemctl
reaches the service manager over the system bus, so without it a host runs
indefinitely with systemd as PID 1, everything already started still running,
and every attempt to start, stop, enable or reload anything failing on the
bus. `systemctl disable <absent unit>` answers normally throughout, because a
unit-file lookup needs no bus, which is what makes the state so quiet.

That is now written down beside the task, with the note that
dejima-ci-bootstrap installs dbus and refuses to continue without a reachable
bus - a backstop for a VM already built this way, not a reason to clear the
task.

61 ok, 0 failed. Documentation only.
This commit is contained in:
Brad Anderson
2026-08-08 14:19:26 -07:00
parent 7776e59291
commit 775fdfb3ca
+16 -1
View File
@@ -114,12 +114,27 @@ next section assumes.
| Debian desktop environment (and any desktop under it) | **off** |
| web server | off |
| **SSH server** | **on** — this is how you reach the VM, and nothing here installs it later |
| **standard system utilities** | **on** — without it you have no `sudo` and very little else. It does *not* give you `git`; see §4 |
| **standard system utilities** | **on** — the one that quietly costs you the most if it is off; see below. It does *not* give you `git`; see §4 |
Leave SSH server *on*, even though `dejima-ci-bootstrap` configures sshd
later. Configuring is not installing: skip the task and the VM has no sshd to
configure and no way in except the Proxmox console.
**Leave standard system utilities on as well**, and be more careful about this
one than it looks. It is where `sudo` comes from, and also `dbus` — which
nothing here obviously needs until you notice that `systemctl` talks to the
service manager over the system bus. Without it, `systemctl disable <a unit
that does not exist>` still answers normally, because that is only a
unit-file lookup, while every command that starts, stops, enables or reloads
anything fails with `Failed to connect to system scope bus`. A host can run
for days in that state: systemd is PID 1 and everything already started keeps
running, so what you have is a machine whose services cannot be managed and
which reports nothing unusual until you try.
`dejima-ci-bootstrap` installs `dbus` itself and refuses to continue without a
reachable bus, so a VM built this way recovers by re-running it. That is a
backstop, not a reason to clear the task.
### Once the install has finished: give it a stable address
**The installer will not have asked you for one.** With a working DHCP server