Linux server operations
systemd · sysctl · dnf · 29 posts
Safely process filenames containing spaces and newlines with find and xargs
Learn how to safely process large numbers of filenames containing spaces or newlines using find -print0, xargs -0, -exec, batching, and parallel execution.
Linux · ProgrammingSafely Transform Configuration Files with sed
Explains how to safely transform configuration files with sed using addresses, captures, backups, idempotent replacement, and diff checks to prevent unintended changes on repeated runs.
Linux · ProgrammingBash File Descriptors and I/O Redirection
Learn Bash file descriptors, separating stdout and stderr, grouping commands, and the difference from tee through practical examples, and safely route logs and error output to the intended destinations.
Linux · ProgrammingUse Bash Parameter Expansion for Defaults, Validation, and String Processing
Explains how to use Bash parameter expansion to set defaults, validate unset values, remove prefixes and suffixes, and replace strings so input can be processed safely with fewer external commands.
Linux · ProgrammingDetecting Bash Script Failures with strict mode and trap
Learn how to reliably detect Bash script failures with errexit, nounset, pipefail, and ERR/EXIT traps, including safe execution with exception handling and cleanup.
Linux · ProgrammingManage Process Limits with limits.conf and systemd
This guide explains how to set nofile and nproc limits using limits.conf and systemd settings such as LimitNOFILE, and how to verify the effective values in different execution contexts for shells and services.
Linux · System AdministrationPractical Patterns for Bash Arrays and Associative Arrays
This article explains practical patterns for Bash arrays and associative arrays, including adding elements, managing keys, iterating safely, and handling arguments, so that multiple values can be processed safely without concatenating them into a single string.
Linux · ProgrammingConfigure sysctl Temporarily and Persistently and Verify the Applied Values
This guide explains how to temporarily change kernel parameters with sysctl, configure persistent settings with sysctl.d, and verify the requested and effective values as well as configuration conflicts.
Linux · System AdministrationConfigure VirtualHosts with Apache HTTP Server
This guide explains how to configure VirtualHosts, DocumentRoots, configuration testing, firewall settings, and SELinux in Apache HTTP Server, and how to verify them on an actual system to safely publish multiple sites from a single Linux server.
Linux · Web ServerManaging Application Logs with logrotate
This guide explains how to use logrotate to define application log rotation policies, decide when to use copytruncate, configure postrotate, perform dry-runs and forced tests, and safely prevent custom log files from growing excessively.
Linux · System AdministrationBuild a Minimal Packet Filter with nftables
This guide explains how to build a minimal packet filter using nftables tables, chains, rules, counters, and persistence, and how to manage and verify it safely, including avoiding concurrent management with firewalld.
Linux · SecuritySecure Initial Configuration of a Linux OpenSSH Server
This guide explains how to improve the security of OpenSSH Server on Linux step by step by checking sshd_config, restricting root login, disabling password authentication, configuring AllowUsers, and reloading the configuration without losing access.
Linux · SecurityDesigning systemd Unit Dependencies and Startup Order
This guide explains how to design dependencies and startup order between systemd Units using Wants, Requires, After, Before, and targets, and how to verify their behavior on an actual system when failures occur.
Linux · System Administrationsystemd-journald Persistence, Capacity Limits, and Rotation
This guide explains how to configure log persistence, capacity limits, and rotation using systemd-journald settings such as Storage, SystemMaxUse, and vacuum, and how to verify that logs are retained after a reboot.
Linux · System AdministrationCPU, Memory, and IO Limits for systemd Services
This article explains how to set per-service resource limits using systemd settings such as CPUQuota, MemoryMax, and TasksMax, and how to verify their effective values and behavior when the limits are reached.
Linux · System AdministrationVerify RPM Package Signatures, Owned Files, and Modifications
This article explains how to use the rpm command to check installed package signatures, owned files, file origins, and modification status, and how to investigate unknown files and package changes.
Linux · System AdministrationManage DNF Repositories and Module Streams
This article explains how to check and manage DNF repositories, repoquery, module streams, versionlock, and cache to control package sources and installed versions as intended.
Linux · System AdministrationConfiguring and Troubleshooting Linux Time Synchronization with chrony
This article explains how to configure Linux time synchronization with chrony, verify synchronization status with sources and tracking, use waitsync, persist the configuration, and isolate the causes of time drift by checking reachability.
Linux · System AdministrationInvestigating Listening Ports and Connection States with the ss Command
This article explains how to use the ss command to check listening ports, associated processes, TCP states, and filter conditions, and how to troubleshoot port conflicts and connection failures from the server side.
Linux · NetworkingConfigure a Static IP, DNS, and Gateway with nmcli
This guide explains how to use nmcli in a NetworkManager environment to configure, apply, and verify a static IP address, DNS, and a default gateway, and safely roll back the changes when necessary.
Linux · NetworkingPractical Guide to firewalld Zones, Services, and Rich Rules
This guide explains how to safely modify and verify a Linux firewall with firewalld without disrupting connectivity, while checking runtime/permanent settings, zones, services, source restrictions, and rich rules on an actual system.
Linux · SecurityLinux Log Investigation and Retention Management with journalctl and systemd-journald
This guide systematically explains how to search and investigate Linux logs and manage persistence, capacity control, and retention with journalctl and systemd-journald.
Linux · System AdministrationPractical Guide to systemd Service Management and Unit Files
A practical guide to service management with systemd, Unit file design, dependencies, automatic startup, restart on failure, safe configuration changes with drop-ins, and verification methods.
Linux · System AdministrationComplete Guide to Linux File Ownership and Permission Design
This guide systematically covers Linux file owners, groups, permissions, umask, and special bits, with practical explanations of how to design secure access rights and troubleshoot permission problems.
Linux · SecuritySet Up a Web Server with Nginx
This guide explains how to install Nginx in an RHEL-compatible environment such as AlmaLinux while keeping SELinux enabled, then start the server, publish web content, and verify connectivity.
LinuxComplete Guide to Bash Special Syntax, Variables, and Expansions
A complete reference covering all Bash special syntax, variables, expansion rules, and control structures with examples.
LinuxSSH Public Key Authentication Client Setup (Windows/Linux)
Step-by-step guide on how to configure SSH public key authentication on the client side for Windows and Linux systems.
Security · SSH · System AdministrationAlmaLinux Initial OS Setup Guide
A minimal and practical guide for initial OS setup of AlmaLinux servers with SELinux disabled.
LinuxBuilding a Squid Proxy Server on Linux
A step-by-step guide to install and configure a basic Squid proxy server on Linux and connect clients.
Linux