devops

Install Podman on Ubuntu: APT, Versions & Rootless Setup

Install Podman on Ubuntu 22.04, 24.04, and 26.04 with apt, check the Podman version your release ships, verify with podman info, test rootless mode, and run a hello-world container.

Deepak Prasad7 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
devops

Terraform State Explained with Examples

Learn what Terraform state is on Ubuntu — terraform.tfstate purpose, configuration vs real infrastructure, terraform show and state list, drift, sensitive data, Git rules, local vs remote state, and a full local_file …

Deepak Prasad10 min read
devops

Terraform Providers: Configuration and Aliases

Learn Terraform providers on Ubuntu — required_providers, provider blocks, aliases, terraform init installation, terraform providers, local and Docker examples, and common provider errors without cloud credentials.

Deepak Prasad13 min read
devops

terraform destroy Command with Examples

Learn terraform destroy on Ubuntu with the Docker provider — provision disposable resources, preview with plan -destroy, confirm or auto-approve teardown, use -target safely, and understand state and configuration after …

Deepak Prasad11 min read
devops

terraform validate Command with Examples

Learn terraform validate on Ubuntu — what it checks, syntax and schema errors with real output, validate -json for automation, init -backend=false for CI, and how validate differs from plan and fmt.

Deepak Prasad11 min read
devops

terraform fmt Command with Examples

Learn terraform fmt on Ubuntu — rewrite .tf files to canonical style, use -check and -diff, format recursively, enforce formatting in CI, and see how fmt differs from terraform validate.

Deepak Prasad11 min read
devops

terraform apply Command with Examples

Learn terraform apply on Ubuntu with the Docker provider — interactive approval, saved plans, -auto-approve, -var and -var-file, in-place updates, -replace, partial failure behavior, and independent resource …

Deepak Prasad12 min read
devops

terraform plan Command with Examples

Learn terraform plan on Ubuntu with the Docker provider — read execution plan output, preview create/update/replace/destroy, save plans with -out, and use -var, -destroy, -refresh-only, -detailed-exitcode, -target, and …

Deepak Prasad13 min read
devops

Terraform init Command with Examples

Learn what terraform init does on Ubuntu — backend and provider setup, module downloads, .terraform directory, .terraform.lock.hcl, common flags, and when to reinitialize a working directory.

Deepak Prasad12 min read
devops

Terraform HCL Syntax and Configuration Files

Learn Terraform HCL syntax on Ubuntu — blocks, labels, arguments, expressions, comments, .tf and .tf.json files, multi-file layouts, terraform fmt, validate, and common syntax errors with real fixes.

Deepak Prasad10 min read
devops

Set Up a Terraform Lab on Ubuntu with Docker

Prepare a single Ubuntu VM with Docker, helper tools, isolated Terraform working directories, and optional plugin cache so you can practice init, plan, apply, and destroy without cloud credentials.

Deepak Prasad13 min read
devops

Install Terraform on Ubuntu

Install Terraform on Ubuntu 26.04 from the official HashiCorp apt repository, verify with terraform version, install a specific package version or upgrade, install the release binary with checksum verification, and …

Deepak Prasad11 min read
devops

What Is Terraform? Infrastructure as Code Explained

Learn what Terraform is and how infrastructure as code works — declarative configuration, providers, resources, state, the init plan apply workflow, realistic use cases, and a local example on Ubuntu without a cloud …

Deepak Prasad9 min read