$linuxjunkies
>

Linux guides

193 guides.

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· 6 min read

How to Use tldr for Quick Command Help

Install tealdeer or the Node.js tldr client, populate the offline cache, and look up practical command examples faster than man pages allow.

BeginnerUbuntuDebianFedoraArch
Command Line· 7 min read

How to Use ripgrep (rg) Instead of grep

ripgrep (rg) is a fast, Rust-powered grep replacement with gitignore support built in. Learn installation, regex syntax, and the most useful flags.

BeginnerUbuntuDebianFedoraArch
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
Command Line· 7 min read

How to Use fd Instead of find

Learn to use fd, the modern find alternative: friendlier syntax, smart defaults, .gitignore support, and parallel command execution with --exec.

BeginnerUbuntuDebianFedoraArch
Command Line· 7 min read

How to Use bat as a Better cat

Learn how to use bat as a modern replacement for cat, with syntax highlighting, line numbers, paging control, and Git diff integration on Linux.

BeginnerUbuntuDebianFedoraArch
Performance & Advanced· 12 min read

How to Tune PostgreSQL for Performance

Tune PostgreSQL for production by configuring shared_buffers, work_mem, autovacuum, index hygiene, and pg_stat_statements query profiling — with per-distro commands.

AdvancedUbuntuDebianFedoraArch
Networking· 10 min read

How to Build a WireGuard Mesh Between Servers

Build a WireGuard mesh VPN across multiple servers: key generation, per-node configs, AllowedIPs routing logic, NAT traversal, firewall rules, and full verification.

AdvancedUbuntuDebianFedoraArch
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· 8 min read

How to Set Up Tailscale on Linux

Install Tailscale on Linux, authenticate devices, configure ACLs, and enable MagicDNS to build a secure WireGuard mesh VPN in minutes.

BeginnerUbuntuDebianFedoraArch
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
Server Setup· 12 min read

How to Set Up Kubernetes with k3s

Set up a lightweight Kubernetes cluster with k3s on Linux: single-node or multi-node, kubectl config, and your first real deployment in under 30 minutes.

AdvancedUbuntuDebianFedoraArch
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
Security & Hardening· 8 min read

How to Scan a Linux System for Malware with ClamAV

Install ClamAV on Linux, update virus signatures with freshclam, run on-demand and scheduled scans, and verify detection works with the EICAR test file.

BeginnerUbuntuDebianFedoraArch
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
Performance & Advanced· 9 min read

How to Observe a Linux System with eBPF

Use bpftrace one-liners and BCC tools to trace syscalls, I/O latency, CPU flame graphs, and TCP sessions on a live Linux system with minimal overhead.

AdvancedUbuntuDebianFedoraArch
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
Getting Started· 9 min read

Linux vs macOS: How They Compare

A practical comparison of Linux and macOS for developers and switchers: terminal tools, package managers, hardware support, and daily workflow differences.

BeginnerUbuntuDebianFedoraArch
Command Line· 10 min read

How to Learn Regular Expressions on Linux

Learn regex on Linux from the ground up: character classes, anchors, quantifiers, and hands-on practice with grep, sed, awk, and ripgrep.

BeginnerUbuntuDebianFedoraArch
Desktop & Daily Use· 8 min read

How to Install Zsh and Oh My Zsh

Install Zsh and Oh My Zsh on Linux, set Zsh as your default shell, configure Powerlevel10k, and add syntax highlighting and autosuggestion plugins.

BeginnerUbuntuDebianFedoraArch
Getting Started· 9 min read

How to Install Zorin OS for Windows Switchers

Install Zorin OS on any PC for a Windows-like Linux experience — bootable USB, disk partitioning, layout chooser, pre-installed apps, and first troubleshooting steps.

BeginnerUbuntuDebianFedoraArch
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
Desktop & Daily Use· 8 min read

How to Install and Use the Fish Shell

Install Fish shell on Linux, set it as your default, and learn abbreviations, autosuggestions, and how to migrate your bash habits in one practical guide.

BeginnerUbuntuDebianFedoraArch
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
Getting Started· 9 min read

How to Install Pop!_OS

Install Pop!_OS step by step: pick the right NVIDIA or Intel ISO, write a bootable USB, configure disk encryption, and complete day-one setup.

BeginnerUbuntuDebianFedoraArch
Getting Started· 12 min read

How to Install NixOS

Install NixOS from scratch: partition disks, write configuration.nix, pick a channel, run nixos-install, and master the nixos-rebuild workflow for atomic system changes.

AdvancedUbuntuDebianFedoraArch
Getting Started· 9 min read

How to Install Manjaro Linux

Install Manjaro Linux the right way: verify the ISO, run the Calamares installer, pick a kernel, configure drivers, and harden your new system in minutes.

BeginnerUbuntuDebianFedoraArch
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
Getting Started· 9 min read

How to Install Debian 12 (Bookworm)

Step-by-step walkthrough of the Debian 12 Bookworm installer: disk partitioning, tasksel, GRUB setup, and essential post-install configuration.

BeginnerUbuntuDebianFedoraArch
Server Setup· 8 min read

How to Install Caddy: The TLS-Automatic Web Server

Install Caddy web server, configure the Caddyfile, get automatic HTTPS from Let's Encrypt, and set up reverse proxying in under 15 minutes.

BeginnerUbuntuDebianFedoraArch
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
Maintenance & Troubleshooting· 6 min read

How to Fix "Could not get lock /var/lib/dpkg/lock"

Fix the /var/lib/dpkg/lock error safely: identify the process holding the lock, handle stale files, and repair the package database without causing corruption.

BeginnerUbuntuDebianFedoraArch
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
Security & Hardening· 12 min read

How to Configure ModSecurity as a Web Application Firewall

Install ModSecurity with OWASP CRS on Apache or Nginx, run it in detection mode to catch false positives, tune exclusions, then enforce blocking.

AdvancedUbuntuDebianFedoraArch
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
Performance & Advanced· 10 min read

ZFS on Linux: The Basics

Set up OpenZFS on Linux: create pools with mirroring or RAID-Z, manage datasets with compression and quotas, and use snapshots for instant backups.

AdvancedUbuntuDebianFedoraArch
Command Line· 12 min read

X11 Programming with the Athena Widgets

Build a working X11 GUI application using Xlib, the Xt Intrinsics, and the Athena widget set — covering the full stack from wire protocol to compiled binary.

AdvancedUbuntuDebianFedoraArch
Command Line· 9 min read

X11 Pixmaps and Bitmaps

Learn X11 XPM and XBM image formats: file structure, creation with ImageMagick, loading via Xlib/libxpm in C, viewing tools, and when to migrate to PNG or SVG.

AdvancedUbuntuDebianFedoraArch
Getting Started· 8 min read

WSL: Run Linux on Windows

Install WSL2 on Windows 10 or 11, pick a Linux distro, access files across both systems, and enable systemd for full service management.

BeginnerUbuntuDebianFedoraArch
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
Getting Started· 9 min read

Windows to Linux: App Alternatives for Everything

A practical mapping of Windows software to Linux equivalents covering office, photo editing, audio production, development tools, and gaming.

BeginnerUbuntuDebianFedoraArch
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· 8 min read

Vim for Beginners

Learn Vim's modal editing model from scratch: modes, movement, editing, saving, search, and the essential commands every Linux user needs to know.

BeginnerUbuntuDebianFedoraArch
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
Networking· 8 min read

How to Use the ip Command

Master the ip command to manage interfaces, addresses, routes, and ARP neighbours — the modern replacement for ifconfig, route, and arp on Linux.

BeginnerUbuntuDebianFedoraArch
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
Getting Started· 8 min read

Understanding Linux File Permissions

Master Linux file permissions from scratch: understand rwx bits, owner/group/other classes, chmod numeric and symbolic modes, chown, and the sticky bit.

BeginnerUbuntuDebianFedoraArch
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
Distro Guides· 9 min read

Ubuntu vs Debian: Which Should You Use?

Debian and Ubuntu share a foundation but differ on release cadence, package freshness, and default tooling. Here's how to pick the right one for your workload.

BeginnerUbuntuDebianFedoraArch
Performance & Advanced· 9 min read

How to Tune Kernel Parameters with sysctl

Learn how to tune Linux kernel parameters at runtime and permanently using sysctl and /etc/sysctl.d, with practical network and VM tunables explained.

AdvancedUbuntuDebianFedoraArch
Getting Started· 9 min read

Try Linux Without Installing: Live USB Guide

Run Linux from a flash drive without touching your hard drive. This guide covers creating a live USB with Ventoy or Etcher, enabling persistence, and testing hardware compatibility.

BeginnerUbuntuDebianFedoraArch
Networking· 9 min read

How to Troubleshoot Network Connectivity

Diagnose Linux network problems layer by layer using ip, ping, traceroute, ss, and dig — from interface state to DNS resolution.

BeginnerUbuntuDebianFedoraArch
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
Performance & Advanced· 11 min read

The Linux Framebuffer Console

Understand Linux framebuffer internals, the fbdev-to-DRM/KMS evolution, and how to set a crisp high-resolution console with the right kernel parameters.

AdvancedUbuntuDebianFedoraArch
Distro Guides· 11 min read

The History of Berkeley Unix (BSD)

From Bell Labs to Berkeley to the courtroom: how BSD Unix was built, fought over, and shaped the open-source software world that Linux users live in today.

BeginnerUbuntuDebianFedoraArch
Networking· 9 min read

TCP/IP Protocols Explained

Understand IP, TCP, UDP, ICMP, ports, and the four-layer model — the core networking concepts every Linux sysadmin must know before touching a firewall or debugg

BeginnerUbuntuDebianFedoraArch
Desktop & Daily Use· 7 min read

How to Take Screenshots on Linux

Learn how to take screenshots on Linux using GNOME and KDE built-in tools, Flameshot with annotations, and Wayland-compatible command-line utilities.

BeginnerUbuntuDebianFedoraArch
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
Distro Guides· 9 min read

How to Switch from Windows to Linux

A practical migration plan covering backups, dual-booting, app replacements, and Linux habits — for Windows users making the switch for the first time.

BeginnerUbuntuDebianFedoraArch
Command Line· 10 min read

SSH: The Complete Guide

Master SSH from first login to port forwarding: key-based auth, client config files, the SSH agent, and local/remote tunnels on any Linux distribution.

BeginnerUbuntuDebianFedoraArch
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
Performance & Advanced· 12 min read

Software RAID on Linux with mdadm

Build and manage Linux software RAID arrays with mdadm: choose the right RAID level, create and persist the array, monitor health, replace a failed disk, and handle boot safely.

AdvancedUbuntuDebianFedoraArch
Security & Hardening· 8 min read

Shadow Passwords Explained

Learn why /etc/shadow exists, how to read its nine fields, which hashing algorithms are current, and how to manage password aging with chage, pwconv, and pwck.

BeginnerUbuntuDebianFedoraArch
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
Performance & Advanced· 9 min read

How to Set Up KVM Virtualization

Set up KVM/QEMU virtualization on Linux with libvirt and virt-manager. Covers hardware checks, installation on Ubuntu, Fedora, and Arch, networking, and creating VMs.

AdvancedUbuntuDebianFedoraArch
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
Desktop & Daily Use· 7 min read

How to Set Up Bluetooth on Linux

Install BlueZ, pair Bluetooth devices from the command line or GUI, configure audio profiles with PipeWire, and fix the most common Bluetooth issues on Linux.

BeginnerUbuntuDebianFedoraArch
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· 7 min read

How to Set Up a Firewall with UFW

Learn to configure UFW on Linux: set secure default policies, open only the ports you need, read existing rules, and verify your firewall is working correctly.

BeginnerUbuntuDebianFedoraArch
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· 12 min read

How to Set Up a DNS Server with BIND

Install and configure BIND 9 as a caching resolver and authoritative nameserver, with forward/reverse zones, common resource records, and firewall rules.

AdvancedUbuntuDebianFedoraArch
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
Security & Hardening· 12 min read

SELinux Explained (and How to Live With It)

Learn SELinux modes, file contexts, booleans, and how to fix denials with restorecon, setsebool, and audit2allow — without ever disabling it.

AdvancedUbuntuDebianFedoraArch
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
Desktop & Daily Use· 11 min read

Remote X Sessions with XDMCP (and modern alternatives)

Learn how XDMCP works, why it is insecure, and how to replace it with X2Go, VNC-over-SSH, xrdp, or native Wayland remoting on modern Linux systems.

AdvancedUbuntuDebianFedoraArch
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
Maintenance & Troubleshooting· 8 min read

How to Read Logs with journalctl

Learn to filter systemd journal logs by unit, time, and priority with journalctl, follow logs live, and manage disk usage on any modern Linux system.

BeginnerUbuntuDebianFedoraArch
Performance & Advanced· 12 min read

How to Profile Linux Performance

Learn to profile Linux performance using the USE method, perf stat, perf record, flame graphs, and scheduler tracing to systematically find CPU, memory, and I/O bottlenecks.

AdvancedUbuntuDebianFedoraArch
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
Desktop & Daily Use· 9 min read

How to Play Games on Linux with Steam and Proton

Install Steam, enable Proton, use ProtonDB to check compatibility, and set up Lutris to run Windows games on any major Linux distro.

BeginnerUbuntuDebianFedoraArch
Command Line· 9 min read

Pipes and Redirection in Bash

Master Bash pipes and redirection: learn stdin, stdout, stderr, |, >, >>, 2>&1, /dev/null, tee, xargs, and how to build reliable command pipelines.

BeginnerUbuntuDebianFedoraArch
Networking· 12 min read

Multicast Networking on Linux

Configure IPv4/IPv6 multicast on Linux: addressing, IGMP group membership, interface flags, and live testing with iperf3 and socat.

AdvancedUbuntuDebianFedoraArch
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· 8 min read

How to Mount and Unmount Drives

Learn how to mount and unmount drives on Linux using mount, umount, and /etc/fstab with UUIDs for reliable, persistent automounting across reboots.

BeginnerUbuntuDebianFedoraArch
Command Line· 9 min read

How to Monitor Processes on Linux

Learn to monitor Linux processes with ps, top, htop, and btop. Covers reading process states, killing processes safely, and tuning CPU priority with nice/renice.

BeginnerUbuntuDebianFedoraArch
Command Line· 9 min read

Master the grep Command

Learn grep from plain string searches to recursive directory scans, regular expressions, context flags, and practical log-analysis one-liners on Linux.

BeginnerUbuntuDebianFedoraArch
Maintenance & Troubleshooting· 7 min read

How to Manage Services with systemctl

Learn to start, stop, enable, disable, and mask Linux services using systemctl, plus how to read failures and diagnose problems with journalctl.

BeginnerUbuntuDebianFedoraArch
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
Maintenance & Troubleshooting· 8 min read

Linux Troubleshooting: A Practical First-Response Guide

A repeatable first-response method for Linux problems: read the error carefully, query journalctl, isolate the triggering change, search precisely, and ask for help effectively.

BeginnerUbuntuDebianFedoraArch
Server Setup· 14 min read

Building Linux Thin Clients

Deploy Linux thin clients using modern LTSP, PXE boot, and NFS root setups. Covers server config, squashfs images, UEFI/BIOS PXE, and Wayland caveats.

AdvancedUbuntuDebianFedoraArch
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
Networking· 9 min read

Linux Networking Fundamentals

Master Linux networking from the ground up: interfaces, IP addressing, gateways, DNS, and the essential tools ip, ping, and ss with distro-specific examples.

BeginnerUbuntuDebianFedoraArch
Getting Started· 8 min read

Linux Hardware Compatibility: What Works and How to Check

Check GPU, Wi-Fi, and printer compatibility before installing Linux. Learn lspci, lsusb, firmware packages, and the best lookup resources for your hardware.

BeginnerUbuntuDebianFedoraArch
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
Getting Started· 8 min read

The Linux File System for Beginners

Learn how Linux organizes files into a single directory tree: what / vs /home means, how mount points work, and where binaries, configs, and logs live.

BeginnerUbuntuDebianFedoraArch
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
Command Line· 9 min read

The Linux Command Line for Absolute Beginners

Learn the Linux command line from scratch: what the shell is, how to navigate with cd/ls/pwd, manage files, and master your first essential commands.

BeginnerUbuntuDebianFedoraArch
Networking· 10 min read

Limit Bandwidth on Linux with tc

Shape Linux network traffic with tc, HTB qdiscs, and fq_codel. Enforce per-interface and per-host bandwidth limits that survive reboots via systemd.

AdvancedUbuntuDebianFedoraArch
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
Maintenance & Troubleshooting· 9 min read

How to Keep Linux Updated

Learn how to safely update Debian, Ubuntu, Fedora, RHEL, and Arch Linux systems using apt, dnf, and pacman — including how to hold or exclude packages.

BeginnerUbuntuDebianFedoraArch
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
Networking· 9 min read

An Introduction to TCP/IP

Learn how TCP/IP works — IP addressing, routing, TCP vs UDP, ports, DNS, and the layered model — with practical Linux commands to see it all in action.

BeginnerUbuntuDebianFedoraArch
Performance & Advanced· 12 min read

An Introduction to eBPF

Learn what eBPF is, how the kernel verifier keeps it safe, and how to use bpftrace to trace syscalls, disk I/O, and CPU scheduling with working examples.

AdvancedUbuntuDebianFedoraArch
Performance & Advanced· 10 min read

An Introduction to cgroups

Learn how cgroups v2 work, how systemd maps services onto the cgroup tree, and how to set CPU, memory, and I/O limits for processes and services.

AdvancedUbuntuDebianFedoraArch
Getting Started· 9 min read

How to Install Ubuntu 24.04 LTS Desktop

Install Ubuntu 24.04 LTS Desktop step by step: create a bootable USB, partition your disk, set up your user account, and apply first-boot updates.

BeginnerUbuntuDebianFedoraArch
Desktop & Daily Use· 9 min read

How to Install Software on Linux

Learn how to install software on Linux using apt, dnf, pacman, Flatpak, Snap, and AppImage — with clear guidance on when to use each method.

BeginnerUbuntuDebianFedoraArch
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
Getting Started· 9 min read

How to Install Linux Mint

Step-by-step walkthrough to install Linux Mint alongside or instead of Windows — from downloading the ISO to applying your first updates.

BeginnerUbuntuDebianFedoraArch
Getting Started· 9 min read

Install Linux in a Virtual Machine

Install Linux in VirtualBox or KVM (GNOME Boxes/virt-manager), configure guest additions for clipboard and display, and take snapshots for safe experimentation.

BeginnerUbuntuDebianFedoraArch
Desktop & Daily Use· 7 min read

How to Install Fonts on Linux

Install fonts on Linux for a single user or system-wide, understand fontconfig's directory layout, and refresh the font cache so apps pick them up immediately.

BeginnerUbuntuDebianFedoraArch
Getting Started· 8 min read

How to Install Fedora Workstation

Step-by-step guide to installing Fedora Workstation 40: create a bootable USB with Fedora Media Writer, partition your disk in Anaconda, and complete first-run setup.

BeginnerUbuntuDebianFedoraArch
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
Distro Guides· 12 min read

How to Install Arch Linux

Install Arch Linux using the guided archinstall script or the full manual method — covering partitioning, base system, bootloader, and first-boot setup.

AdvancedUbuntuDebianFedoraArch
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
Desktop & Daily Use· 8 min read

HP Printers and Hardware on Linux

Install HPLIP and CUPS on Linux to print and scan with HP printers. Covers USB and network setup, SANE scanning, and common troubleshooting steps.

BeginnerUbuntuDebianFedoraArch
Getting Started· 9 min read

How to Download and Install Linux

Choose a Linux distro, download and verify the ISO, write it to USB with dd or Etcher, then boot and run the graphical installer — covered step by step.

BeginnerUbuntuDebianFedoraArch
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
Server Setup· 8 min read

How to Host a Website on a Linux Server

From a fresh VPS to a live HTTPS site: configure DNS, install Nginx, set up a virtual host, and issue a free Let's Encrypt TLS certificate with Certbot.

BeginnerUbuntuDebianFedoraArch
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
Command Line· 12 min read

GTK GUI Programming on Linux

Build, run, and package GTK4 applications on Linux using C and Python. Covers the GObject model, signals, Meson builds, .desktop files, and Flatpak.

AdvancedUbuntuDebianFedoraArch
Command Line· 9 min read

Git from the Command Line

Learn Git from the terminal: install, configure, init or clone a repo, stage and commit changes, create branches, merge, and push to a remote.

BeginnerUbuntuDebianFedoraArch
Maintenance & Troubleshooting· 9 min read

How to Free Up Disk Space on Linux

Recover gigabytes on any Linux system by clearing package caches, trimming the systemd journal, removing old kernels, and hunting large files with ncdu.

BeginnerUbuntuDebianFedoraArch
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
Getting Started· 9 min read

10 Things to Do After Installing Linux

Ten essential post-install steps for any Linux desktop: updates, drivers, firewall, codecs, backups, SSH hardening, and service cleanup — all with modern commands.

BeginnerUbuntuDebianFedoraArch
Command Line· 9 min read

How to Find Files on Linux

Learn to find files on Linux using find, locate, and fd — covering searches by name, size, modification time, and running actions on results.

BeginnerUbuntuDebianFedoraArch
Desktop & Daily Use· 8 min read

Esperanto and Multilingual Support on Linux

Add Esperanto locale, keyboard layout, and input methods on Linux. A practical walkthrough covering GNOME, KDE, Wayland, TTY, and Fcitx5 that applies to any language.

BeginnerUbuntuDebianFedoraArch
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
Desktop & Daily Use· 9 min read

How to Customize the GNOME Desktop

Customize GNOME with Tweaks, Extension Manager, GTK and Shell themes, keyboard shortcuts, and fixed workspaces — practical steps for GNOME 44/45.

BeginnerUbuntuDebianFedoraArch
Desktop & Daily Use· 9 min read

How to Customize KDE Plasma

Customize KDE Plasma with themes, widgets, activities, and System Settings tweaks. Covers all major distros, Wayland, and config file locations.

BeginnerUbuntuDebianFedoraArch
Command Line· 9 min read

Cron Jobs Explained

Master cron job scheduling on Linux: full crontab syntax, environment variables, output logging, and when to use systemd timers instead.

BeginnerUbuntuDebianFedoraArch
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
Networking· 7 min read

How to Configure a Static IP on Linux

Configure a static IP on Linux using Netplan, NetworkManager (nmcli), or systemd-networkd across Ubuntu, Fedora, Debian, and Arch with verified steps.

BeginnerUbuntuDebianFedoraArch
Performance & Advanced· 10 min read

How to Compile the Linux Kernel

Step-by-step guide to downloading, configuring, compiling, and booting a custom Linux kernel from kernel.org on Debian, Fedora, and Arch Linux.

AdvancedUbuntuDebianFedoraArch
Networking· 9 min read

Common Linux Network Ports Reference

Learn Linux port ranges, read /etc/services, find what's listening with ss and nmap, and apply solid firewall rules to expose or block the right ports.

BeginnerUbuntuDebianFedoraArch
Getting Started· 9 min read

How to Choose a Linux Distribution

Match a Linux distro to your real needs — desktop, server, rolling vs LTS, hardware quirks, and package ecosystems — without wading through marketing noise.

BeginnerUbuntuDebianFedoraArch
Maintenance & Troubleshooting· 8 min read

How to Check Disk Health with SMART

Learn to use smartctl to read SMART attributes, run drive self-tests, and identify early warning signs of HDD and SSD failure before data loss occurs.

BeginnerUbuntuDebianFedoraArch
Server Setup· 5 min read

How to Change the Webmin Port

Move Webmin off its default port 10000 by editing miniserv.conf, updating your firewall (ufw, firewalld, or nftables), and restarting the service.

BeginnerUbuntuDebianFedoraArch
Command Line· 12 min read

C Serial Port Programming on Linux

Learn to open /dev/ttyS* and /dev/ttyUSB* in C, configure raw mode with termios, handle blocking reads, and debug serial link problems on Linux.

AdvancedUbuntuDebianFedoraArch
Command Line· 10 min read

A C Programming Tutorial for Linux

Learn C on Linux from hello-world through gcc flags, header files, multi-file projects, make, and the standard library — with real commands and examples.

BeginnerUbuntuDebianFedoraArch
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
Distro Guides· 9 min read

The Best Linux Distros for Beginners

The best Linux distros for beginners in 2024: Ubuntu, Linux Mint, Fedora, and Pop!_OS compared with honest pros, cons, and setup tips.

BeginnerUbuntuDebianFedoraArch
Command Line· 9 min read

Bash Scripting for Beginners

Learn Bash scripting from scratch: shebang lines, variables, conditionals, loops, and arguments, plus a real backup script to tie it all together.

BeginnerUbuntuDebianFedoraArch
Command Line· 9 min read

Bash Loops: for, while and until

Learn all three Bash loop types — for, while, and until — with practical, copy-paste examples covering file iteration, counting, polling, and safe line reading.

BeginnerUbuntuDebianFedoraArch
Getting Started· 9 min read

How to Back Up Your Linux System

Learn how to back up your Linux system using Timeshift, rsync, Borg, and Restic — then tie it all together with a practical 3-2-1 backup routine.

BeginnerUbuntuDebianFedoraArch
Security & Hardening· 8 min read

How to Enable Automatic Security Updates

Enable automatic security updates on Debian, Ubuntu, Fedora, and RHEL using unattended-upgrades and dnf-automatic — configured to patch safely without manual effort.

BeginnerUbuntuDebianFedoraArch
Security & Hardening· 12 min read

How to Audit a Linux System with auditd

Set up auditd on Linux to track file access, syscalls, and privilege use. Covers persistent rules, file watches, ausearch, and aureport across major distros.

AdvancedUbuntuDebianFedoraArch
Performance & Advanced· 12 min read

Assembly Language on Linux: A Starter Guide

Write x86-64 assembly on Linux from scratch: install NASM and GAS, learn syscalls, assemble and link a working program, then inspect and debug it.

AdvancedUbuntuDebianFedoraArch
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
Performance & Advanced· 12 min read

AI and Artificial-Life Tools on Linux

Set up open-source AI/ML and artificial-life toolkits on Linux: PyTorch, JAX, DEAP, Avida, NetLogo, and RL environments with GPU driver guidance.

AdvancedUbuntuDebianFedoraArch