• Stars
    star
    536
  • Rank 82,226 (Top 2 %)
  • Language
    Shell
  • License
    GNU General Publi...
  • Created over 3 years ago
  • Updated 3 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
128
star
3

docker-images

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

wiki

The AlmaLinux project documentation.
Dockerfile
92
star
5

mirrors

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

wsl-images

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

almalinux.org

almalinux.org official web site sources.
HTML
38
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
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

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
16

alts

AlmaLinux Test System
Python
7
star
17

osv-database

5
star
18

container-images

5
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

albs-frontend

Vue
2
star
24

sig-HPCAI

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

albs-deploy

Jinja
2
star
26

updates

2
star
27

pes

The AlmaLinux Package Evolution Service
Python
2
star
28

albs-sign-node

Python
2
star
29

bootc-images

Dockerfile
2
star
30

infra-ansible

AlmaLinux infrastructure Ansible playbooks and roles
Jinja
2
star
31

build-system-rfes

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

AlmaLinuxBoardBusiness

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

py-bitwarden-wrapper

Python
1
star
34

immudb-wrapper

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

openqa-createhdds

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

almalinux-backgrounds-extras

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

certification-test-results

Certification Test Results
1
star
38

os-autoinst-distri-almalinux

Perl
1
star