~/tutorials $
Linux server tutorials
Step-by-step tutorials for a Linux server: VPNs, web servers, databases, containers, security and backups. Each one names the distributions it was tested on.
12 of 45 tutorials in Linux basics
AlmaLinux vs Rocky Linux: which should you choose for a server?
AlmaLinux and Rocky Linux both rebuild Red Hat Enterprise Linux for free. What actually differs, which runs your software, and how to pick one in a minute.
Cron vs systemd timers: how to schedule jobs on Linux
Schedule a recurring job both ways, with a crontab line and with a systemd timer, and pick the right one for logging, missed runs and random delays.
How to create a sudo user and disable root login on Ubuntu and Debian
Add a normal user with sudo rights on Ubuntu or Debian, give it your SSH key, then stop root logging in over SSH without locking yourself out.
How to create a sudo user on AlmaLinux and Rocky Linux
Add a user to the wheel group on AlmaLinux or Rocky Linux, give it your SSH key with the right SELinux labels, and turn off root logins over SSH.
How to find what's using disk space on Linux and free it safely
Find what filled your server's disk with df, du and ncdu, then safely clean package caches, logs, old kernels and deleted files still held open.
How to read logs with journalctl
Find the log lines you need with journalctl, by service, time, priority and boot, keep logs across reboots, and cap how much disk the journal uses.
How to set the time zone, hostname and NTP on a Linux server
Set a server's time zone with timedatectl, give it a proper hostname, and keep its clock in sync with chrony or systemd-timesyncd, then check it really is.
Use curl and jq with the VPSNine API
Drive the VPSNine API from a shell with curl and jq: filter servers, take snapshots and wait for them, read errors, page invoices, edit the firewall.
How to troubleshoot high CPU and memory usage on a Linux server
Find the process behind high CPU or memory use with top, ps, vmstat and pidstat, read load average and steal time correctly, and spot the OOM killer.
How to upgrade Debian 12 (bookworm) to Debian 13 (trixie)
Upgrade a Debian 12 server to Debian 13 in place, the way the release notes describe, with a snapshot to fall back on and checks before and after.
How to upgrade Ubuntu 22.04 to 24.04 LTS safely
Upgrade an Ubuntu 22.04 server to 24.04 LTS in place with do-release-upgrade, with a snapshot first, a backup SSH port, and checks for what changes.
How to write a systemd service for your app
Run your own program as a systemd service that starts at boot, restarts when it crashes, runs as its own user, reads an env file and is sandboxed.