. , . , . , . , . , . , . , . , . , . , . , . , . , . , . , . , . , . , . , . , . , . , . , . , . , . , . , . , . ,

$ sudowheel

Linux articles, guides, and deep dives

sudowheel ~ welcome
$ cat /etc/motd
Welcome to sudowheel.com
Practical Linux knowledge. No fluff. No filler.
Written by people who love Linux.
$ ls ./latest-articles/
identify-process-using-port-linux.html linux-wheel-group-march-2026.html ruby-linux.html inside-nginx.html systemd.html
Latest Articles

The LAPP Stack: Linux, Apache, PostgreSQL, and PHP

The LAPP stack swaps MySQL for PostgreSQL -- and this guide explains precisely why that matters. Complete Ubuntu 24.04 installation with PHP 8.4-FPM, pg_hba.conf hardening, virtual host configuration, TLS setup, and a technical account of PostgreSQL 18's new async I/O subsystem.

How to Find Which Process Is Using a Port on Linux

Port conflict? lsof, ss, and fuser give you the answer in seconds. Covers MITRE ATT&CK T1049 and T1571, the attacker's use of the same tools, container namespace visibility gaps, /proc/net internals, rootkit evasion, and scripting port checks for automation.

Linux GPU Drivers: NVIDIA, AMD, and Intel Explained

NVIDIA open kernel module vs proprietary, AMD's all-in RADV stack after AMDVLK's discontinuation, Intel Xe on Battlemage and Lunar Lake, Wayland explicit sync, Secure Boot MOK enrollment, PRIME offloading, and NVK for a fully open-source NVIDIA path. Updated for the 2026 driver landscape.

How to Check Linux Hardware Compatibility Before Switching (2026 Guide)

PCI IDs, firmware blobs, GPU drivers across Intel, AMD, and NVIDIA legacy branches, wireless cards, Bluetooth, audio, storage controllers, Secure Boot, and laptop peripherals -- with live USB testing commands, an interactive failure diagnosis tree, and resolution paths for every class of driver problem. Updated for kernel 6.19 and the 2025–2026 driver landscape.

How to Find Which Process Is Using a Port on Linux

Port conflict? lsof, ss, and fuser give you the answer in seconds. Covers MITRE ATT&CK T1049 and T1571, the attacker's use of the same tools, container namespace visibility gaps, /proc/net internals, rootkit evasion, and scripting port checks for automation.

Linux GTK WiFi: nm-applet, libnma, and the Tray Icon Problem Nobody Talks About

The full architecture of Linux WiFi under GTK -- why your tray icon vanishes on Wayland, the XEmbed vs StatusNotifierItem split, how nm-applet 1.36 auto-selects SNI outside X11, wpa_supplicant vs iwd as backends, and the nmcli commands that replace the GUI entirely.

Automating Pinggy on Linux with systemd

Running a Pinggy tunnel manually is fine for a test. Running it reliably after every reboot, with automatic restarts on failure and logs that survive across sessions -- that requires systemd. This is the complete guide to doing it right.

Bash vs Zsh vs Fish: Choosing the Right Shell for Your Linux Workflow

Architecture, internals, and real-world workflow implications of the three shells. The choice of shell is architectural -- it shapes how fast you move, how readable your automation is, and how deeply you understand what Linux is doing beneath the surface.

View Last 50 Lines of a Log File in Linux: tail -n and Everything Around It

The command is tail -n 50 /path/to/logfile. Stick around and you will also get live log following with -f vs -F, grep filtering with line buffering, multi-file tailing, log rotation awareness, and the patterns experienced sysadmins reach for every day.

systemd-journald: Effective Configuration for Production Systems

Storage modes, disk quotas, Forward Secure Sealing, rate limiting, journal namespaces, and forwarding strategies -- with production-ready drop-in configs and defaults verified against current upstream man pages.

Bash Scripting for Beginners: Automate Your Way to Efficiency

From your first script to cron-scheduled automation -- variables, loops, conditionals, functions, error handling with set -euo pipefail, security pitfalls, input validation, and real-world patterns you can use today.

error: beginning maxstartups throttling -- What sshd Is Telling You (and How to Fix It)

When your SSH daemon drops connections with "beginning maxstartups throttling," it is doing exactly what it was designed to do. Covers the three-value syntax, the security tradeoff, diagnosing attack vs automation traffic, PerSourcePenalties in OpenSSH 9.8+, bastion tuning, and CI pipeline fixes.

ZJIT: Inside Ruby 4.0's Next-Generation JIT Compiler on Linux

Ruby shipped a ground-up new JIT compiler on Christmas 2025. ZJIT uses SSA-based HIR and method-level compilation to target a higher performance ceiling than YJIT was ever designed to reach. Here is how its architecture works, how to enable and profile it on Linux, and what the road to Ruby 4.1 production readiness actually looks like.

How to Monitor Syslog in Real Time with tail -f

The command is tail -F /var/log/syslog. The depth behind it is not simple -- from -f vs -F and log rotation behavior, to grep filtering with line buffering, journalctl on systemd systems, and the full distribution map including Amazon Linux 2023.

Linux Neofetch: The Complete Guide to a Terminal Icon (And What Comes Next)

Neofetch defined a generation of Linux terminal aesthetics. How it works, how to configure it, why Dylan Araps archived it in 2024, and which actively maintained alternatives -- Fastfetch, HyFetch, and others -- you should be running today.

Ubuntu Server Management: A Practical Guide for 2026

From first-boot hardening to patch automation, Livepatch to Landscape -- a production-ready walkthrough of Ubuntu 24.04 LTS covering UFW, Fail2ban, AppArmor, unattended-upgrades, auditd, and the full Canonical toolchain.

Automating Pinggy Tunnels on Linux with OpenTofu

Pinggy works out of the box with a single SSH command. But when you have a fleet of machines, CI pipelines, or environments that need tunnels on every boot, you need something repeatable and auditable. This is where OpenTofu -- the open-source Terraform fork managed by the Linux Foundation -- fits in.

Search Command History in Linux with Ctrl+R

Press Ctrl+R, type a few characters, hit Enter. Behind that simple gesture is GNU Readline's reverse incremental search, a history file with configurable limits, cross-session sync, timestamps, bang shortcuts, and fzf fuzzy matching. The complete reference -- from keyboard shortcuts to a production-ready ~/.bashrc config.

Python for Linux System Administration: The Practical Guide

From subprocess and psutil to Fabric and Paramiko -- how to use Python to automate, monitor, and manage Linux systems at scale. We cover a few modules worth knowing, and some patterns that hold up in production, how to build scripts you can hand off, and the mistakes worth avoiding before you find them the hard way.

Binary and Linux: The Invisible Language Beneath the System

Every file, process, and system call ultimately resolves to binary. This exploration traces the invisible thread connecting ones and zeros to the Linux system you run every day -- from ELF headers, DWARF debug information, and the vDSO to kernel data structures, seccomp-BPF syscall filtering, and hands-on exercises that let you build, patch, and inspect binaries yourself.

The Linux Wheel Group: History, Mechanics, and the Right Way to Use It

From a 1969 TENEX privilege bit to the gatekeeper of root access on every RHEL server today -- the complete story of the wheel group, how it works under the hood, and how attackers and defenders both read the same /etc/group file.

Understanding pacman: Arch Linux's Package Manager in Depth

From dependency resolution to repository management, parallel downloads to package signing -- a complete technical walkthrough of the package manager at the heart of Arch Linux and its derivatives.

Ruby on Linux: A Field Manual

From sockets to /proc, file I/O to process forking -- a comprehensive look at Ruby as a first-class Linux scripting and automation language. We cover the full stack: version management, OOP, regex, networking, concurrency, and production-grade system tooling.

Inside Nginx: Architecture, Internals, and Production Craft

How Nginx actually works: the module system and ngx_module_t, memory pools per connection and per request, the 11-phase request pipeline, epoll and the event loop, HTTP/3 over QUIC, the upstream state machine, Brotli, TLS hardening, and production configuration throughout.

Linux Servers vs. Windows Servers for WordPress

Every layer of the WordPress stack -- PHP, MySQL, Nginx, Redis, Varnish -- was designed and optimized for Linux. We break down exactly why, from kernel-level I/O primitives and process models to security architecture and total cost of ownership.

Perl on Linux: A Technical Exploration

From regex to /proc, file I/O to process management -- a comprehensive look at Perl as a deeply native Linux scripting language. We cover the full stack: the environment, data types, regular expressions, system integration, networking, modules, and production-grade automation patterns.

Python with Linux: A Comprehensive Guide

From shell automation to kernel interfaces, networking to security tooling -- everything you need to use Python effectively on Linux systems.

How to Set Up Arch Linux as a Home Server: SSH, Samba, and Docker

Build a hardened Arch Linux home server with SSH hardening, nftables, Samba (SMB3), Docker (rootless options), Btrfs snapshots, and layered security controls — with production-ready configurations.

How to Install Arch Linux from Scratch: A Complete Step-by-Step Guide

From partitioning to desktop environment -- a hands-on walkthrough of installing Arch Linux the right way, with every command explained.

How to Install and Configure a Desktop Environment on Arch Linux (GNOME, KDE, and XFCE)

Step-by-step guide to installing GNOME, KDE Plasma, and XFCE desktop environments on Arch Linux -- from package selection and display managers to Wayland configuration and post-install tuning.

20 Linux Commands Every Beginner Must Know

A practical walkthrough of the 20 essential Linux commands that will take you from lost at the terminal to confidently navigating, managing files, and controlling your system.

Understanding the Differences Between Linux and Windows Servers: A Technical User Guide

A deep technical reference covering file system architecture, user and access management, networking, security models, remote administration, and logging -- across both platforms.

eBPF for System Administrators: Tracing Without the Overhead

How eBPF replaced strace, SystemTap, and brute-force kernel modules with safe, production-grade tracing that runs directly inside the kernel.

12 Things to Do Immediately After Installing Linux

Just installed Linux? Here are the twelve essential steps to secure, optimize, and customize your fresh system before you do anything else.

Understanding systemd: A Comprehensive Guide to Modern Linux Init Systems

From unit files to timers, targets to journal logging -- everything you need to master the init system that runs your servers.

Btrfs Snapshots and Rollbacks in Practice

A practical walkthrough of snapshot management, automated backup strategies, and how to recover from a botched upgrade in minutes.