Troubleshooting

How to Monitor Disk Usage with df, du, lsblk and ncdu on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Monitor Disk Usage with df, du, lsblk and ncdu on RHEL 9

Running out of disk space is one of the most disruptive failures a server can experience. When a filesystem fills up, applications crash, log files stop writing (losing audit trails), databases corrupt transactions, and web servers return 500 errors. Proactive disk monitoring is essential — and RHEL 9 provides a full set of tools for […]

Read more
How to Schedule Automated Tasks with cron and anacron on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Schedule Automated Tasks with cron and anacron on RHEL 9

Automated task scheduling is the backbone of server maintenance: backups run at 3 AM, log cleanup happens daily, SSL certificates renew before they expire, and databases are vacuumed weekly. On RHEL 9, there are three scheduling mechanisms each suited to different scenarios. cron is the classic daemon that runs jobs on a schedule defined by […]

Read more
How to Use rsync for Efficient File Synchronisation on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Use rsync for Efficient File Synchronisation on RHEL 9

rsync is the Swiss Army knife of file synchronisation for Linux administrators. Unlike scp, which blindly copies every file every time, rsync computes a rolling checksum to identify changed file blocks and transfers only what has changed — making subsequent syncs dramatically faster and less bandwidth-intensive. It preserves file attributes (permissions, ownership, timestamps, ACLs, extended […]

Read more
How to Configure /etc/hosts, /etc/resolv.conf and DNS Resolution on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Configure /etc/hosts, /etc/resolv.conf and DNS Resolution on RHEL 9

DNS resolution on a Linux server is a multi-layered system. When an application calls getaddrinfo(“example.com”), the request passes through the Name Service Switch (NSS) framework, which consults sources in the order defined in /etc/nsswitch.conf — typically /etc/hosts first, then a DNS resolver. The DNS resolver reads its configuration from /etc/resolv.conf, which lists the DNS servers […]

Read more
How to Manage Users and Groups with useradd, groupadd and passwd on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Manage Users and Groups with useradd, groupadd and passwd on RHEL 9

While the earlier tutorial in this series covered the core useradd, usermod, and userdel tools for user lifecycle management, this guide goes deeper into the full toolkit for managing users and groups at scale on RHEL 9: bulk creation, password management with chpasswd, group administration with gpasswd, per-user resource limits with ulimit and /etc/security/limits.conf, user […]

Read more
How to Sync Time with Chrony on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Sync Time with Chrony on RHEL 9

Accurate time synchronization is not optional on a server — it is a hard requirement. TLS certificate validation fails when the clock is wrong by more than a few minutes. Kerberos authentication rejects tickets with a clock skew over 5 minutes. Cron jobs fire at the wrong time. Log correlation across multiple servers becomes impossible […]

Read more
How to Configure Automatic Security Updates on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Configure Automatic Security Updates on RHEL 9

Unpatched software is the leading cause of server compromise. The majority of publicly disclosed vulnerabilities already have patches available by the time attackers start actively exploiting them — the window between patch availability and active exploitation has shrunk from months to days. Manually patching servers is error-prone and inconsistent at scale. Automatic security updates ensure […]

Read more
How to Create and Manage Swap Space on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Create and Manage Swap Space on RHEL 9

Swap space acts as overflow memory. When the physical RAM is full, the Linux kernel moves the least-recently-used memory pages to swap on disk, freeing physical RAM for active processes. Without swap, when RAM is exhausted the Out of Memory (OOM) killer terminates processes — often the largest one, which is frequently your database or […]

Read more
How to Monitor System Resources with htop, top and vmstat on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Monitor System Resources with htop, top and vmstat on RHEL 9

Every Linux administrator needs a reliable toolkit for answering the question “why is this server slow?” The answer is almost always in one of four resources: CPU, memory, disk I/O, or network. RHEL 9 includes several powerful tools for diagnosing resource contention: top is included in every base installation and provides a real-time process table; […]

Read more
How to Manage Systemd Services and Units on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Manage Systemd Services and Units on RHEL 9

Systemd is the init system and service manager for RHEL 9 — it is PID 1, the parent of every other process on the system. Understanding how to manage systemd services is foundational to every other administrative task: installing Nginx means enabling the nginx service; configuring a database means understanding its unit file; debugging a […]

Read more
CHAT