linux-labs

Start a lab. Do the task. Get graded.

118 hands-on labs for Rocky Linux and RHEL 8 and 9, from files and users to SELinux, storage and clustering. One command installs everything.

curl -fsSL https://matej-basic.github.io/linux-labs/install | sudo bash

Rocky Linux, RHEL or AlmaLinux 8 or 9 · a user with sudo · internet access

$ sudo labctl start files-04
files-04: Brace expansion and file organisation
Category: Files    Level: Beginner
========================================================================

OBJECTIVE
  Create many files with brace expansion and sort them into a
  directory tree by name.
...

$ labctl grade files-04
Grading files-04 on workstation

Directory /srv/archive exists ..................................... PASS
All 12 <type>/<month> directories exist ........................... PASS
All 108 files are in their <type>/<month> directory ............... FAIL
No loose files in /srv/archive or the type directories ............ FAIL
No extra files or directories in /srv/archive ..................... FAIL
Everything in /srv/archive is owned by student .................... PASS

Overall result .................................................... FAIL
3 of 6 criteria met.
  1. 1. Listlabctl list
  2. 2. Startsudo labctl start files-01
  3. 3. Gradelabctl grade files-01
  4. 4. Resetsudo labctl reset files-01
Install by hand instead

These three commands do the same as the install script: add the dnf repository, import the signing key and install the package.

sudo curl -fsSL -o /etc/yum.repos.d/linux-labs.repo https://matej-basic.github.io/linux-labs/linux-labs.repo
sudo rpm --import https://matej-basic.github.io/linux-labs/RPM-GPG-KEY-linux-labs
sudo dnf install linux-labs