Start a systemd Service on the First Connection (TCP Socket Edition)
Configure systemd to keep a TCP port open at all times while starting the backing service process only when the first connection arrives.
Focused hands-on problems designed to help you hone your DevOps or Server Side skills. Some challenges are more educational, while others are based on real-world scenarios. The platform provides hints and feedback for each challenge, including automated solution checks.
Configure systemd to keep a TCP port open at all times while starting the backing service process only when the first connection arrives.
Configure systemd to keep a Unix domain socket open at all times while starting the backing service process only when the first connection arrives.
Make a single echo server listen on either a TCP socket or a Unix domain socket, selected by its command-line argument. The challenge illustrates that the same stream-socket workflow works with two address families (AF_INET and AF_UNIX).
Write a TCP client to hold a back-and-forth conversation with a "chat" server: send a line, read the reply, send another line - repeat until the session is over. A hands-on lesson in designing an application protocol on top of a byte-oriented TCP stream.
Write your first TCP client for a push-only telemetry server that starts sending sensor readings as soon as you connect. Likely the easiest way to get started with TCP socket programming.
The Hello World of network programming: implement a tiny TCP echo server in the language of your choice.
A systemd-managed worker process starts cleanly, prints a few heartbeat lines, then silently vanishes - over and over again. Diagnose why the process keeps dying and stabilize the service.
An image conversion daemon was installed from a vendor package, but it fails to start. Diagnose why the binary cannot be loaded and fix the installation.
A system daemon crashes on startup with a cryptic, non-actionable error message. Investigate the failure, identify its root cause, and get the service running.
Practice extracting a container-style rootfs tarball while preserving the original file permissions, ownership, and extended attributes (including Linux capabilities).