CloudSprocketLabs
Menu

Linux Server Rescue

From a clean machine to your first incident

Use Codespaces for the quickest start, or run the same lab locally with Git and Docker. You choose Ubuntu, Debian or Rocky Linux before anything starts.

Path 01

Launch in GitHub Codespaces

This route requests at least 2 CPU cores, 8 GB of memory and 32 GB of storage with a dedicated Docker daemon. It checks the setup but does not download or start a lab image until you choose a distribution.

  1. 1. Open the Codespace.
  2. 2. Wait for the terminal readiness check.
  3. 3. Run the first command block below.
  4. 4. Keep port 8100 private.

Path 02

Run it on your machine

Install Git, Docker Engine or Docker Desktop, Docker Compose 2.20 or later, and leave about 3 GB of disk space for the selected image and build layers.

The real systemd target requires a privileged container. It does not mount your home directory, host filesystem, SSH keys or Docker socket, but it is not a security boundary.

Read the safety details →

Local setup

Clone, check, then choose a target

doctor checks Docker, Compose, free disk space, port 8100 and stale lab state before the build begins.

bash · macOS or Linux
git clone https://github.com/Ali-Shaikh/linux-server-rescue-practical-lab.git
cd linux-server-rescue-practical-lab
./lab doctor
./lab up ubuntu
./lab drills
PowerShell · Windows
git clone https://github.com/Ali-Shaikh/linux-server-rescue-practical-lab.git
Set-Location linux-server-rescue-practical-lab
.\lab.ps1 doctor
.\lab.ps1 up ubuntu
.\lab.ps1 drills

Replace ubuntu with debian or rocky. Run ./lab down before switching distributions. ./lab distroslists the current matrix without starting Docker. Down preserves the active incident for that distribution, so starting it again resumes the fault. Reset removes that saved state and rebuilds a healthy lab.

First incident

Repair the service that will not stay up

Incident 01 begins with a restart loop. Read drills/01-service-failure.md, enter the server and follow the evidence. The incident file contains ordered hints when you need them.

bash
./lab break 01
./lab shell
exit
./lab verify 01
PowerShell
.\lab.ps1 break 01
.\lab.ps1 shell
exit
.\lab.ps1 verify 01

Verification only inspects the outcome. Run ./lab reset or.\lab.ps1 reset to remove drill state and rebuild a clean, healthy server. The same lifecycle applies to all thirteen incidents.

Know the method before the commands

The introduction explains how to stabilise, observe, narrow, repair and prove a Linux incident without guessing your way through a command list.