AlmaLinux Migration Lint — CentOS 7/8

AlmaLinux migration check for CentOS Linux 7/8 files: flags EOL centos images, dead mirrorlist.centos.org repos, EPEL 7, SCL and EL7 packages removed in EL8/9, with the AlmaLinux fix. Runs entirely in your browser — nothing is uploaded.

Same engine as the VS Code extension, byte for byte.

Get the complete version $29

This page is the working piece. The full pack has everything below.

AlmaLinux migration check for CentOS 7/8 Dockerfiles, .repo files, scripts and Ansible: 21 rules, each with the AlmaLinux fix

A RHEL Server Standard subscription is US$878.90 per server per year on the Red Hat Store (SKU RH00004); AlmaLinux is free to run.

Buy the full version — $29
Want the full version?
Enter your email and we send the download link.
ENDEJAESPT

Find a tool

· ReadyStack

Worked example

Real numbers from this tool, line by line.

AlmaLinux Migration Lint — CentOS 7/8

Six CentOS 7 leftovers on one card and 15 findings in all: that is what an AlmaLinux migration check reports on a 26-line CentOS 7 bootstrap script, for the sysadmins, DevOps and platform engineers who still build images, Vagrant boxes and Ansible roles on CentOS.

Migrate from CentOS Linux 7 to AlmaLinux: what ended and when

CentOS Linux 8 reached end of life on December 31, 2021. CentOS Stream 8 followed on May 31, 2024, and CentOS Linux 7 on June 30, 2024. The CentOS project said that at end of life the content would be removed from the mirrors and moved to vault.centos.org, where it is archived with no further updates. Today mirrorlist.centos.org no longer answers, so any script that still points yum at it stops at the first install with "Cannot find a valid baseurl".

AlmaLinux 8 is supported until 2029 and AlmaLinux 9 until 2032, according to the AlmaLinux FAQ. The target is clear. The hard part is finding every line that assumes CentOS 7.

The sample file

The sample is a bootstrap.sh that provisions a build agent. It pulls centos:7 and a centos:stream8 image, writes a .repo file with mirrorlist.centos.org and the CentOS 7 GPG key, installs EPEL 7 from epel-release-latest-7, adds Software Collections, installs devtoolset-11, yum-cron, ntp, python-pip and python-devel, enables yum-cron, calls scl enable, runs authconfig, restarts the legacy network service, and finally greps /etc/redhat-release for the word CentOS.

The linter reports 15 findings from 12 of its 21 rules: 13 errors and 2 warnings. Six of them are on the result card:

The other findings: the Stream 8 image, the CentOS GPG key (gpgcheck fails on AlmaLinux packages), ntp (use chrony), python-pip and python-devel (use python3-*), the network restart (use nmcli), and the grep for CentOS, which never matches on AlmaLinux.

The clean version of the same script, rewritten for AlmaLinux 9, gives 0 findings.

Why grep and chatbots miss it

A grep for centos finds the image and the repo, then stops. yum-cron, ntp, authconfig, devtoolset and python-pip never contain the word. Ask a chatbot to port a Dockerfile and it usually swaps the FROM line and keeps the EL7 package list, which then fails on the first dnf install. An Ansible task gated on ansible_distribution == "CentOS" is worse: on AlmaLinux the fact reads "AlmaLinux", so the task is skipped without an error.

The paid route you may not need

The alternative is to convert to Red Hat Enterprise Linux. A RHEL Server Standard subscription is US$878.90 per server per year on the Red Hat Store (SKU RH00004). The linter flags convert2rhel and subscription-manager register lines as an info finding, so the team can decide on purpose rather than by default.

How to run it

Open a file in VS Code and run the check command, or paste the file into the free web page. Every finding in the open file is free and offline. For hosts upgraded in place, AlmaLinux's ELevate project moves one major version per step.

15 seconds — what it actually does

Questions people ask

What does AlmaLinux Migration Lint check?

It reads Dockerfiles, Vagrantfiles, yum .repo files, kickstarts, shell scripts and Ansible YAML and flags CentOS Linux 7 and 8 leftovers that break on AlmaLinux 8 or 9: EOL centos images, mirrorlist.centos.org repos, CentOS GPG keys, EPEL 7, SCL and devtoolset, yum-cron, ntp, network-scripts, authconfig and CentOS-only OS checks. It has 21 rules, and each finding names the AlmaLinux fix.

Who is it for?

Sysadmins, DevOps and platform engineers who still have CentOS 7 or CentOS 8 in build images, Vagrant boxes, bootstrap scripts or Ansible roles and must move them to AlmaLinux. CentOS Linux 7 reached end of life on June 30, 2024, and mirrorlist.centos.org no longer answers, so these files fail at the first yum call.

Why not just ask a chatbot or run grep for centos?

A grep for centos hits every comment and misses the lines that break without the word: yum-cron, ntp, authconfig, scl enable devtoolset-11, python-pip and ansible_distribution checks. A chatbot usually rewrites the FROM line and leaves the removed EL7 packages. This linter checks every line against 21 rules and gives the AlmaLinux replacement for each one.

What is free and what needs a licence key?

Every finding in the open file is free, in the browser page and in VS Code, offline and without a key. The full version scans the whole workspace in one pass and exports one migration report for the change ticket. It costs $29 once, with one licence key per person or team seat. There is no subscription.

What does the paid alternative cost?

Converting CentOS to Red Hat Enterprise Linux instead of AlmaLinux needs a subscription per server: RHEL Server Standard is US$878.90 per server per year on the Red Hat Store (SKU RH00004). AlmaLinux 8 is supported until 2029 and AlmaLinux 9 until 2032 at no charge, so most teams only need the file changes this linter lists.

Ask about this tool

One question, answered by the person who built it. Your email only if you want the answer sent.