devops

Podman Login: Authenticate to Container Registries

Log in to container registries with podman login — auth.json locations for rootless and rootful, --password-stdin, --authfile, REGISTRY_AUTH_FILE, credential helpers, secrets, logout, and a CI pattern on Podman 5.8.2.

Deepak Prasad11 min read
devops

Automatically Update Podman Containers with Quadlet

Configure Podman auto-update on Quadlet-managed containers — AutoUpdate registry vs local, podman-auto-update.timer, dry-run checks, proving container recreation, rollback limits with sdnotify and Notify=healthy, and …

Deepak Prasad11 min read
devops

Podman Quadlet CLI: `install`, `list`, `print` and `rm`

Manage Podman Quadlet declarations with podman quadlet install, list, print, and rm — single files, asset bundles, application directories, .quadlets multi-unit sources, list filters, --replace updates, and …

Deepak Prasad12 min read
devops

Run Podman Containers as systemd Services with Quadlet

Run Podman containers as systemd services with Quadlet — the generator model, search paths, your first .container file, service vs container naming, why systemctl enable fails, [Install] boot wiring, daemon-reload, logs, …

Deepak Prasad10 min read
devops

`podman unshare`: Inspect UID Maps and Fix Rootless File Ownership

Use podman unshare to enter the rootless user namespace — inspect uid_map, read file ownership as Podman sees it, fix mapped paths with unshare chown, mount container rootfs, and debug bridge networking with …

Deepak Prasad12 min read
devops

Rootless vs Rootful Podman: Differences and Limitations

Compare rootless and rootful Podman — user namespace mapping, separate image stores, pasta vs bridge networking, privileged-port limits, device node creation, CRIU checkpoint, NFS storage nuance, and when to pick each …

Deepak Prasad9 min read
devops

Rootless Podman: Run Containers Without Root

How to run Podman as a normal Linux user with subuid and subgid, verify uid_map mappings, fix not-enough-IDs and XDG_RUNTIME_DIR errors, use podman system migrate after range changes, and avoid destructive resets.

Deepak Prasad13 min read
devops

Rootless Podman Networking with pasta

How rootless Podman networking works with pasta as the Podman 5 default — host address copying, outbound Internet access, host.containers.internal, pasta options, rootless Netavark bridges, rootlessport source-IP …

Deepak Prasad14 min read
devops

Podman DNS and Container Name Resolution with Aardvark DNS

How Podman resolves container names with Aardvark DNS — DNSEnabled on default vs user networks, getent and aliases, resolv.conf and --dns forwarding, internal network behavior, and a diagnostic sequence for name vs …

Deepak Prasad10 min read
devops

Podman Port Mapping: Publish Container Ports with `-p`

Publish container ports with Podman -p and -P — host-to-container mapping, loopback and host-IP binding, random ports, TCP and UDP, port ranges, podman port, pod-level publishing, network-mode limits, and rootless pasta …

Deepak Prasad12 min read
devops

Pull Container Images with `podman pull`

Pull container images with podman pull — fully qualified names, tags and digests, podman search, pull policies, multi-architecture pulls with --arch and --platform, registry examples, retries, and routing common pull …

Deepak Prasad9 min read
devops

Git Unstage Files: git restore --staged, git reset HEAD, and git rm --cached

Git unstage command reference for git restore --staged, git reset HEAD, git rm --cached, folders, and full index clears — with status checks and edge cases before commit.

Deepak Prasad10 min read
devops

Git Commit --Amend: Fix the Last Commit (Files, Author, Date)

Use git commit --amend to add forgotten files, fix the author or date on the last commit, amend without changing the message, recover from a bad amend with reflog, and safely force-push a rewritten commit.

Deepak Prasad9 min read
devops

How to Change a Git Commit Message (Last, Older, or Already Pushed)

Change the last, older, multiple, or already-pushed Git commit messages using amend and interactive rebase, with safe force-push and recovery examples.

Deepak Prasad15 min read
devops

Git Undo Add: Unstage Files After git add

Undo git add without losing edits: read git status -sb, unstage one file with git restore --staged, undo git add . with git restore --staged . or git reset, and handle staged deletions before commit. For full unstage …

Deepak Prasad7 min read
devops

Git Merge vs Rebase: When to Use Each

Compare git merge and git rebase on the same branch split: merge commits preserve branch history, rebase replays commits for a linear log, fast-forward merges skip the merge commit, and pull --rebase vs merge pull change …

Deepak Prasad9 min read
devops

Git .gitignore Examples: Patterns, Folders, and Fixes

Use .gitignore to hide build output, logs, and env files from git status: wildcard patterns, folder rules, negation with !, git check-ignore debugging, git rm --cached for already-tracked files, and local or global …

Deepak Prasad8 min read
devops

Git Init Explained: What It Does, Examples, and When to Use It

Learn what git init does with simple examples. Understand how to initialize a Git repository, what happens after git init, git init vs git clone differences, and how to use git init in real workflows.

Steve Alila8 min read
devops

Git Detached HEAD: Fix, Save Work, and Recover Commits

Fix Git detached HEAD: recognize HEAD (no branch), inspect an old commit with git switch --detach, save work with git switch -c, return with git switch main, and recover orphaned commits using git reflog.

Deepak Prasad8 min read
devops

Git List Branches: Local, Remote, and All Branches

List Git branches by goal: git branch for local names, git branch -r for remote-tracking branches after fetch, git branch -a for both, and git branch -vv for upstream tracking — with filter, sort, and prune examples.

Deepak Prasad8 min read
devops

Git Revert to Previous Commit: Reset, Revert, or Checkout

Go back to a previous Git commit safely: git revert for pushed history, git reset for local-only branch moves, git switch --detach to inspect an old snapshot, and git restore --source for one file — with a decision table …

Deepak Prasad11 min read
devops

Git Reset: Soft, Mixed, and Hard Examples

Use git reset --soft, --mixed, and --hard to move HEAD, unstage with git reset HEAD file, discard tracked edits with git reset --hard HEAD, or match origin after git fetch — with the smallest mode for each goal.

Deepak Prasad11 min read
devops

Git Discard Changes: Restore, Reset, and Clean Local Edits

Discard uncommitted Git changes after reading git status: git restore for unstaged edits, git restore --staged --worktree for one MM file, git reset --hard HEAD for all tracked files, and git clean for untracked paths.

Deepak Prasad9 min read
devops

Git Fix: fatal: couldn't find remote ref main

Fix "fatal: couldn't find remote ref main" by listing remote branches with git ls-remote --branches, using the branch name the server publishes, or pushing the branch when it exists only locally.

Deepak Prasad9 min read
devops

Git Error: Cannot Delete Branch Checked Out or Used by Worktree

Fix "cannot delete branch checked out at" and "cannot delete branch used by worktree" by checking git branch and git worktree list, switching away or freeing the linked worktree, then deleting with git branch -d.

Deepak Prasad8 min read
devops

Pulling is not possible because you have unmerged files

Fix "Pulling is not possible because you have unmerged files" with git status, resolve conflict markers, git add, git commit or --continue, or abort the in-progress merge, rebase, or cherry-pick.

Deepak Prasad8 min read
devops

Git Rebase Explained: Examples, Conflicts, and When to Use It

Git rebase explained with ASCII flow diagrams, feature-branch replay onto main, conflict resolution with git status, remote rebase, force-with-lease, interactive rebase, and when to use rebase instead of merge.

Deepak Prasad14 min read
linux

Best Automation Testing Tools: Open Source and Linux-Friendly

Compare the best automation testing tools in {year} for Linux and CI pipelines, including Playwright, Selenium, Cypress, Appium, pytest, REST Assured, Robot Framework, k6, and JMeter, with guidance on test types, …

Deepak Prasad19 min read
linux

Best Open Source APM Tools for Application Performance Monitoring

Compare the best open source and self-hosted application performance monitoring tools in {year}, including SigNoz, Apache SkyWalking, OpenObserve, Coroot, Glowroot, and the Grafana stack, with guidance on OpenTelemetry …

Deepak Prasad30 min read
devops

Tech Savvy Students: Mastering Education with Linux Apps

Learn how Linux applications are empowering tech-savvy kids to transform the classroom. Also, understand how to use this excellent software for education.

Deepak Prasad6 min read