🎯 About this course
You can already use the command line. This course teaches you to run a server: who is on it, what runs, where the data lives, how it is backed up, how it is kept up to date, and what it tells you in its logs. Every exercise names who needs it and why, uses a simulated machine that behaves like the real one, and ends with a check of the effective state rather than the file you meant to edit.
By the end you will be able to
- Create, change, lock and remove accounts and groups, build shared folders that stay shared, and read an account line.
- Write narrow sudo rules for single jobs, check them with visudo and sudo -l, and handle password ageing and a leaver.
- Use systemctl to start, stop, enable and read the state of services, and find the cause of a failed start in the status and the journal.
- Write a unit file and a timer, choose a boot target, and say what runs at start and why.
- Configure a disk: partition, format, label and mount it, make the mount permanent in /etc/fstab with a UUID, and test it with mount -a.
- Measure what is filling a disk with df, du and find, clean up safely, and back up, prune and restore with tar and rsync.
- Plan updates with holds and reboots, install, find and remove packages, and keep a change record.
- Analyse the logs and the journal with four questions, rotate logs with logrotate, and keep the journal in bounds.