Linux: Guides and Practical Know-how | Page 20 | mironsoft Blog
Linux
-
Feb 19, 2025
A cron job that runs overnight has to deliver a readable result by morning. Instead of scrolling through a log file, a Bash report builds a finished HTML page with tables, bars, and status badges directly, ready to send by mail or drop on an internal server, without PHP, Python, or a templating library.
-
Feb 14, 2025
A server can appear completely full even though df -h still shows plenty of free disk space, because it is not the disk blocks but the number of available inodes that has run out. This article explains what an inode stores, how to reliably diagnose inode exhaustion with df -i, and how PHP applications generating millions of small cache and session files can avoid hitting the limit in the first place.
-
Feb 5, 2025
Classic kernel debugging long meant either writing your own kernel module, with all the risk that carries for system stability, or accepting the overhead of ptrace based tools. eBPF resolved that choice: safe, sandboxed code now runs directly inside the kernel, and bpftrace makes that capability accessible to admins without writing kernel C code.
-
Feb 5, 2025
Anyone hosting several client projects on one server eventually runs into different PHP version requirements, since Magento, WordPress, and legacy applications rarely demand the same version. Versioned FPM packages, update-alternatives, and cleanly separated pools per vhost let you run multiple PHP versions side by side without conflicts and safely in production.
-
Feb 4, 2025
As soon as a server gains multiple network interfaces, additional storage devices or USB hardware, the kernel's default automatic naming often stops being good enough: after a reboot, the disk that was sdb yesterday suddenly becomes sdc, and any script relying on that name silently breaks. udev solves exactly this problem by intercepting kernel device events and reacting to them with custom rules, from persistent names to automatically triggered actions.
-
Feb 2, 2025
SSH tunneling turns a single encrypted connection into a secure channel for any TCP service that would otherwise only be reachable locally on a server. This article explains local, remote and dynamic port forwarding through concrete examples, shows a tunnel into a database only reachable from the server itself, covers autossh for permanently stable connections, and the security risks of tunnels left open.
-
Feb 1, 2025
A database snapshot taken while writes are actively in flight can be internally inconsistent, even when the backup completes without any error message. Only during the actual restore, often months later, does it become clear that tables and indexes no longer match. This article shows how MariaDB, MySQL, and PostgreSQL on Linux can produce truly consistent snapshots, using locking, Mariabackup, LVM, and WAL archiving.
-
Jan 31, 2025
tr is often seen as the simplest text tool in the shell and gets underrated because of it. Character classes, targeted deletion with -d and squeeze with -s make tr the fastest tool for input normalization, delimiter swapping and cleaning up control characters, often quicker to type and quicker to run than an equivalent sed command.
-
Jan 23, 2025
SSH connections that establish normally but freeze on the first larger output, or HTTPS pages that only partially load, rarely point to an application bug and almost always point to blocked Path MTU Discovery. Understanding how PMTUD works and where it typically breaks turns these hard to pin down network faults into a diagnosis of minutes instead of hours.
-
Jan 22, 2025
When an upload fails, an archive appears corrupted, or a deployment script processes the wrong kind of file, no graphical hex editor gets you there faster than a direct look with xxd or od on the command line. Being able to read the first bytes of a file makes formats, corruption and misconfiguration visible faster than any automated tool.