Database

How to Use journalctl for Systemd Log Analysis on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Use journalctl for Systemd Log Analysis on RHEL 9

The Linux kernel’s systemd journal is a structured binary log that stores the output of every service, kernel message, boot sequence, and user session. Unlike traditional text-based syslog, the journal stores metadata alongside each log entry — the unit name, PID, UID, executable path, systemd unit state, and priority level — enabling far more precise […]

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 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 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
How to Configure sudo and Sudoers on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Configure sudo and Sudoers on RHEL 9

The sudo (superuser do) tool allows designated users to run commands with elevated privileges without sharing the root password. This is fundamental to the principle of least privilege: each administrator gets exactly the access they need for their role, no more. When access is misconfigured — for example with blanket ALL=(ALL) ALL entries or unsafe […]

Read more
How to Set Up a Bash Profile and Environment Variables on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Set Up a Bash Profile and Environment Variables on RHEL 9

Every time you open a terminal on RHEL 9, Bash reads one or more startup files before presenting you with a prompt. Which files are read depends on whether the shell is a login shell (started by SSH, a console login, or su -) or an interactive non-login shell (a new terminal window in a […]

Read more
How to Use tmux for Terminal Multiplexing on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Use tmux for Terminal Multiplexing on RHEL 9

Terminal multiplexing solves one of the most common problems in server administration: when your SSH connection drops mid-task, any running process in that session is killed. With tmux, your terminal sessions run inside a server-side process that persists independently of your SSH connection. You can detach from a session, disconnect, reconnect hours later from a […]

Read more
How to Configure the Firewall on RHEL 9 with firewalld — step-by-step RHEL 9 tutorial on Progressive Robot

How to Configure the Firewall on RHEL 9 with firewalld

Red Hat Enterprise Linux 9 uses firewalld as its default firewall management daemon, backed by nftables as the kernel netfilter framework (replacing iptables which was the default in RHEL 7 and earlier). firewalld provides a zone-based model where each network interface is assigned to a trust zone — public, internal, dmz, trusted, and more — […]

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
CHAT