• Stars
    star
    541
  • Rank 82,114 (Top 2 %)
  • Language
    Shell
  • License
    GNU General Publi...
  • Created almost 4 years ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

EL to AlmaLinux migration tool.

almalinux-deploy

An EL to AlmaLinux migration tool.

Usage

In order to convert your EL8 and EL9 operating systems to AlmaLinux do the following:

  1. CentOS 8.4 or 8.5 is required to convert to AlmaLinux. It is recommended to update to 8.5 prior to moving to AlmaLinux but not required if you are on at least CentOS 8.4. Rebooting after the updates is recommended if your system received new updates.

    sudo dnf update -y
    sudo reboot
  • As of January 31, 2022 the CentOS 8 mirrorlists are offline. In order to successfully perform dnf update -y you need to update your dnf config files to point to a valid mirror. You can use the following sed commands for convenience to restore dnf to a functional state that will let you update to 8.5 and subsequently AlmaLinux.
    • sudo sed -i -e '/mirrorlist=http:\/\/mirrorlist.centos.org\/?release=$releasever&arch=$basearch&repo=/ s/^#*/#/' -e '/baseurl=http:\/\/mirror.centos.org\/$contentdir\/$releasever\// s/^#*/#/' -e '/^\[baseos\]/a baseurl=https://mirror.rackspace.com/centos-vault/8.5.2111/BaseOS/$basearch/os' /etc/yum.repos.d/CentOS-Linux-BaseOS.repo
      sudo sed -i -e '/mirrorlist=http:\/\/mirrorlist.centos.org\/?release=$releasever&arch=$basearch&repo=/ s/^#*/#/' -e '/baseurl=http:\/\/mirror.centos.org\/$contentdir\/$releasever\// s/^#*/#/' -e '/^\[appstream\]/a baseurl=https://mirror.rackspace.com/centos-vault/8.5.2111/AppStream/$basearch/os' /etc/yum.repos.d/CentOS-Linux-AppStream.repo
      sudo sed -i -e '/mirrorlist=http:\/\/mirrorlist.centos.org\/?release=$releasever&arch=$basearch&repo=/ s/^#*/#/' -e '/baseurl=http:\/\/mirror.centos.org\/$contentdir\/$releasever\// s/^#*/#/' -e '/^\[cr\]/a baseurl=https://mirror.rackspace.com/centos-vault/8.5.2111/ContinuousRelease/$basearch/os' /etc/yum.repos.d/CentOS-Linux-ContinuousRelease.repo
      sudo sed -i -e '/mirrorlist=http:\/\/mirrorlist.centos.org\/?release=$releasever&arch=$basearch&repo=/ s/^#*/#/' -e '/baseurl=http:\/\/mirror.centos.org\/$contentdir\/$releasever\// s/^#*/#/' -e '/^\[devel\]/a baseurl=https://mirror.rackspace.com/centos-vault/8.5.2111/Devel/$basearch/os' /etc/yum.repos.d/CentOS-Linux-Devel.repo
      sudo sed -i -e '/mirrorlist=http:\/\/mirrorlist.centos.org\/?release=$releasever&arch=$basearch&repo=/ s/^#*/#/' -e '/baseurl=http:\/\/mirror.centos.org\/$contentdir\/$releasever\// s/^#*/#/' -e '/^\[extras\]/a baseurl=https://mirror.rackspace.com/centos-vault/8.5.2111/extras/$basearch/os' /etc/yum.repos.d/CentOS-Linux-Extras.repo
      sudo sed -i -e '/mirrorlist=http:\/\/mirrorlist.centos.org\/?release=$releasever&arch=$basearch&repo=/ s/^#*/#/' -e '/baseurl=http:\/\/mirror.centos.org\/$contentdir\/$releasever\// s/^#*/#/' -e '/^\[fasttrack\]/a baseurl=https://mirror.rackspace.com/centos-vault/8.5.2111/fasttrack/$basearch/os' /etc/yum.repos.d/CentOS-Linux-FastTrack.repo
      sudo sed -i -e '/mirrorlist=http:\/\/mirrorlist.centos.org\/?release=$releasever&arch=$basearch&repo=/ s/^#*/#/' -e '/baseurl=http:\/\/mirror.centos.org\/$contentdir\/$releasever\// s/^#*/#/' -e '/^\[ha\]/a baseurl=https://mirror.rackspace.com/centos-vault/8.5.2111/HighAvailability/$basearch/os' /etc/yum.repos.d/CentOS-Linux-HighAvailability.repo
      sudo sed -i -e '/mirrorlist=http:\/\/mirrorlist.centos.org\/?release=$releasever&arch=$basearch&repo=/ s/^#*/#/' -e '/baseurl=http:\/\/mirror.centos.org\/$contentdir\/$releasever\// s/^#*/#/' -e '/^\[plus\]/a baseurl=https://mirror.rackspace.com/centos-vault/8.5.2111/centosplus/$basearch/os' /etc/yum.repos.d/CentOS-Linux-Plus.repo
      sudo sed -i -e '/mirrorlist=http:\/\/mirrorlist.centos.org\/?release=$releasever&arch=$basearch&repo=/ s/^#*/#/' -e '/baseurl=http:\/\/mirror.centos.org\/$contentdir\/$releasever\// s/^#*/#/' -e '/^\[powertools\]/a baseurl=https://mirror.rackspace.com/centos-vault/8.5.2111/PowerTools/$basearch/os' /etc/yum.repos.d/CentOS-Linux-PowerTools.repo
    • You can use the -f flag (ie sudo bash almalinux-deploy.sh -f) to handle this for you.
  1. Back up of the system. We didn't test all possible scenarios so there is a risk that something goes wrong. In such a situation you will have a restore point.

  2. Download the almalinux-deploy.sh script:

    curl -O https://raw.githubusercontent.com/AlmaLinux/almalinux-deploy/master/almalinux-deploy.sh
  3. Run the script and check its output for errors:

    $ sudo bash almalinux-deploy.sh
      ...
      Migration to AlmaLinux is completed
  4. Reboot is recommended to boot with AlmaLinux kernel:

    sudo reboot
  5. Ensure that your system was successfully converted:

    # check release file
    $ cat /etc/redhat-release
    AlmaLinux release 8.5 (Arctic Sphynx)
    
    # check that the system boots AlmaLinux kernel by default
    $ sudo grubby --info DEFAULT | grep AlmaLinux
    title="AlmaLinux (4.18.0-348.el8.x86_64) 8.5 (Arctic Sphynx)"
  6. Thank you for choosing AlmaLinux!

Roadmap

  • CentOS 8 support.
  • Write debug information to a log file for failed migration analysis.
  • Oracle Linux 8 support.
  • RHEL 8 support.
  • Rocky Linux 8 support.
  • Virtuozzo Linux (VZLinux) 8 support.
  • DirectAdmin control panel support.
  • cPanel control panel support.
  • Plesk control panel support.
  • CentOS Stream 8 downgrade support with -d option.
  • EL9 (RHEL 9, Oracle Linux 9, Rocky Linux 9, Virtuozzo Linux 9) and CentOS Stream 9 support
  • Cover all common scenarios with tests.
  • Add OpenNebula support to Molecule test suite.

Get Involved

Any contribution is welcome:

  • Find and report bugs.
  • Submit pull requests with bug fixes, improvements and new tests.
  • Test it on different configurations and share your thoughts in discussions.

Technology stack:

To run the functional tests do the following:

  1. Install Vagrant and VirtualBox.
  2. Install requirements from the requirements.txt file.
  3. Run molecule test --all in the project root.

License

Licensed under the GPLv3 license, see the LICENSE file for details.

More Repositories

1

cloud-images

Packer templates and other tools for building AlmaLinux images for various cloud platforms.
HCL
148
star
2

raspberry-pi

AlmaLinux Raspberry Pi
133
star
3

docker-images

Home for AlmaLinux Docker image RootFS files and production version of sources
Shell
94
star
4

mirrors

The AlmaLinux project mirrors configuration and tools.
Python
86
star
5

wiki

The AlmaLinux project documentation.
Shell
69
star
6

almalinux.org

almalinux.org official web site sources.
HTML
40
star
7

wsl-images

Visual Studio solution and kickstart file to generate WSL images and the associated appx.
C++
39
star
8

build-system

The AlmaLinux OS project Build System documentation and issue tracker.
25
star
9

sig-livemedia

AlmaLinux SIG/Live-media
Ruby
21
star
10

leapp-data

ELevate related data
Python
11
star
11

alma-sbom

AlmaLinux OS SBOM data management utility.
Python
10
star
12

ansible-almalinux.ci

Ansible collection for AlmaLinux OS CI.
Python
9
star
13

albs-node

AlmaLinux Build System build node.
Python
8
star
14

albs-web-server

Python
8
star
15

container-images

8
star
16

infra-devops

Infra and DevOps Utils, like Kickstart to RootFS file builder in docker/podman environment, using AlmaLinux as foundation. This utility can be used in CI/CD pipeline to build docker RootFS files
Shell
7
star
17

alts

AlmaLinux Test System
Python
7
star
18

osv-database

7
star
19

albs-infra

Python
4
star
20

gitea-listener

Python
3
star
21

almalinux-infra

AlmaLinux infrastructure provisioning toolchain.
HCL
3
star
22

Hardware-Certification-Suite

Shell
3
star
23

certifications

Certification Test Results
3
star
24

infra-ansible

AlmaLinux infrastructure Ansible playbooks and roles
Jinja
3
star
25

albs-frontend

Vue
2
star
26

sig-HPCAI

Example configuration files for deploying Slurm and other HPC software on AlmaLinux
2
star
27

albs-deploy

Jinja
2
star
28

updates

2
star
29

pes

The AlmaLinux Package Evolution Service
Python
2
star
30

albs-sign-node

Python
2
star
31

bootc-images

Dockerfile
2
star
32

build-system-rfes

Requests for the AlmaLinux Build System enhancement.
Python
1
star
33

AlmaLinuxBoardBusiness

A tracker for AlmaLinux Foundation Board legal and other questions
1
star
34

py-bitwarden-wrapper

Python
1
star
35

immudb-wrapper

The wrapper around Python Codetorary Immudb client.
Python
1
star
36

openqa-createhdds

OpenQA Helper Repo, Cloned and extended from Fedora https://pagure.io/fedora-qa/createhdds.git
Python
1
star
37

almalinux-backgrounds-extras

AlmaLinux Background Extras - files for KDE and XFCE use
1
star
38

os-autoinst-distri-almalinux

Perl
1
star