$linuxjunkies
>

Linux guides

235 guides · intermediate.

Desktop & Daily Use· 9 min read

XWayland: A Survival Guide

XWayland bridges X11 apps to your Wayland desktop. Learn how it works, fix blurry windows and clipboard issues, and set the right environment variables.

IntermediateUbuntuDebianFedoraArch
Desktop & Daily Use· 11 min read

Wayland vs X11: A Deep Dive

A practical deep dive into Wayland vs X11: architecture, security isolation, frame latency, what still needs XWayland, and how to manage mixed sessions.

IntermediateUbuntuDebianFedoraArch
Desktop & Daily Use· 8 min read

Get Screen Sharing to Work on Wayland

Fix Wayland screen sharing for browsers, OBS, and video calls by correctly setting up PipeWire, xdg-desktop-portal, and compositor-specific backends.

IntermediateUbuntuDebianFedoraArch
Desktop & Daily Use· 9 min read

XDG Desktop Portals Explained

Learn what XDG Desktop Portals do, how to install the right backend for GNOME, KDE, or wlroots, and how to fix common screen sharing and file picker failures.

IntermediateUbuntuDebianFedoraArch
Performance & Advanced· 9 min read

Use PlatformIO for Embedded Development

Install PlatformIO on Linux, integrate it with VS Code, choose between Arduino and ESP-IDF frameworks, run on-device unit tests, and attach a hardware debugger.

IntermediateUbuntuDebianFedoraArch
Command Line· 8 min read

Listen to Music in the Terminal with MPD + ncmpcpp

Set up MPD as a per-user systemd service, configure ncmpcpp with a spectrum visualiser, and control playback from the terminal on any Linux distro.

IntermediateUbuntuDebianFedoraArch
Command Line· 9 min read

Use mise for Tools, Tasks and Env Vars

Replace asdf, direnv, and task runners with a single mise binary. Covers installation, tool versioning, env vars, tasks, and secrets via sops.

IntermediateUbuntuDebianFedoraArch
Server Setup· 10 min read

Use ESPHome to Build Smart Devices

Install ESPHome on Linux, write YAML configs with a secrets file, flash ESP32/ESP8266 over USB and OTA, then integrate live sensor data into Home Assistant.

IntermediateUbuntuDebianFedoraArch
Desktop & Daily Use· 9 min read

Try the COSMIC Desktop from System76

Install COSMIC Desktop from System76 on Pop!_OS 24.04 Alpha or Fedora, configure tiling and panels, and know what to expect from this Rust-built alpha DE.

IntermediateUbuntuDebianFedoraArch
Command Line· 9 min read

True Color, Image Protocols and Modern Terminal Features

Configure TERM, COLORTERM, sixel, Kitty graphics, and iTerm2 inline image protocols correctly across Kitty, WezTerm, foot, Alacritty, and tmux.

IntermediateUbuntuDebianFedoraArch
Server Setup· 12 min read

Build a Woodpecker CI Pipeline End-to-End

Set up a Woodpecker CI server and agent with Docker Compose, then build a real pipeline with registry secrets, BuildKit layer caching, and SSH deploy steps.

IntermediateUbuntuDebianFedoraArch
Server Setup· 10 min read

Self-Host Wallabag for Read-It-Later

Deploy Wallabag on your own server with Docker and PostgreSQL, configure browser extensions and mobile apps, and import your Pocket or Instapaper reading list.

IntermediateUbuntuDebianFedoraArch
Server Setup· 12 min read

Self-Host Vaultwarden (Bitwarden Server)

Deploy a self-hosted Vaultwarden (Bitwarden-compatible) password server using Docker Compose, nginx reverse proxy, Let's Encrypt TLS, and automated backups.

IntermediateUbuntuDebianFedoraArch
Server Setup· 9 min read

Self-Host CalDAV/CardDAV with Radicale

Set up Radicale as a self-hosted CalDAV/CardDAV server with htpasswd auth, Nginx reverse proxy, and sync to Evolution, Thunderbird, iOS, and Android.

IntermediateUbuntuDebianFedoraArch
Server Setup· 12 min read

Self-Host PhotoPrism for Photo Library

Deploy PhotoPrism on your own server with Docker Compose. Covers storage layout, database setup, face recognition tuning, and reverse geocoding for places.

IntermediateUbuntuDebianFedoraArch
Server Setup· 10 min read

Self-Host Kavita for Comics and Books

Deploy Kavita on Docker, configure comic and book libraries, enable OPDS for mobile reading apps, and secure it with an Nginx HTTPS reverse proxy.

IntermediateUbuntuDebianFedoraArch
Server Setup· 10 min read

Self-Host Joplin Server

Self-host Joplin Server with Docker Compose, PostgreSQL, Nginx TLS reverse proxy, and end-to-end encryption for private, cross-device note sync.

IntermediateUbuntuDebianFedoraArch
Server Setup· 9 min read

Self-Host Immich (Google Photos Replacement)

Deploy Immich — a full Google Photos replacement — on your own server using Docker Compose, with machine learning, mobile auto-backup, and album sharing.

IntermediateUbuntuDebianFedoraArch
Server Setup· 9 min read

Self-Host FreshRSS

Deploy FreshRSS with Docker Compose, import feeds via OPML, connect mobile clients through the Google Reader API, and manage multiple users on one instance.

IntermediateUbuntuDebianFedoraArch
Server Setup· 12 min read

Self-Host Forgejo (Gitea Fork)

Install Forgejo from a single binary on Linux, harden it with systemd, put it behind Nginx with TLS, add CI runners, and understand the ForgeFed federation roadmap.

IntermediateUbuntuDebianFedoraArch
Server Setup· 9 min read

Self-Host Calibre-Web for Your eBook Library

Deploy Calibre-Web with Docker, import your Calibre library, configure send-to-Kindle email delivery, and set up an OPDS catalog for KOReader.

IntermediateUbuntuDebianFedoraArch
Networking· 10 min read

Pi-hole + Unbound on a Raspberry Pi

Set up Pi-hole as a network-wide DNS blocker paired with Unbound for fully recursive, DNSSEC-validating resolution on a Raspberry Pi — no upstream DNS provider needed.

IntermediateUbuntuDebianFedoraArch
Maintenance & Troubleshooting· 9 min read

Boot a Raspberry Pi from NVMe or USB SSD

Update EEPROM firmware, configure boot order, clone your SD image, and verify performance booting a Pi 4 or Pi 5 from USB SSD or NVMe.

IntermediateUbuntuDebianFedoraArch
Server Setup· 10 min read

Turn a Raspberry Pi into a Media Server

Set up Jellyfin on a Raspberry Pi 4 or 5 with persistent external storage mounts and honest guidance on hardware-accelerated transcoding limits.

IntermediateUbuntuDebianFedoraArch
Performance & Advanced· 9 min read

Use the Raspberry Pi Camera Module

Learn to capture stills, record video, and stream live footage over the network using libcamera and rpicam-apps on Raspberry Pi OS Bookworm.

IntermediateUbuntuDebianFedoraArch
Desktop & Daily Use· 9 min read

Try niri, the Scrollable-Tiling Wayland Compositor

Install niri, the Rust-based scrollable-tiling Wayland compositor, then configure its unique horizontal window model, keybinds, and status bar.

IntermediateUbuntuDebianFedoraArch
Command Line· 9 min read

Manage Dotfiles with chezmoi

Track, template, and encrypt your dotfiles with chezmoi — then restore any machine to your exact config in one command.

IntermediateUbuntuDebianFedoraArch
Desktop & Daily Use· 9 min read

Custom Keybinds: Caps as Esc/Ctrl, Sticky Keys, Macros

Remap Caps Lock to Esc/Ctrl, set up hyperkeys, sticky keys, and macros using xkb, keyd, input-remapper, and kanata—covering X11 and Wayland.

IntermediateUbuntuDebianFedoraArch
Command Line· 12 min read

A Sysadmin's Daily Driver Setup

Build a complete sysadmin terminal workflow with tmux, Neovim, fzf, atuin, version-controlled dotfiles, clean multi-server SSH, and audit-ready habits.

IntermediateUbuntuDebianFedoraArch
Desktop & Daily Use· 10 min read

A Linux Remote-Work Setup

Set up a full Linux remote-work environment: multi-monitor displays, Zoom/Teams/Element video calls, WireGuard/OpenVPN, calendar sync, and a password manager.

IntermediateUbuntuDebianFedoraArch
Desktop & Daily Use· 9 min read

Linux for Podcasters and Streamers

Set up a professional Linux podcast and streaming rig: PipeWire low-latency audio, RNNoise suppression, OBS Studio, Reaper DAW, and Audacity multi-track recording.

IntermediateUbuntuDebianFedoraArch
Getting Started· 12 min read

A Complete Linux Developer Workstation Setup

Set up a complete Linux developer workstation: distro selection, terminal stack, language version managers, Docker, VS Code, and reproducible dotfiles.

IntermediateUbuntuDebianFedoraArch
Desktop & Daily Use· 9 min read

Linux for Designers: A Complete Setup Guide

Set up a professional Linux design workstation: ICC color management, font pipelines, Inkscape/GIMP/Krita/Penpot installs, and Wayland rendering fixes.

IntermediateUbuntuDebianFedoraArch
Performance & Advanced· 12 min read

Linux for Data Scientists: A Complete Setup Guide

Set up a production data science workstation on Linux: Conda, mamba, uv, JupyterLab, R, RStudio Server, CUDA, and Apache Arrow, with verification steps.

IntermediateUbuntuDebianFedoraArch
Desktop & Daily Use· 10 min read

Linux Accessibility: Screen Readers and Magnification

Set up Orca screen reader, GNOME and KDE magnification, high-contrast themes, and full keyboard navigation on modern Linux desktops including Wayland sessions.

IntermediateUbuntuDebianFedoraArch
Server Setup· 9 min read

Install Zigbee2MQTT

Install Mosquitto, configure a Zigbee USB coordinator, run Zigbee2MQTT as a systemd service, and pair devices using the built-in web frontend.

IntermediateUbuntuDebianFedoraArch
Desktop & Daily Use· 9 min read

Sway Power-User Configuration

Configure Sway end-to-end: i3-compatible bindings, Waybar status bar, swaylock screen locking, swayidle with idle-hints, and grim/slurp screen capture.

IntermediateUbuntuDebianFedoraArch
Server Setup· 10 min read

Install the Mosquitto MQTT Broker

Install and secure Mosquitto MQTT broker with password auth, TLS on port 8883, ACL topic control, and a clean mosquitto.conf on Debian, Ubuntu, Fedora, and Arch.

IntermediateUbuntuDebianFedoraArch
Server Setup· 9 min read

Install Miniflux RSS Reader

Install the Miniflux self-hosted RSS reader on Linux: single binary, PostgreSQL backend, Fever API for mobile clients, and OPML import in under 30 minutes.

IntermediateUbuntuDebianFedoraArch
Server Setup· 12 min read

Install Home Assistant OS on a Pi (or VM)

Flash Home Assistant OS to a Raspberry Pi 4/5 or VM, attach a Zigbee dongle, configure add-ons, and set up automated off-device backups.

IntermediateUbuntuDebianFedoraArch
Desktop & Daily Use· 9 min read

Use Figma or Self-Host Penpot on Linux

Run Figma in Chromium on Linux with local font support, or self-host the open-source alternative Penpot using Docker Compose — step-by-step for all major distros.

IntermediateUbuntuDebianFedoraArch
Desktop & Daily Use· 10 min read

Install darktable for RAW Photo Processing

Install darktable on Ubuntu, Fedora, and Arch, then learn importing, the scene-referred pipeline, masking, exporting, and how it compares to RawTherapee.

IntermediateUbuntuDebianFedoraArch
Desktop & Daily Use· 8 min read

Install ActivityWatch for Local Time Tracking

Install ActivityWatch on Linux, configure systemd auto-start, set up window and AFK watchers, connect the browser extension, and read time-tracking reports.

IntermediateUbuntuDebianFedoraArch
Desktop & Daily Use· 9 min read

Fix Fractional Scaling and HiDPI on Wayland

Fix blurry apps on HiDPI Wayland displays: enable compositor fractional scaling, set GDK and Qt env vars for XWayland, and configure Electron's Ozone backend.

IntermediateUbuntuDebianFedoraArch
Command Line· 9 min read

Configure WezTerm with Lua

Configure WezTerm entirely in Lua: set fonts, colour schemes, key bindings, split panes and tabs, the built-in mux server, and SSH session integration.

IntermediateUbuntuDebianFedoraArch
Server Setup· 10 min read

Write an Ansible Role

Learn to build a reusable Ansible role from scratch: directory layout, defaults vs vars, handlers, templates, dependencies, and publishing to Ansible Galaxy.

IntermediateUbuntuDebianFedoraArch
Server Setup· 10 min read

Ship Logs with Vector

Configure Vector to collect systemd-journald logs, reshape events with VRL transforms, and ship structured data to Grafana Loki and Elasticsearch.

IntermediateUbuntuDebianFedoraArch
Distro Guides· 7 min read

Use Toolbx on Fedora (and Silverblue)

Learn how to create and use Toolbx containers on Fedora and Silverblue — including package installs, GPU passthrough, and running GUI apps from inside.

IntermediateUbuntuDebianFedoraArch
Server Setup· 9 min read

Use Kustomize (Without Templates)

Manage Kubernetes manifests without templates using Kustomize bases, overlays, patches, and generators — applied with plain kubectl -k.

IntermediateUbuntuDebianFedoraArch
Command Line· 9 min read

Use kubectl Effectively

Master kubectl contexts, namespace switching, built-in API docs with explain, structured output, live debugging with ephemeral containers, and Kustomize overlays.

IntermediateUbuntuDebianFedoraArch
Server Setup· 10 min read

Use Helm Charts on Linux

Install Helm 3, manage chart repos, override values, render manifests locally with helm template, and package your own chart for Kubernetes.

IntermediateUbuntuDebianFedoraArch
Performance & Advanced· 10 min read

Use GPIO Pins on a Raspberry Pi

Control Raspberry Pi GPIO pins using libgpiod — the modern replacement for deprecated sysfs. Covers CLI tools, Python, and C with real working examples.

IntermediateUbuntuDebianFedoraArch
Desktop & Daily Use· 9 min read

Use distrobox to Run Other Distros in Containers

Run Arch, Fedora, Ubuntu, or any distro as an integrated container on your current system using distrobox—with shared home, GUI support, and shell integration.

IntermediateUbuntuDebianFedoraArch
Server Setup· 9 min read

Tune PHP-FPM Pools for Production

Configure PHP-FPM pool process managers (dynamic, static, ondemand), calculate max_children from real memory usage, enable slowlog, and monitor with the status page.

IntermediateUbuntuDebianFedoraArch
Server Setup· 9 min read

Self-Host a GitHub Actions Runner on Linux

Install a GitHub Actions self-hosted runner on Linux, configure it as a systemd service, assign labels, register at org level, and harden the execution environment.

IntermediateUbuntuDebianFedoraArch
Desktop & Daily Use· 9 min read

Build a Raspberry Pi Kiosk

Boot a Raspberry Pi straight into full-screen Chromium with no desktop, no cursor, and no screen blanking using labwc, systemd autologin, and Wayland.

IntermediateUbuntuDebianFedoraArch
Maintenance & Troubleshooting· 11 min read

Offsite Backups to Backblaze B2 / R2 / S3

Back up Linux servers to Backblaze B2, Cloudflare R2, or AWS S3 using rclone, restic, and BorgBackup—with lifecycle policies and restore testing.

IntermediateUbuntuDebianFedoraArch
Maintenance & Troubleshooting· 8 min read

Monitor a Server with node_exporter

Install Prometheus node_exporter as a hardened systemd service, configure scraping, and set up Grafana dashboards for full server observability.

IntermediateUbuntuDebianFedoraArch
Server Setup· 9 min read

A Modern nginx TLS Configuration

Configure nginx with TLS 1.2/1.3, Mozilla Intermediate cipher suites, OCSP stapling, HSTS, and DH parameters for a production-ready HTTPS setup.

IntermediateUbuntuDebianFedoraArch
Server Setup· 9 min read

nginx as a Reverse Proxy: Best Practices

Configure nginx as a production-grade reverse proxy: upstream keepalive pools, buffering tuning, WebSocket upgrades, and correct X-Forwarded-* header handling.

IntermediateUbuntuDebianFedoraArch
Networking· 12 min read

IPv6 on Linux — A Practical Guide

Configure IPv6 on Linux from scratch: address types, SLAAC with privacy extensions, DHCPv6, static addressing, routing, nftables firewall rules, and dual-stack operation.

IntermediateUbuntuDebianFedoraArch
Security & Hardening· 9 min read

Install the Wazuh Agent on Linux

Install and configure the Wazuh Agent on Linux: add the repo, enroll with your manager, set up log collection, file integrity monitoring, and vulnerability detection.

IntermediateUbuntuDebianFedoraArch
Server Setup· 10 min read

Install TimescaleDB on PostgreSQL

Install TimescaleDB on PostgreSQL, create hypertables, automate continuous aggregates, and enforce data-retention policies on Ubuntu, Fedora, and Arch.

IntermediateUbuntuDebianFedoraArch
Server Setup· 10 min read

Install and Use Terraform on Linux

Install Terraform on Debian, Fedora, and Arch Linux, configure AWS, Hetzner, and DigitalOcean providers, and manage infrastructure with plan, apply, and remote state backends.

IntermediateUbuntuDebianFedoraArch
Performance & Advanced· 9 min read

Install PyTorch with GPU Support

Install PyTorch with NVIDIA CUDA or AMD ROCm GPU support inside a Python venv, then verify torch.cuda.is_available() returns True on Linux.

IntermediateUbuntuDebianFedoraArch
Server Setup· 9 min read

Install Pulumi on Linux

Install Pulumi on Debian, Fedora, or Arch Linux, pick a language runtime, configure a state backend, manage secrets, and compare Pulumi to Terraform.

IntermediateUbuntuDebianFedoraArch
Server Setup· 9 min read

Install Prometheus on Linux

Install Prometheus on Linux from tarball or distro packages, configure scrape targets and retention, and run it securely under a hardened systemd unit.

IntermediateUbuntuDebianFedoraArch
Server Setup· 9 min read

Use OpenTofu (the Terraform Fork)

Install OpenTofu, the MPL-licensed Terraform fork, migrate existing projects safely, and understand provider compatibility and new features like state encryption.

IntermediateUbuntuDebianFedoraArch
Server Setup· 9 min read

Install MongoDB on Linux

Install MongoDB 7.0 on Linux via the official apt/dnf repo, configure mongod, enable authentication, and set up a single-node replica set ready for production.

IntermediateUbuntuDebianFedoraArch
Server Setup· 9 min read

Install Mail-in-a-Box

Set up a self-hosted mail server on Ubuntu 22.04 with one command. Covers the MiaB installer, DNS records (SPF, DKIM, DMARC), admin panel, and verification.

IntermediateUbuntuDebianFedoraArch
Server Setup· 10 min read

Install Loki and Promtail for Logs

Install Grafana Loki and Promtail as single binaries, ship systemd-journald logs, and create log-based metric rules — managed with systemd.

IntermediateUbuntuDebianFedoraArch
Performance & Advanced· 10 min read

Install and Use llama.cpp

Build llama.cpp from source on Linux, enable CUDA/ROCm GPU offloading, load GGUF models, and serve an OpenAI-compatible local inference API.

IntermediateUbuntuDebianFedoraArch
Server Setup· 9 min read

Install k3s on a Single Linux Node

Install k3s on a single Linux node in minutes: covers the curl installer, kubeconfig setup, built-in Traefik ingress, and essential kubectl commands.

IntermediateUbuntuDebianFedoraArch
Server Setup· 9 min read

Install and Configure a GitLab Runner

Install GitLab Runner on Linux, register Shell and Docker executors, configure caches, route jobs with tags, and understand autoscaling with the fleeting plugin.

IntermediateUbuntuDebianFedoraArch
Server Setup· 9 min read

Install Drone / Woodpecker CI

Deploy Woodpecker CI (or Drone) with Docker Compose, wire OAuth to Gitea or GitHub, connect agents, and run your first pipeline in under an hour.

IntermediateUbuntuDebianFedoraArch
Server Setup· 10 min read

Install ClickHouse on Linux

Install ClickHouse on Linux from the official repo, configure users and storage, design an efficient MergeTree schema, ingest data, and tune for query performance.

IntermediateUbuntuDebianFedoraArch
Desktop & Daily Use· 9 min read

Install Ardour for Audio Recording

Install Ardour on Linux via distro packages, official binary, or source build. Configure JACK or PipeWire, set up a recording session, and add LV2/VST plugins.

IntermediateUbuntuDebianFedoraArch
Server Setup· 10 min read

Install and Tune Redis for Production

Install Redis on Linux, configure RDB and AOF persistence, set maxmemory eviction policies, and add replication with Sentinel for production HA.

IntermediateUbuntuDebianFedoraArch
Server Setup· 9 min read

Auto-Deploy a Static Site with Caddy + Git Hooks

Set up a zero-CI deploy pipeline: push to a bare Git repo, run a build hook, and let Caddy serve your static site with automatic TLS.

IntermediateUbuntuDebianFedoraArch
Maintenance & Troubleshooting· 9 min read

Linux Server Disaster Recovery Checklist

A practical Linux server disaster recovery checklist: what to back up, RTO/RPO planning, immutable off-site copies, automated restore drills, and verification.

IntermediateUbuntuDebianFedoraArch
Server Setup· 10 min read

Container Image Best Practices

Reduce container attack surface with multi-stage builds, distroless base images, non-root users, and automated CVE scanning using Trivy, Scout, and Grype.

IntermediateUbuntuDebianFedoraArch
Networking· 12 min read

Set Up an OpenVPN Server

Build a complete OpenVPN server on Linux using Easy-RSA 3 for PKI, a hardened server.conf, client .ovpn profiles, and systemd — with a WireGuard comparison.

IntermediateUbuntuDebianFedoraArch
Networking· 8 min read

Expose a Service with Cloudflare Tunnel

Expose local services to the internet without port-forwarding using Cloudflare Tunnel. Install cloudflared, create a named tunnel, configure ingress rules, and run as a systemd service.

IntermediateUbuntuDebianFedoraArch
Server Setup· 10 min read

cloud-init Explained (with worked examples)

Learn how cloud-init bootstraps cloud VMs: user-data formats, key modules, datasource detection, and hands-on debugging on Hetzner, EC2, and DigitalOcean.

IntermediateUbuntuDebianFedoraArch
Performance & Advanced· 9 min read

Build a .rpm Package

Learn to build .rpm packages step by step: set up the rpmbuild tree, write a spec file with BuildRequires, and produce clean builds with mock.

IntermediateUbuntuDebianFedoraArch
Performance & Advanced· 10 min read

Build an Arch AUR Package (PKGBUILD)

Learn to write an Arch Linux PKGBUILD from scratch, build it with makepkg, lint it with namcap, and publish it to the AUR step by step.

IntermediateUbuntuDebianFedoraArch
Networking· 12 min read

Build a Mesh VPN with Nebula

Build a fully self-hosted mesh VPN with Nebula: create a CA, sign node certs, configure lighthouses, enforce group-based firewall rules, and run as a systemd service.

IntermediateUbuntuDebianFedoraArch
Performance & Advanced· 10 min read

Build a .deb Package

Step-by-step guide to building a .deb package using dh_make, debian/control, debian/rules, lintian quality checks, and clean chroot builds with sbuild.

IntermediateUbuntuDebianFedoraArch
Security & Hardening· 9 min read

Manage Secrets with Ansible Vault

Encrypt Ansible secrets with AES-256 using ansible-vault: encrypt files and inline vars, automate with password files, and isolate group-level secrets with vault IDs.

IntermediateUbuntuDebianFedoraArch
Performance & Advanced· 9 min read

ZFS vs Btrfs on Linux

ZFS vs Btrfs on Linux: a direct comparison of maturity, licensing, RAID safety, snapshots, performance, and which filesystem to pick for your use case.

IntermediateUbuntuDebianFedoraArch
Command Line· 9 min read

Write a Makefile for Anything (Not Just C)

Learn how to write a Makefile for any project—targets, prerequisites, .PHONY, variables, pattern rules, and the classic gotchas explained with real examples.

IntermediateUbuntuDebianFedoraArch
Distro Guides· 9 min read

Void Linux and Artix — Quick Takes

A practical comparison of Void Linux and Artix Linux: how xbps and runit work on Void, OpenRC and pacman on Artix, and which distro suits which user.

IntermediateUbuntuDebianFedoraArch
Command Line· 10 min read

A Vim Config From Scratch

Build a Neovim config from scratch: sensible defaults, lazy.nvim plugin manager, Treesitter, LSP via Mason, and autocompletion — all explained step by step.

IntermediateUbuntuDebianFedoraArch
Command Line· 9 min read

Use yq to Process YAML

Learn to read, filter, transform, and safely edit YAML files in place using mikefarah/yq — the Go-based jq equivalent for YAML.

IntermediateUbuntuDebianFedoraArch
Networking· 9 min read

Use Wireshark on Linux

Install Wireshark on Linux, configure non-root capture, use capture and display filters, decrypt TLS with SSLKEYLOGFILE, and follow TCP streams end-to-end.

IntermediateUbuntuDebianFedoraArch
Networking· 9 min read

Use tcpdump Effectively

Master tcpdump with BPF filters, ring buffer tuning, rotating pcap captures, and a systemd service wrapper — without dropping packets or wasting disk space.

IntermediateUbuntuDebianFedoraArch
Command Line· 9 min read

Use curl Like a Pro

Master curl beyond basic GET requests: inspect and send headers, authenticate with tokens, POST JSON, upload files, manage cookies, and debug with -v.

IntermediateUbuntuDebianFedoraArch
Desktop & Daily Use· 9 min read

Try a Tiling Window Manager (i3 or sway)

Install i3 or sway, understand tiling layouts and config syntax, add a status bar, and keep the useful parts of your old desktop environment.

IntermediateUbuntuDebianFedoraArch
Distro Guides· 9 min read

How to Upgrade Ubuntu LTS to the Next LTS

Step-by-step guide to upgrading Ubuntu LTS to the next LTS: pre-upgrade backups, disabling PPAs, running do-release-upgrade, and fixing common post-upgrade issues.

IntermediateUbuntuDebianFedoraArch
Distro Guides· 9 min read

How to Upgrade Fedora to a New Release

Upgrade Fedora in-place using dnf system-upgrade. Covers pre-upgrade prep, third-party repos, the upgrade reboot, post-upgrade cleanup, and common fixes.

IntermediateUbuntuDebianFedoraArch
Maintenance & Troubleshooting· 9 min read

Snapshot Backups with Btrfs and Snapper

Set up Btrfs subvolumes, configure Snapper for automated snapshots, integrate with GRUB for bootable recovery points, and perform full system rollbacks.

IntermediateUbuntuDebianFedoraArch
Command Line· 9 min read

Shell Script Strict Mode

Learn how set -euo pipefail, IFS, and traps protect bash scripts from silent failures, undefined variables, and leaked temporary files.

IntermediateUbuntuDebianFedoraArch
Networking· 9 min read

Set Up systemd-resolved Cleanly

Enable systemd-resolved's stub listener, configure DNS-over-TLS, set up conditional forwarding for split-horizon DNS, and debug with resolvectl.

IntermediateUbuntuDebianFedoraArch
Server Setup· 10 min read

Set Up a WireGuard VPN Server

Configure a WireGuard VPN server from scratch: key generation, server and client configs, NAT with nftables, IP forwarding, firewall rules, and MTU tuning.

IntermediateUbuntuDebianFedoraArch
Server Setup· 12 min read

Self-Host Nextcloud

Install a production Nextcloud server using Nginx, PHP-FPM, MariaDB, and Redis — including systemd-managed cron and performance tuning.

IntermediateUbuntuDebianFedoraArch
Maintenance & Troubleshooting· 9 min read

Schedule Backups with systemd Timers

Use systemd timers to schedule reliable backups with OnCalendar, RandomizedDelaySec, and Persistent=true — replacing cron with better logging and catch-up runs.

IntermediateUbuntuDebianFedoraArch
Command Line· 9 min read

rsync Recipes Every Sysadmin Needs

Practical rsync recipes for mirrors, SSH transfers, exclude lists, bandwidth throttling, hard-link snapshots, and safe dry-run verification. Ready to adapt.

IntermediateUbuntuDebianFedoraArch
Maintenance & Troubleshooting· 9 min read

Recover a Broken Package Database

Fix half-installed packages, corrupt RPM databases, and broken apt/dpkg states with targeted recovery commands for Debian, Ubuntu, Fedora, and RHEL systems.

IntermediateUbuntuDebianFedoraArch
Security & Hardening· 9 min read

Replace fail2ban with CrowdSec

Replace fail2ban with CrowdSec: install the agent and firewall bouncer, activate crowd-sourced blocklists, configure scenarios, and verify enforcement with nftables.

IntermediateUbuntuDebianFedoraArch
Command Line· 10 min read

Neovim From Scratch with Lua

Build a modern Neovim config from scratch using init.lua, lazy.nvim, Treesitter, nvim-lspconfig, and Mason — step by step with no pre-made distribution.

IntermediateUbuntuDebianFedoraArch
Networking· 9 min read

Diagnose Routing with mtr and traceroute

Learn to diagnose network routing problems using mtr and traceroute, covering ICMP/UDP/TCP probe types, asymmetric routing, and when results mislead you.

IntermediateUbuntuDebianFedoraArch
Command Line· 10 min read

Mastering tmux (Power-User Guide)

Go beyond the basics with tmux: persistent sessions, pane layouts, vi copy mode, a production tmux.conf, session scripting, and TPM plugins including resurrect.

IntermediateUbuntuDebianFedoraArch
Command Line· 10 min read

Mastering jq for JSON on the Command Line

Master jq from field access to map/select, object reshaping, type conversion, and safe shell variable injection for real-world JSON processing on the command line.

IntermediateUbuntuDebianFedoraArch
Security & Hardening· 10 min read

Audit a Linux Server with Lynis

Run Lynis on any Linux server, interpret the hardening index and findings, apply the most impactful fixes, and automate weekly audits with a systemd timer.

IntermediateUbuntuDebianFedoraArch
Networking· 9 min read

VLANs on Linux

Configure 802.1Q VLAN sub-interfaces on Linux using ip link and NetworkManager, covering switch trunk port setup, persistence, and firewall integration.

IntermediateUbuntuDebianFedoraArch
Maintenance & Troubleshooting· 10 min read

Troubleshoot a Linux Bootloader (GRUB, systemd-boot)

Step-by-step repair guide for GRUB and systemd-boot on UEFI and legacy BIOS systems, covering BLS entries, dual-boot fixes, and EFI partition recovery.

IntermediateUbuntuDebianFedoraArch
Maintenance & Troubleshooting· 9 min read

Recover a Linux System from a Live USB

Boot a live USB, mount your broken Linux install, chroot into it, and fix the most common failures: bad fstab, forgotten passwords, and broken GRUB.

IntermediateUbuntuDebianFedoraArch
Security & Hardening· 10 min read

Detect Rootkits and Malware on Linux

Use chkrootkit, rkhunter, ClamAV, and Lynis to scan a Linux system for rootkits and malware — what each tool actually checks and how to read the results.

IntermediateUbuntuDebianFedoraArch
Performance & Advanced· 9 min read

Linux Power Management for Laptops

Extend Linux laptop battery life using TLP, auto-cpufreq, PowerTOP, and kernel boot parameters. Practical configuration for all major distros.

IntermediateUbuntuDebianFedoraArch
Command Line· 9 min read

Bash Globbing and Extended Glob Patterns

Master Bash globbing beyond * and ?: learn globstar recursive matching, extglob operators, brace expansion, and the gotchas that cause real-world bugs.

IntermediateUbuntuDebianFedoraArch
Security & Hardening· 11 min read

Linux Disk Encryption Strategies

A practical guide to Linux disk encryption: full-disk LUKS2, encrypted /home partitions, kernel-native fscrypt, and file-level tools age and gocryptfs.

IntermediateUbuntuDebianFedoraArch
Networking· 10 min read

Linux Bridges (br0 etc.) Explained

Learn how Linux bridges (br0) work, when to use them for VMs and containers, how to configure them with iproute2, and how to manage STP correctly.

IntermediateUbuntuDebianFedoraArch
Server Setup· 9 min read

Install PostgreSQL with Sensible Tuning

Install PostgreSQL from PGDG repos and apply evidence-based tuning for shared_buffers, work_mem, effective_cache_size, and WAL settings on any Linux server.

IntermediateUbuntuDebianFedoraArch
Server Setup· 9 min read

Install and Use Podman (Docker without a daemon)

Run OCI containers without a daemon using Podman. Covers rootless setup, podman-compose, and systemd Quadlet units for production-grade container management.

IntermediateUbuntuDebianFedoraArch
Server Setup· 10 min read

Install and Configure HAProxy

Install HAProxy and configure frontends, backends, ACL-based routing, TLS termination, sticky sessions, and HTTP health checks on modern Linux distros.

IntermediateUbuntuDebianFedoraArch
Server Setup· 12 min read

Self-Host Git with Gitea or Forgejo

Install Forgejo or Gitea on Linux, configure Caddy as a reverse proxy, enable SSH access on a custom port, push your first repository, and register an Actions runner.

IntermediateUbuntuDebianFedoraArch
Server Setup· 10 min read

Install Elasticsearch or OpenSearch

Install Elasticsearch 8 or OpenSearch 2 on Linux, tune JVM heap, configure security, set up single-node or cluster mode, and verify with live index operations.

IntermediateUbuntuDebianFedoraArch
Distro Guides· 10 min read

Immutable Linux: Fedora Silverblue, Vanilla, openSUSE Aeon

Learn how Fedora Silverblue, openSUSE Aeon, and Vanilla OS implement immutable, atomic updates with OSTree, transactional-update, and ABRoot—and how to work productively inside them.

IntermediateUbuntuDebianFedoraArch
Server Setup· 10 min read

Host Multiple Sites on One Linux Server

Host multiple websites on one Linux server using Nginx as a reverse proxy, systemd-managed app services, per-domain TLS, and isolated system users.

IntermediateUbuntuDebianFedoraArch
Maintenance & Troubleshooting· 9 min read

Diagnose and Fix "No Space Left" When Disk Is Empty (Inodes)

"No space left" with gigabytes free? You've hit inode exhaustion. Learn how to confirm it, find the culprit directories, clean up millions of files, and prevent recurrence.

IntermediateUbuntuDebianFedoraArch
Server Setup· 9 min read

Docker Compose in Production

Deploy Docker Compose in production with compose.yaml, explicit networks, named volumes, restart policies, journald logging, and file-based secrets.

IntermediateUbuntuDebianFedoraArch
Networking· 9 min read

How to Diagnose a Slow Network on Linux

Diagnose Linux network slowness layer by layer using ping, mtr, iperf3, ethtool, tcpdump, and dmesg—from bad cables to kernel buffer tuning.

IntermediateUbuntuDebianFedoraArch
Maintenance & Troubleshooting· 9 min read

Debug systemd Units that Won't Start

Learn a repeatable workflow to debug systemd services that won't start: status output, journalctl, systemd-analyze verify, and safe override.conf patches.

IntermediateUbuntuDebianFedoraArch
Desktop & Daily Use· 9 min read

Configure the Touchpad and Multitouch Gestures

Configure Linux touchpad behavior and multitouch gestures using libinput, libinput-gestures, and native GNOME and KDE Plasma settings on both Wayland and X11.

IntermediateUbuntuDebianFedoraArch
Networking· 9 min read

Configure systemd-networkd

Learn how to configure systemd-networkd with .network unit files for static IPs, DHCP, bonding, bridges, and VLANs on modern Linux servers.

IntermediateUbuntuDebianFedoraArch
Networking· 10 min read

firewalld Zones and Rich Rules in Practice

Assign interfaces to firewalld zones, open services, write rich rules for source-based and rate-limited policies, and manage runtime vs permanent config.

IntermediateUbuntuDebianFedoraArch
Security & Hardening· 9 min read

chrony and Secure Time on Linux

Configure chrony with NTS (authenticated NTP over TLS) on Linux to prevent clock-skew attacks and protect Kerberos, TLS, and TOTP authentication.

IntermediateUbuntuDebianFedoraArch
Server Setup· 10 min read

Build an nftables Firewall Script

Build a complete nftables firewall from scratch: tables, chains, sets, default-deny input policy, service allowlisting, and persistent systemd configuration.

IntermediateUbuntuDebianFedoraArch
Command Line· 9 min read

Build a Real Command-Line Tool in Shell

Build a proper CLI tool in Bash with strict mode, long/short argument parsing, --help, usage(), and clean packaging via install and a Makefile.

IntermediateUbuntuDebianFedoraArch
Performance & Advanced· 9 min read

The Linux Boot Process Explained

Trace the full Linux boot sequence from UEFI firmware through GRUB2, the kernel, initramfs, and systemd to your login prompt — with diagnostics at each stage.

IntermediateUbuntuDebianFedoraArch
Command Line· 9 min read

Bash Functions and Variable Scoping

Master Bash function scoping with local variables, source-based libraries, correct use of return codes, and array passing techniques including namerefs.

IntermediateUbuntuDebianFedoraArch
Command Line· 9 min read

Bash Arrays and Associative Arrays

Master bash indexed and associative arrays: declaration, element access, looping, mapfile, namerefs, and practical patterns for real scripting work.

IntermediateUbuntuDebianFedoraArch
Maintenance & Troubleshooting· 10 min read

Back Up Linux with Borg or restic

Set up encrypted, deduplicated backups with BorgBackup or restic: local and remote repos, retention pruning, restoring files, and systemd timer scheduling.

IntermediateUbuntuDebianFedoraArch
Distro Guides· 9 min read

Arch vs EndeavourOS vs Manjaro

Arch, EndeavourOS, and Manjaro compared honestly: repository differences, AUR compatibility, install experience, and which one suits your actual workflow.

IntermediateUbuntuDebianFedoraArch
Distro Guides· 10 min read

Alpine Linux on Servers and in Containers

Deploy Alpine Linux on servers and in containers: musl vs glibc trade-offs, apk package management, OpenRC init, security hardening, and container best practices.

IntermediateUbuntuDebianFedoraArch
Command Line· 9 min read

How to Write Portable POSIX Shell Scripts

Write shell scripts that run correctly under dash, BusyBox sh, and Bash by avoiding Bashisms, using POSIX constructs, and linting with shellcheck.

IntermediateUbuntuDebianFedoraArch
Command Line· 9 min read

How to Write Bash Functions Properly

Learn to write reliable bash functions: safe argument handling, correct return values, proper use of local, error handling with set -e, and clean naming conventions.

IntermediateUbuntuDebianFedoraArch
Security & Hardening· 12 min read

How to Use a YubiKey on Linux

Use a YubiKey on Linux for PIV SSH, FIDO2 sudo and login via PAM, GPG smart card subkeys, and SSH through gpg-agent — step by step.

IntermediateUbuntuDebianFedoraArch
Command Line· 9 min read

How to Use jq for JSON on the Command Line

Learn to filter, transform, and reshape JSON on the command line with jq — covering selectors, map/select, object construction, and real API pipelines.

IntermediateUbuntuDebianFedoraArch
Command Line· 8 min read

How to Use fzf, the Fuzzy Finder

Install and configure fzf to fuzzy-search files, shell history, processes, and git branches — with shell integration for Bash, Zsh, and Fish.

IntermediateUbuntuDebianFedoraArch
Networking· 9 min read

How to Set Up Unbound as a Recursive DNS Resolver

Install Unbound, configure root hints and DNSSEC validation, and point your LAN at a private recursive DNS resolver — no upstream forwarder required.

IntermediateUbuntuDebianFedoraArch
Server Setup· 9 min read

How to Run Rootless Containers with Podman

Run OCI containers without root or a daemon. Learn Podman installation, user namespace setup, rootless networking, and systemd Quadlet unit files for production use.

IntermediateUbuntuDebianFedoraArch
Server Setup· 9 min read

How to Set Up Pi-hole on a Linux Server

Set up Pi-hole on Linux for network-wide ad and tracker blocking — covers installation, blocklists, gravity updates, conditional forwarding, and DHCP.

IntermediateUbuntuDebianFedoraArch
Networking· 9 min read

How to Configure nginx as a Reverse Proxy

Configure nginx as a reverse proxy: proxy_pass basics, correct header forwarding, WebSocket upgrade handling, and TLS termination with Let's Encrypt.

IntermediateUbuntuDebianFedoraArch
Desktop & Daily Use· 9 min read

How to Set Up HiDPI and 4K Displays on Linux

Configure HiDPI and 4K scaling on Linux across GNOME, KDE, Sway, and X11—including fractional scaling and mixed-DPI multi-monitor setups.

IntermediateUbuntuDebianFedoraArch
Server Setup· 9 min read

How to Set Up and Use Docker Compose

Learn how to write Compose files, define networks and volumes, manage environment variables, and control multi-container Docker stacks with the modern Compose CLI plugin.

IntermediateUbuntuDebianFedoraArch
Security & Hardening· 9 min read

How to Add Two-Factor Authentication to SSH

Enforce two-factor authentication on SSH using PAM and Google Authenticator TOTP, with YubiKey alternatives and per-user exemption patterns for automation accounts.

IntermediateUbuntuDebianFedoraArch
Maintenance & Troubleshooting· 7 min read

How to Reset the Linux Network Stack

Reset a broken Linux network stack without rebooting: restart NetworkManager or systemd-networkd, flush the DNS cache, renew DHCP leases, and clear stale routes.

IntermediateUbuntuDebianFedoraArch
Maintenance & Troubleshooting· 8 min read

How to Recover Deleted Files on Linux with PhotoRec

Accidentally deleted files on Linux? PhotoRec scans raw disk sectors to recover documents, images, and more — no filesystem needed. Here's exactly how.

IntermediateUbuntuDebianFedoraArch
Security & Hardening· 9 min read

How to Protect nginx with fail2ban

Build custom fail2ban filters for nginx to block bad bots, brute-force attempts, and scanners — with tuned ban times and firewall backend configuration.

IntermediateUbuntuDebianFedoraArch
Command Line· 9 min read

Master Vim: A Practical Path Beyond the Basics

Go beyond the basics: master Vim buffers, registers, macros, and the help system, then add only the plugins that genuinely earn their place.

IntermediateUbuntuDebianFedoraArch
Desktop & Daily Use· 8 min read

How to Manage Dotfiles with GNU Stow

Use GNU Stow to turn a Git repository into a symlink farm for your dotfiles — deploy any config to a new Linux machine in under a minute.

IntermediateUbuntuDebianFedoraArch
Server Setup· 9 min read

How to Install Traefik as a Reverse Proxy

Install Traefik v3 as a Docker-based reverse proxy with automatic Let's Encrypt TLS, static and dynamic config, and label-driven service routing.

IntermediateUbuntuDebianFedoraArch
Getting Started· 10 min read

How to Install Rocky Linux on a Server

Install Rocky Linux 9 on a server with correct partitioning, static networking, a minimal software profile, and post-install hardening steps.

IntermediateUbuntuDebianFedoraArch
Server Setup· 9 min read

How to Install and Configure Redis

Install Redis on Debian, Ubuntu, Fedora, and Arch; configure persistence, memory limits, authentication, and manage the service with systemd for production use.

IntermediateUbuntuDebianFedoraArch
Server Setup· 9 min read

How to Install RabbitMQ on Linux

Install RabbitMQ on Debian, Ubuntu, Fedora, Rocky, and Arch using official repos, enable the management UI, create users, and test a live queue.

IntermediateUbuntuDebianFedoraArch
Server Setup· 10 min read

How to Install Prometheus and Grafana on Linux

Install Prometheus and Grafana on Linux, configure node_exporter scraping, connect the datasource, and build your first system metrics dashboard.

IntermediateUbuntuDebianFedoraArch
Server Setup· 10 min read

How to Set Up HAProxy as a Load Balancer

Set up HAProxy as an HTTP load balancer with active health checks, stick tables for session persistence, and a live stats dashboard — step by step.

IntermediateUbuntuDebianFedoraArch
Desktop & Daily Use· 9 min read

How to Fix Screen Tearing on Linux

Fix screen tearing on Linux for Intel, AMD, and NVIDIA GPUs using TearFree, Force Composition Pipeline, and compositor settings on X11 and Wayland.

IntermediateUbuntuDebianFedoraArch
Maintenance & Troubleshooting· 7 min read

How to Fix dpkg "Broken Packages" Errors

Fix dpkg broken package errors step by step: configure pending packages, repair dependencies with apt --fix-broken, force-remove stuck packages, and rebuild the dpkg database.

IntermediateUbuntuDebianFedoraArch
Security & Hardening· 9 min read

How to Detect Rootkits with rkhunter

Install rkhunter, build a clean file-property baseline, tune the config to cut false positives, and automate daily scans with a systemd timer.

IntermediateUbuntuDebianFedoraArch
Desktop & Daily Use· 9 min read

Wayland vs X11: How to Choose and Configure Each

Know when to run Wayland or X11, how to check your current session, switch at login with GDM/SDDM/LightDM, and handle NVIDIA and XWayland edge cases.

IntermediateUbuntuDebianFedoraArch
Performance & Advanced· 9 min read

How to Benchmark Disk Performance with fio

Learn to benchmark Linux disk performance with fio: writing job files, testing latency and throughput, and interpreting IOPS and percentile output correctly.

IntermediateUbuntuDebianFedoraArch
Security & Hardening· 9 min read

How to Audit Linux Hardening with Lynis

Run Lynis to audit your Linux server, interpret the hardening index and warning output, and work through findings from critical to low-effort wins.

IntermediateUbuntuDebianFedoraArch
Command Line· 10 min read

Writing Technical Documentation (the Linux way)

Write and publish Linux technical documentation using Markdown, AsciiDoc, man pages, DocBook, pandoc, and MkDocs—with CI integration and practical examples.

IntermediateUbuntuDebianFedoraArch
Distro Guides· 9 min read

What Is Arch Linux? (And Should You Use It)

Arch Linux is a rolling-release, DIY distribution built on minimal defaults and user control. Learn what it demands and whether it fits your workflow.

IntermediateUbuntuDebianFedoraArch
Server Setup· 9 min read

Webmin: The Complete Setup Guide

Install Webmin on Debian/Ubuntu and RHEL-family Linux, configure core modules, and harden it with TLS, 2FA, and IP restrictions for production use.

IntermediateUbuntuDebianFedoraArch
Command Line· 9 min read

How to Use tmux

Master tmux sessions, windows, panes, detach/reattach, and a practical ~/.tmux.conf so you can manage persistent terminal workflows like a pro.

IntermediateUbuntuDebianFedoraArch
Distro Guides· 9 min read

How to Upgrade to a New Distro Release

Step-by-step in-place distro upgrades: Ubuntu/Debian do-release-upgrade, Fedora dnf system-upgrade, and Arch Linux rolling upkeep, with verification and recovery tips.

IntermediateUbuntuDebianFedoraArch
Performance & Advanced· 9 min read

Understanding Linux Load Average

Load average measures scheduler demand—not CPU usage. Learn what the three numbers really mean, how to interpret them per CPU count, and how to separate CPU from I/O load.

IntermediateUbuntuDebianFedoraArch
Desktop & Daily Use· 9 min read

Touchscreen Configuration on Linux

Configure Linux touchscreens end-to-end: verify libinput detection, calibrate under Wayland and X11, map to the right display, and enable multi-touch gestures.

IntermediateUbuntuDebianFedoraArch
Desktop & Daily Use· 10 min read

The X Window System Explained

Understand how X11 actually works — X server, clients, display managers, window managers, compositors — and how Wayland's architecture differs and why it matters.

IntermediateUbuntuDebianFedoraArch
Desktop & Daily Use· 9 min read

Sync Phones and Handheld Devices with Linux

Sync Android phones with Linux using MTP for file transfer and KDE Connect or GSConnect for wireless integration. Includes PalmOS history and CalDAV setup.

IntermediateUbuntuDebianFedoraArch
Server Setup· 9 min read

Squid Debug Logging: Turn It On and Read It

Learn how to enable Squid debug_options, navigate cache.log and access.log, and trace the exact cause of a denied or failed proxy request.

IntermediateUbuntuDebianFedoraArch
Server Setup· 9 min read

Set Up Squid as a Caching Web Proxy

Install and configure Squid as a forward caching proxy on Linux — covering ACLs, cache tuning, firewall rules, and explicit vs transparent intercept mode.

IntermediateUbuntuDebianFedoraArch
Networking· 9 min read

Squid ACL Configuration Explained

Learn how Squid proxy ACL definitions and http_access rules work, why ordering is critical, and avoid the most common allow/deny configuration mistakes.

IntermediateUbuntuDebianFedoraArch
Desktop & Daily Use· 9 min read

How to Set Up Multiple Monitors on Linux

Configure multiple monitors on Linux: physical arrangement, per-display resolution, refresh rates, and scaling on both X11 (xrandr) and Wayland (GNOME, KDE, Sway, kanshi).

IntermediateUbuntuDebianFedoraArch
Security & Hardening· 9 min read

How to Set Up GPG Encryption

Generate GPG key pairs, encrypt and decrypt files, sign data, manage your keyring, and verify signatures on Debian, Fedora, and Arch Linux.

IntermediateUbuntuDebianFedoraArch
Server Setup· 9 min read

How to Set Up an NFS Server

Set up a production-ready NFSv4 server on Linux: configure exports, mount shares on clients, lock down permissions, and tune read/write performance.

IntermediateUbuntuDebianFedoraArch
Networking· 9 min read

How to Set Up a VPN with WireGuard

Set up a WireGuard VPN on Linux from scratch: generate keys, configure server and client peers, enable routing, and verify a live encrypted tunnel.

IntermediateUbuntuDebianFedoraArch
Server Setup· 9 min read

How to Set Up a Samba File Share

Step-by-step guide to installing Samba, creating a share user, configuring smb.conf, opening the firewall, and mounting the share from Windows and Linux clients.

IntermediateUbuntuDebianFedoraArch
Server Setup· 9 min read

How to Set Up a LEMP Stack

Install and configure Nginx, MariaDB, and PHP-FPM on a fresh Linux server. Covers Debian, Ubuntu, Fedora, RHEL, Rocky, and Arch with systemd service management.

IntermediateUbuntuDebianFedoraArch
Security & Hardening· 9 min read

How to Set Up a Firewall with firewalld

Learn how to configure firewalld using zones, services, rich rules, and source bindings — with a clear explanation of runtime vs permanent changes.

IntermediateUbuntuDebianFedoraArch
Networking· 9 min read

How to Set Up a DHCP Server on Linux

Install and configure ISC DHCP or Kea on Linux: define scopes, set static reservations, inspect leases, open firewall ports, and hook into dynamic DNS.

IntermediateUbuntuDebianFedoraArch
Command Line· 10 min read

A Practical Guide to sed and awk

Learn sed and awk through practical examples: substitutions, in-place edits, field splitting, pattern-action programs, and real pipeline use cases.

IntermediateUbuntuDebianFedoraArch
Security & Hardening· 10 min read

How to Secure Webmin

Harden Webmin against attack: restrict access by IP, enforce HTTPS with valid certs, set up TOTP two-factor auth, integrate Fail2ban, and lock down modules.

IntermediateUbuntuDebianFedoraArch
Server Setup· 9 min read

How to Run a Node.js App in Production with PM2

Deploy a Node.js application with PM2: process management, ecosystem config files, systemd startup integration, and structured log rotation.

IntermediateUbuntuDebianFedoraArch
Distro Guides· 9 min read

RHEL vs Rocky vs AlmaLinux

CentOS is gone. Here's how RHEL, Rocky Linux, and AlmaLinux compare on governance, compatibility, certifications, and which to choose for production.

IntermediateUbuntuDebianFedoraArch
Maintenance & Troubleshooting· 7 min read

How to Recover a Forgotten Root Password

Forgot the Linux root password? Boot into single-user mode or use rd.break to reset it safely, with steps for Debian, Fedora/RHEL, and Arch.

IntermediateUbuntuDebianFedoraArch
Networking· 9 min read

Port Forwarding on Linux

Forward ports on Linux using nftables DNAT rules, SSH local/remote tunnels, and router NAT configuration — with persistence and troubleshooting tips.

IntermediateUbuntuDebianFedoraArch
Networking· 9 min read

MTU and Packet Fragmentation Explained

Learn what MTU is, how path MTU discovery works, why it breaks, and how to diagnose and fix MTU mismatches on Linux with practical commands and examples.

IntermediateUbuntuDebianFedoraArch
Maintenance & Troubleshooting· 9 min read

How to Manage Disk Partitions on Linux

Learn to create, resize, and format Linux disk partitions using fdisk and parted, covering GPT, ext4/xfs/btrfs filesystems, fstab, and safe resizing procedures.

IntermediateUbuntuDebianFedoraArch
Performance & Advanced· 9 min read

LVM: The Logical Volume Manager Explained

Learn how LVM works — Physical Volumes, Volume Groups, Logical Volumes — then create, resize, and snapshot volumes with real commands on any major Linux distro.

IntermediateUbuntuDebianFedoraArch
Security & Hardening· 12 min read

Linux Server Security Checklist

A step-by-step Linux server hardening checklist: secure SSH, firewall rules, automatic updates, service auditing, fail2ban, and intrusion detection for any internet-facing server.

IntermediateUbuntuDebianFedoraArch
Distro Guides· 9 min read

Linux on Old and Low-RAM Hardware

Breathe life into old hardware with lightweight Linux desktops, proper swap file setup, zram compression, and I/O tuning for machines with 1–4 GB of RAM.

IntermediateUbuntuDebianFedoraArch
Desktop & Daily Use· 10 min read

Linux for Astronomy

Set up KStars, Stellarium, and INDI on Linux for telescope control, automated imaging sequences, and image stacking with Siril.

IntermediateUbuntuDebianFedoraArch
Networking· 9 min read

Linux DNS Configuration

Configure Linux DNS end-to-end: understand /etc/resolv.conf, manage systemd-resolved, use /etc/hosts for static overrides, and verify with dig.

IntermediateUbuntuDebianFedoraArch
Desktop & Daily Use· 9 min read

Lightweight Window Managers and Desktops

Install and configure i3, Sway, and Openbox on Linux. Learn tiling vs floating WMs, minimal session setup, status bars, and autostart with systemd.

IntermediateUbuntuDebianFedoraArch
Networking· 8 min read

IP Masquerading and NAT on Linux

Set up IP masquerading and NAT on Linux using nftables to turn any machine into a router. Covers ip_forward, SNAT, DNAT, and iptables equivalents.

IntermediateUbuntuDebianFedoraArch
Server Setup· 9 min read

How to Install and Configure PostgreSQL

Install PostgreSQL on Debian, Fedora, or Arch, then configure roles, databases, pg_hba.conf authentication, and secure remote access in clear, production-ready steps.

IntermediateUbuntuDebianFedoraArch
Desktop & Daily Use· 8 min read

How to Install NVIDIA Drivers on Linux

Install NVIDIA proprietary drivers on Ubuntu, Debian, Fedora, and Arch Linux. Covers driver selection, Wayland setup, and troubleshooting common failures.

IntermediateUbuntuDebianFedoraArch
Server Setup· 9 min read

How to Install MySQL or MariaDB

Install MySQL or MariaDB on Debian, Fedora, or Arch; secure it with mysql_secure_installation; create users with least-privilege grants; and automate backups.

IntermediateUbuntuDebianFedoraArch
Server Setup· 9 min read

How to Install Docker on Linux

Install Docker Engine on Ubuntu, Debian, Fedora, RHEL, or Arch from the official repository, configure the docker group, run a first container, and get Compose working.

IntermediateUbuntuDebianFedoraArch
Server Setup· 9 min read

How to Install the Apache Web Server

Install Apache on Linux, enable modules, configure named virtual hosts, use .htaccess, and verify your setup — covering Debian, Ubuntu, Fedora, RHEL, and Arch.

IntermediateUbuntuDebianFedoraArch
Server Setup· 9 min read

How to Install and Configure nginx

Install nginx, configure server blocks and document roots, set up a reverse proxy to a local application, and verify everything with nginx -t and curl.

IntermediateUbuntuDebianFedoraArch
Security & Hardening· 9 min read

How to Install and Configure fail2ban

Install fail2ban, configure the SSH jail, tune ban times, write custom filters, and verify bans are working — on Debian, Fedora, and Arch.

IntermediateUbuntuDebianFedoraArch
Networking· 10 min read

How TCP/IP Networking Actually Works

Trace a TCP connection from socket to wire: routing table lookups, ARP, the three-way handshake, MTU/PMTUD, and how NAT rewrites packets on a Linux gateway.

IntermediateUbuntuDebianFedoraArch
Security & Hardening· 9 min read

How to Harden SSH on Linux

Lock down OpenSSH with key-only auth, disabled root login, user allowlists, and firewall rules. Step-by-step for Ubuntu, Fedora, RHEL, and Arch.

IntermediateUbuntuDebianFedoraArch
Server Setup· 8 min read

Free SSL Certificates with Let’s Encrypt

Issue and auto-renew free TLS certificates with Let's Encrypt and Certbot for Nginx or Apache on Ubuntu, Fedora, and Arch Linux.

IntermediateUbuntuDebianFedoraArch
Maintenance & Troubleshooting· 9 min read

How to Diagnose High CPU and Memory Usage

Learn to diagnose Linux CPU and memory problems using top, htop, load average, and the OOM killer log—from spotting runaway processes to preventing OOM kills.

IntermediateUbuntuDebianFedoraArch
Desktop & Daily Use· 9 min read

How to Fix Audio Problems on Linux

Fix Linux audio issues step by step: identify PipeWire vs PulseAudio, unmute ALSA channels, select the right output device, reload drivers, and verify hardware.

IntermediateUbuntuDebianFedoraArch
Maintenance & Troubleshooting· 8 min read

How to Fix a Broken GRUB Bootloader

Fix a broken GRUB bootloader by booting from live media, chrooting into your installed system, reinstalling GRUB, and regenerating grub.cfg — covers BIOS/MBR and UEFI/GPT.

IntermediateUbuntuDebianFedoraArch
Security & Hardening· 10 min read

How to Encrypt a Disk with LUKS

Encrypt a full disk or individual partition on Linux using LUKS2 and cryptsetup, including key management, boot integration, and header backups.

IntermediateUbuntuDebianFedoraArch
Getting Started· 9 min read

How to Dual-Boot Linux and Windows

Shrink the Windows partition, install Linux without breaking the bootloader, configure GRUB, and handle Secure Boot — all in the correct order.

IntermediateUbuntuDebianFedoraArch
Server Setup· 9 min read

How to Create a systemd Service

Learn to write systemd service unit files from scratch: unit types, dependency directives, restart policies, enabling at boot, and reading logs with journalctl.

IntermediateUbuntuDebianFedoraArch
Security & Hardening· 9 min read

How to Configure sudo Safely

Learn to configure sudo securely using visudo, sudoers syntax, per-command restrictions, NOPASSWD, and drop-in files to enforce least-privilege access on Linux.

IntermediateUbuntuDebianFedoraArch
Server Setup· 9 min read

Configure a Squid Proxy with Webmin

Install Squid and the Webmin Squid module, configure disk and memory caching, set LAN access controls, and verify the proxy is serving cached responses.

IntermediateUbuntuDebianFedoraArch
Server Setup· 8 min read

How to Configure the SMTP HELO/EHLO Name

Set the correct SMTP HELO/EHLO hostname in Postfix and Sendmail, configure FCrDNS records, and verify your mail server won't be rejected or spam-flagged.

IntermediateUbuntuDebianFedoraArch
Server Setup· 9 min read

Configure a UPS on Linux with NUT

Install and configure Network UPS Tools (NUT) on Linux to detect your UPS, load the right driver, and trigger a safe automatic shutdown when battery runs low.

IntermediateUbuntuDebianFedoraArch
Command Line· 10 min read

C Pointers Explained

Understand C pointers from first principles: addresses, dereferencing, pointer arithmetic, arrays, common bugs like null dereferences and dangling pointers, and how to use ASan and Valgrind.

IntermediateUbuntuDebianFedoraArch
Performance & Advanced· 9 min read

How to Build Software from Source on Linux

Build Linux software from source using configure, make, and make install — with dependency tips, CMake and Meson coverage, and clean-install strategies.

IntermediateUbuntuDebianFedoraArch
Server Setup· 12 min read

Build an Intranet Server on Linux

Set up a complete small-office intranet on one Linux box: Nginx web server, dnsmasq local DNS, Samba file sharing, and a Wiki.js team wiki.

IntermediateUbuntuDebianFedoraArch
Performance & Advanced· 10 min read

Btrfs Basics and Snapshots

Learn Btrfs subvolumes, instant copy-on-write snapshots, and safe system rollback — with both manual btrfs commands and Snapper automation.

IntermediateUbuntuDebianFedoraArch
Distro Guides· 9 min read

The Best Linux Distros for Servers

Compare Ubuntu LTS, Debian, AlmaLinux, Rocky Linux, RHEL, Arch, and SLES for server use: support lifecycles, stability trade-offs, and how to choose the right fit.

IntermediateUbuntuDebianFedoraArch
Security & Hardening· 9 min read

AppArmor Explained

Learn how AppArmor profiles work, how to switch between enforce and complain mode, create new profiles, and diagnose access denials on Ubuntu, Debian, and Arch.

IntermediateUbuntuDebianFedoraArch