{"id":173258,"date":"2025-06-20T05:51:41","date_gmt":"2025-06-20T05:51:41","guid":{"rendered":"https:\/\/linuxiac.com\/?p=173258"},"modified":"2025-06-20T05:51:49","modified_gmt":"2025-06-20T05:51:49","slug":"how-to-upgrade-to-almalinux-10-from-almalinux-9","status":"publish","type":"post","link":"https:\/\/linuxiac.com\/how-to-upgrade-to-almalinux-10-from-almalinux-9\/","title":{"rendered":"How to Upgrade to AlmaLinux 10 from AlmaLinux 9"},"content":{"rendered":"\n<p>After Red Hat rolled out <a href=\"https:\/\/linuxiac.com\/red-hat-enterprise-linux-10-released\/\">RHEL 10<\/a>, and <a href=\"https:\/\/linuxiac.com\/almalinux-10-released\/\">AlmaLinux 10<\/a> quickly followed, it\u2019s no surprise that many AlmaLinux users are now looking for a way to upgrade their version 9 systems to the latest release.<\/p>\n\n\n\n<p>The good news? Thanks to the <a href=\"https:\/\/almalinux.org\/elevate\/\" target=\"_blank\" rel=\"noreferrer noopener\">ELevate project<\/a>, an open-source initiative designed to streamline in-place upgrades between major versions of RHEL\u2011based distributions, AlmaLinux has made the upgrade process straightforward and fully supported.<\/p>\n\n\n\n<p>In this guide, I\u2019ll walk you through every upgrade process step from Alma 9 to Alma 10, ensuring you can make the transition smoothly and hassle-free.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 1: Take System Backup<\/h2>\n\n\n\n<p>First, let\u2019s ensure all your important data is safe. Before doing anything else, I strongly recommend fully backing up your Alma installation using one of the system snapshot tools you&#8217;re familiar with. If you&#8217;re not sure which one to go with, check out <a href=\"https:\/\/linuxiac.com\/best-free-hard-disk-imaging-software\/\">my recommendations<\/a> on the topic.<\/p>\n\n\n\n<p>Thus, if something goes wrong, you can restore it with all the vital data to its previous state.<\/p>\n\n\n\n<p>However, if you do not feel like taking the above approach, you can instead use a command like the one shown below, which will archive all of the more critical directories and their contents in a&nbsp;<a href=\"https:\/\/linuxiac.com\/how-to-untar-tar-gz-file\/\">tar.gz archive<\/a>.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">sudo tar czf \/alma9.tar.gz \\\n     --exclude=\/alma9.tar.gz \\\n     --exclude=\/dev \\\n     --exclude=\/run \\\n     --exclude=\/mnt \\\n     --exclude=\/proc \\\n     --exclude=\/sys \\\n     --exclude=\/tmp \\\n     --exclude=\/media \\\n     --exclude=\/lost+found \\\n     \/<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Feel free to add more \u201c<em>\u2013exclude=<\/em>\u201d parameters if needed. Finally, the command creates a backup of all files in the \u201c<em>alma9.tar.gz<\/em>\u201d file located on the root partition (\/), which you should ideally transfer to another computer or drive, for example,&nbsp;<a href=\"https:\/\/linuxiac.com\/scp-command-in-linux\/\">using the SCP command<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 2: Update All Software<\/h2>\n\n\n\n<p>Ensure you have a fully updated Alma 9 system. Run the two commands below to ensure no packages are waiting to be updated. If there are, apply them (and reboot if necessary) before moving on.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">sudo dnf update<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Here is our fully updated AlmaLinux 9 system before upgrading to AlmaLinux 10.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-01.jpg\"><img decoding=\"async\" width=\"1024\" height=\"741\" src=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-01-1024x741.jpg\" alt=\"AlmaLinux 9\" class=\"wp-image-173663\" srcset=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-01-1024x741.jpg 1024w, https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-01-380x275.jpg 380w, https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-01-768x556.jpg 768w, https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-01.jpg 1161w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">AlmaLinux 9<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Step 3: Migrate AlmaLinux 9 to AlmaLinux 10<\/h2>\n\n\n\n<p>Before we start, let\u2019s say a few words about the tool that will help us with the migration:\u00a0<a href=\"https:\/\/almalinux.org\/elevate\/\" target=\"_blank\" rel=\"noreferrer noopener\">ELevate<\/a>.<\/p>\n\n\n\n<p>Developed by AlmaLinux, it supports migrations between major versions of Red Hat Enterprise Linux forks (Alma, Rocky, Oracle), allowing users to migrate from CentOS 7.x to 8.x versions of the RHEL derivative or upgrade from 8.x to 9.x within the same.<\/p>\n\n\n\n<p>Support for upgrading from AlmaLinux 9 to 10 was recently added, and this guide explicitly uses that feature.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-step-3-1-install-elevate\">Step 3.1: Install the ELevate Tool<\/h3>\n\n\n\n<p>The first step in the upgrade process is installing the \u201c<em>elevate-release<\/em>\u201d package on your current Alma 9 system.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">sudo dnf -y install http:\/\/repo.almalinux.org\/elevate\/elevate-release-latest-el$(rpm --<span class=\"hljs-built_in\">eval<\/span> %rhel).noarch.rpm<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-02.jpg\"><img decoding=\"async\" width=\"1024\" height=\"724\" src=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-02-1024x724.jpg\" alt=\"Install the ELevate Tool\" class=\"wp-image-173675\" srcset=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-02-1024x724.jpg 1024w, https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-02-380x269.jpg 380w, https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-02-768x543.jpg 768w, https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-02.jpg 1161w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Install the ELevate Tool<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-step-3-2-install-leapp-and-migration-data\">Step 3.2: Install Leapp and Migration Data<\/h3>\n\n\n\n<p>The migration process is based on a combination of Red Hat\u2019s\u00a0<a href=\"https:\/\/github.com\/oamg\/leapp\" target=\"_blank\" rel=\"noreferrer noopener\">Leapp<\/a>, a framework designed to facilitate in-place upgrades of RHEL systems from one major version to another, plus the distro-specific data package &#8220;<em>leapp-data-almalinux<\/em>&#8221; that contains the rules, configurations, upgrade actors, and metadata tailored specifically for AlmaLinux.<\/p>\n\n\n\n<p>So, let\u2019s install them:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">sudo dnf install -y leapp-upgrade leapp-data-almalinux<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-03.jpg\"><img decoding=\"async\" width=\"1024\" height=\"460\" src=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-03-1024x460.jpg\" alt=\"Install Leapp and Alma\u2019s migration data.\" class=\"wp-image-173684\" srcset=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-03-1024x460.jpg 1024w, https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-03-380x171.jpg 380w, https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-03-768x345.jpg 768w, https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-03.jpg 1161w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Install Leapp and Alma\u2019s migration data.<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Step 3.4: Start Pre-Upgrade Checks<\/h3>\n\n\n\n<p>The next step in the Leapp in-place upgrade process is to start a pre-upgrade check. It performs a non-intrusive, pre-upgrade assessment of your current system and generates a detailed report ( \u201c<em>\/var\/log\/leapp\/leapp-report.txt<\/em>\u201d) on whether your system can be safely upgraded to the next major version, AlmaLinux 10, in this case.<\/p>\n\n\n\n<p>It\u2019s important to understand that the below command is completely non-destructive\u2014i.e., it has\u00a0<strong>not upgraded anything yet<\/strong>. Instead, it gives you a preview\u00a0of what will happen and whether you\u2019re ready to proceed.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-5\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">sudo leapp preupgrade<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-5\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Once the command is complete, you will see an output similar to the one below.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-04.jpg\"><img decoding=\"async\" width=\"1024\" height=\"702\" src=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-04-1024x702.jpg\" alt=\"Pre-upgrade check succeeded.\" class=\"wp-image-173696\" srcset=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-04-1024x702.jpg 1024w, https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-04-380x261.jpg 380w, https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-04-768x527.jpg 768w, https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-04.jpg 1161w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Pre-upgrade check succeeded.<\/figcaption><\/figure>\n\n\n\n<p>The most important thing is to make sure that both the \u201c<em>Errors<\/em>\u201d (no internal Leapp errors occurred during execution) and \u201c<em>Inhibitors<\/em>\u201d (no critical issues that would block the upgrade) lines show a value of 0.<\/p>\n\n\n\n<p>If this number is greater than 0, the upgrade will not proceed. Since it&#8217;s zero, you&#8217;re good to go.<\/p>\n\n\n\n<p><span style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">The &#8220;<em>HIGH severity reports<\/em>&#8221; are serious warnings\u2014<\/span>they won\u2019t stop the upgrade, but they indicate potential problems post-upgrade. In situations like this, I highly recommend checking the &#8220;<em>\/var\/log\/leapp\/leapp-report.txt<\/em>&#8221; file to get a clear picture of any potential issues that might come up.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-6\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">sudo less \/var\/<span class=\"hljs-built_in\">log<\/span>\/leapp\/leapp-report.txt<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-6\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h3 class=\"wp-block-heading\">Step 3.5: Start the Actual Migration from AlmaLinux 9 to 10<\/h3>\n\n\n\n<p>Run the following command to initiate the actual in-place upgrade process. It\u2019s the second major step after running <code>leapp preupgrade<\/code>, and it transforms your AlmaLinux system from one major version to the next (e.g., AlmaLinux 9 > 10).<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-7\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">sudo leapp upgrade<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-7\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>The command downloads and stores the necessary packages needed for the upgrade in a temporary folder, but the upgrade hasn\u2019t been started yet. That will happen after the reboot.<\/p>\n\n\n\n<p>This step involves downloading many packages (at least 1\u20132 gigabytes), so depending on your internet speed, it might take a little while. So, hang tight and let it finish. Then, you\u2019ll be offered to reboot the system, so do it.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-05.jpg\"><img decoding=\"async\" width=\"1024\" height=\"192\" src=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-05-1024x192.jpg\" alt=\"Migration from AlmaLinux 9 to 10.\" class=\"wp-image-173717\" srcset=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-05-1024x192.jpg 1024w, https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-05-380x71.jpg 380w, https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-05-768x144.jpg 768w, https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-05.jpg 1161w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Migration from AlmaLinux 9 to 10.<\/figcaption><\/figure>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-8\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">sudo reboot<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-8\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Since the package upgrades involve a lot of background activity, the process will take a while. Please be patient if you cannot access the terminal to track these changes.<\/p>\n\n\n\n<p>Depending on your hardware\u2019s capabilities and the number of updated packages, it could take anywhere from a few minutes to half an hour.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-06.jpg\"><img decoding=\"async\" width=\"1024\" height=\"644\" src=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-06-1024x644.jpg\" alt=\"Upgrading AlmaLinux 9 to 10.\" class=\"wp-image-173723\" srcset=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-06-1024x644.jpg 1024w, https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-06-380x239.jpg 380w, https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-06-768x483.jpg 768w, https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-06.jpg 1261w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Upgrading AlmaLinux 9 to 10.<\/figcaption><\/figure>\n\n\n\n<p>The system will automatically reboot in the final loop, and the\u00a0GRUB bootloader will greet you. The list should now include the Linux kernel 6.12 used by AlmaLinux 10 (Purple Lion).<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-07.jpg\"><img decoding=\"async\" width=\"903\" height=\"510\" src=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-07.jpg\" alt=\"GRUB bootloader.\" class=\"wp-image-173732\" srcset=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-07.jpg 903w, https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-07-380x215.jpg 380w, https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-07-768x434.jpg 768w\" sizes=\"(max-width: 903px) 100vw, 903px\" \/><\/a><figcaption class=\"wp-element-caption\">GRUB bootloader.<\/figcaption><\/figure>\n\n\n\n<p>It&#8217;s time to congratulate yourselves\u2014you\u2019ve successfully transitioned your system from AlmaLinux 9 to 10.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 4: Check the OS Version (Optional)<\/h2>\n\n\n\n<p>Quickly peek at the <a href=\"https:\/\/linuxiac.com\/what-linux-version\/\">OS version<\/a> to ensure everything went according to plan.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-9\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">cat \/etc\/redhat-release<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-9\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-08.jpg\"><img decoding=\"async\" width=\"1024\" height=\"601\" src=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-08-1024x601.jpg\" alt=\"Successful migration from AlmaLinux 9 to AlmaLinux 10.\" class=\"wp-image-173741\" srcset=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-08-1024x601.jpg 1024w, https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-08-380x223.jpg 380w, https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-08-768x451.jpg 768w, https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-08.jpg 1048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Successful migration from AlmaLinux 9 to AlmaLinux 10.<\/figcaption><\/figure>\n\n\n\n<p>As you can see, everything went smoothly, and our system has been upgraded to AlmaLinux 10.0, the most current version available at the time of this writing.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Post-Installation Steps<\/h2>\n\n\n\n<p>Now\u2019s a good time to clean up the leftover packages from AlmaLinux 9 since we don\u2019t need them anymore. To see what\u2019s still hanging around, run:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-10\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">rpm -qa | grep el9<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-10\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-09.jpg\"><img decoding=\"async\" width=\"960\" height=\"442\" src=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-09.jpg\" alt=\"Packages leftover from AlmaLinux 9.\" class=\"wp-image-173753\" srcset=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-09.jpg 960w, https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-09-380x175.jpg 380w, https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-09-768x354.jpg 768w\" sizes=\"(max-width: 960px) 100vw, 960px\" \/><\/a><figcaption class=\"wp-element-caption\">Packages left over from AlmaLinux 9.<\/figcaption><\/figure>\n\n\n\n<p>You can remove them one by one using the familiar <a href=\"https:\/\/linuxiac.com\/dnf-command-linux\/\">DNF command<\/a>: <code>dnf remove [package_name]<\/code>. But if you\u2019ve got a long list of packages, that can get pretty tedious. So here\u2019s a quicker way to take care of everything in one go.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-11\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">sudo dnf --disableexcludes=all remove $(rpm -qa | grep el9)<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-11\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-10.jpg\"><img decoding=\"async\" width=\"1024\" height=\"633\" src=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-10-1024x633.jpg\" alt=\"Cleaning up the AlmaLinux 9 leftover packages.\" class=\"wp-image-173765\" srcset=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-10-1024x633.jpg 1024w, https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-10-380x235.jpg 380w, https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-10-768x474.jpg 768w, https:\/\/linuxiac.com\/wp-content\/uploads\/2025\/06\/alma9to10-10.jpg 1159w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Cleaning up the AlmaLinux 9 leftover packages.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>As you can see, upgrading from AlmaLinux 9 to AlmaLinux 10 is straightforward when you follow the right steps. Once the upgrade is complete, verify that all services are running correctly and that your applications are functioning as expected.<\/p>\n\n\n\n<p>I try to make this guide as simple as possible. Thanks for using it, and as always, your comments are welcome.<\/p>\n\n\n\n<p>For more information, visit <a href=\"https:\/\/wiki.almalinux.org\/elevate\/ELevating-CentOS7-to-AlmaLinux-10.html#upgrading-almalinux-9-to-almalinux-10\" target=\"_blank\" rel=\"noreferrer noopener\">Alma\u2019s official documentation<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Learn how to upgrade from AlmaLinux 9 to AlmaLinux 10 smoothly. Follow our step-by-step guide to ensure a hassle-free system upgrade.<\/p>\n","protected":false},"author":10,"featured_media":173261,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9,4417],"tags":[3248,5417,4695],"class_list":["post-173258","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorials","category-linux-knowledge","tag-almalinux","tag-enterprise-linux","tag-upgrade"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/posts\/173258","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/comments?post=173258"}],"version-history":[{"count":0,"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/posts\/173258\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/media\/173261"}],"wp:attachment":[{"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/media?parent=173258"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/categories?post=173258"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/tags?post=173258"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}