devops

Install Podman on Debian: APT, Versions & Rootless Setup

Install Podman on Debian 12 Bookworm and Debian 13 Trixie with apt, compare 4.3.x and 5.4.x package branches, verify with podman info, test rootless mode, and run a hello container.

Deepak Prasad5 min read
linux

How to Find and Fix Memory Leaks in Linux Applications

Read LeakSanitizer and Valgrind reports down to the line that owns the memory, use the flags that add detail, attribute growth with Massif, and query a running process with vgdb so you fix the cause instead of only …

Omer Cakmak40 min read
linux

How to Install libc.so.6 on Linux (glibc Package, Not a Download)

Diagnose libc.so.6 errors by message type — GLIBC_2.xx not found, cannot open shared object file, wrong ELF class, or damaged system libc — then fix with the matching glibc package, multilib, rebuild, container, or …

Omer Cakmak11 min read
linux

Configure Fail2ban to Protect SSH on Linux

Install Fail2ban, enable the sshd jail with sane bantime and ignoreip values, verify bans after failed SSH logins on RHEL and Debian, and unban trusted client addresses when needed.

Omer Cakmak9 min read
linux

Found a Swap File by the Name: Fix Vim .swp Warnings (E325)

Fix Vim E325 Found a swap file by the name by reading the .swp prompt, recovering after a crash, or removing a stale swap file once no editor owns it — not Linux swap memory from mkswap.

Omer Cakmak7 min read
linux

Fix SSH No Route to Host: Routing, Firewall, and sshd Checks

Diagnose SSH no route to host with TCP port tests, ip route get, remote firewalld and sshd checks, and learn when the message means a firewall REJECT instead of a missing route.

Omer Cakmak8 min read
linux

Idle SSH Sessions: Disconnect or Keep Them Alive on Linux

Set ClientAliveInterval and ClientAliveCountMax on sshd to drop unresponsive SSH clients, use ServerAliveInterval on the OpenSSH client to keep sessions alive through NAT, and understand how TCPKeepAlive differs.

Omer Cakmak7 min read
linux

Detect Rootkits on Linux with rkhunter

Install rkhunter from EPEL or apt, update its signature database, baseline file properties with propupd, run a non-interactive check, and interpret warnings in rkhunter.log on RHEL and Debian-family hosts.

Omer Cakmak6 min read
linux

Create a systemd Service Unit in Linux

Create a custom systemd .service unit under /etc/systemd/system/, explain Unit Service and Install sections, start and enable it with systemctl, and verify with status and journalctl.

Omer Cakmak6 min read
linux

How to Perform tar Incremental Backup on Linux

Take GNU tar listed-incremental backups with a snapshot file, create level 0 and level 1 archives, inspect Y and N file status, and restore by applying the full backup then each incremental in order.

Omer Cakmak7 min read
linux

SSH Multiplexing on Linux: Share One Connection

Reuse one authenticated SSH connection for later ssh, scp, and sftp sessions with ControlMaster, ControlPath, and ControlPersist on the OpenSSH client.

Omer Cakmak10 min read
linux

How to Copy a Directory Over SSH on Linux

Copy a directory and its contents between Linux hosts with scp -r and rsync -av over SSH, verify the remote layout, and avoid common path mistakes with trailing slashes.

Omer Cakmak6 min read
linux

Restrict SFTP Users to a Directory with OpenSSH Chroot

Restrict SFTP users to a chroot directory with OpenSSH ChrootDirectory, ForceCommand internal-sftp, Match blocks in sshd_config, writable upload folders, and SSH public-key authentication.

Omer Cakmak9 min read
linux

How to Set SFTP umask in Linux

Set SFTP upload permissions with OpenSSH internal-sftp -u in sshd_config, apply umask per user or group with Match blocks, and understand why umask removes bits but cannot add them.

Omer Cakmak5 min read
linux

pkill -P: Kill Child Processes by Parent PID in Linux

Use pkill -P PARENT_PID . to send SIGTERM to every direct child of a parent process, list them with ps --ppid, and clean up script workers with pkill -P $$ . on EXIT.

Omer Cakmak5 min read
linux

How to Automate SFTP in Shell Scripts on Linux

Automate SFTP file transfers in Linux shell scripts using sftp batch mode with SSH keys, or password authentication with sshpass or expect when keys are not available.

Omer Cakmak9 min read
linux

How to Install ARPACK on Linux

Install ARPACK runtime and development packages on Ubuntu, Debian, and RHEL-family Linux from distribution repositories, verify libraries with dpkg or rpm and pkg-config, and link a sample Fortran program against …

Omer Cakmak8 min read
linux

How to Add a User to a Group in Linux

Add a user to a supplementary group in Linux with usermod -aG, gpasswd -a, or adduser on Debian. Verify with id, apply changes with newgrp or re-login, and avoid the missing -a mistake.

Omer Cakmak6 min read
system-administration

Manage Linux Users and Groups

Manage Linux users and groups with useradd, usermod, userdel, groupadd, primary and supplementary groups, account defaults, and ownership checks.

Deepak Prasad14 min read
system-administration

Configure Chrony Time Synchronization in Linux

Configure Chrony NTP on Linux, verify time synchronization with chronyc, force clock correction, troubleshoot sync problems, and optionally serve LAN clients.

Deepak Prasad14 min read
linux

Linux Boot Process Explained: From UEFI and GRUB to systemd

Learn the Linux boot process from UEFI or BIOS through GRUB, the kernel, initramfs, and systemd, with inspection commands and troubleshooting.

Deepak Prasad23 min read
linux

Analyze Linux Performance with perf and debuginfod

Use perf stat, perf record, and perf report on Linux to find CPU bottlenecks, collect call graphs, and resolve symbols with debuginfod on Rocky Linux, RHEL, Debian, Ubuntu, and other distributions.

Deepak Prasad19 min read
linux

Post-Quantum Cryptography in Linux: ML-KEM, ML-DSA, TLS, and SSH

Learn how to check ML-KEM support in TLS, create ML-DSA signatures, and verify post-quantum SSH key exchange on Linux, with tested Rocky Linux examples.

Deepak Prasad20 min read
system-administration

Fix Linux VM Wrong Time After Reboot

When a Linux VM shows the wrong time after every reboot, trace the clock from the virtual RTC through chrony, identify the selected NTP source, and fix stale RTC values, unsuitable chrony sources, or hypervisor time-sync …

Deepak Prasad12 min read
system-administration

Configure Apache LDAP Authentication with OpenLDAP

Configure Apache HTTP Server to authenticate and authorize users with OpenLDAP using mod_authnz_ldap, group restrictions, TLS, and practical troubleshooting.

Deepak Prasad14 min read
system-administration

Fix Bash History Not Saving All Commands in Linux

Fix missing Bash history commands in Linux, including commands lost across multiple terminals, delayed .bash_history writes, HISTCONTROL exclusions, and permission problems.

Deepak Prasad18 min read
linux

How to Create a Man Page in Linux with Groff

Create a Linux man page with a reusable groff template. Learn man sections, macros, local preview, system and user installation, mandb, whatis, and troubleshooting.

Deepak Prasad14 min read
system-administration

Run systemd Service as a Specific User and Group in Linux

Create a system-level systemd service that starts at boot and runs as a dedicated non-root user and group on Ubuntu, Debian, Fedora, RHEL, Rocky Linux, AlmaLinux, CentOS Stream and Oracle Linux.

Deepak Prasad15 min read
linux

How to Restart or Reload Cron in Linux (Ubuntu, Debian, RHEL)

Restart or reload cron in Linux with systemctl restart cron on Ubuntu and Debian or crond on RHEL and Rocky Linux, and when a reload is actually needed.

Omer Cakmak10 min read
linux

RHEL Family vs Debian Family: RPM, DEB, DNF, APT and Server Differences

Compare the RHEL and Debian Linux families, including RPM vs DEB, DNF vs APT, repositories, release models, lifecycle, security, support, configuration, cloud images and server use cases.

Deepak Prasad16 min read