حتماً در جریان هستید که دیگر CentOS به صورت پایدار منتشر نخواهد شد و نسخهٔ CentOS Stream خواهیم داشت که ممکن است اشکالات زیادی داشته باشد. بنابراین باید از یک جایگزینی مثل AlmaLinux استفاده کرد. برای کسب اطلاعات بیشتر پیرامون این موضوع بهتر است که معرفی AlmaLinux به عنوان جایگزین CentOS را مطالعه نمایید. پس در صورتی که بخواهیم سرور عملیاتی خود را از CentOS به AlmaLinux تبدیل کنیم، این کار به راحتی انجام شدنی است. به دلیل اینکه هر دوی این توزیعها دقیقاً از نظر باینری با Redhat یکسان هستند، این کار معمولاً به راحتی و بدون هیچ گونه مشکلی انجام خواهد شد.
AlmaLinux اسکریپتی را معرفی کرده که با اجرای آن اسکریپت روی سرور خود به راحتی میتوانید سرور را به AlmaLinux تبدیل کنید. برای کسب به روز ترین اطلاعات بهتر است که به اینجا مراجعه کنید و طبق دستورات موجود در صفحهٔ github پروژه عمل کنید. اما در ادامه ما هم این مراحل را گفتیم.
توجه داشته باشید که نسخهٔ سیستم عامل شما حتما باید CentOS 8.4 یا Centos 8.5 باشد. در غیر این صورت حتما باید CentOS تان را ابتدا به یکی از این زیرنسخهها به روز رسانی کنید و سپس اقدام به تبدیل نمایید. برای این منظور ابتدا روی CentOS 8 دستورات زیر را اجرا نمایید:
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
سپس دستور به روز رسانی را اجرا کنید:
yum update -y
پس از اینکه مدت زمانی را صبر کردید تا سیستم عامل شما به آخرین نسخهٔ CentOS 8 به روز شود، باید یک بار سیستم را reboot نمایید. پس دستور reboot را اجرا کنید.
- ابتدا بهتر است از کل اطلاعات مهم روی سرور خود نسخهٔ پشتیبان تهیه کنید. هر چند که این عملیات امن است، اما به هر حال باید درصدی را برای بروز مشکل در نظر گرفت.
- حتماً Secure Boot را روی سیستم عامل غیرفعال کنید. چون AlmaLinux با Secure Boot سازگاری ندارد. اگر تغییراتی در سیستم عامل خود ندادید، نگران این مورد نباید باشید.
- حالا روی سرور خود با دستور زیر سند almalinux-deploy.sh را دریافت کنید:
curl -O https://raw.githubusercontent.com/AlmaLinux/almalinux-deploy/master/almalinux-deploy.sh
- سپس اسکریپت را اجرا میکنیم:
sudo bash almalinux-deploy.sh
- اگر خطایی یا هشداری وجود داشت حتما آن را بررسی کنید. در انتها باید نتیجهای مثل زیر برگردانده شود:
$ sudo bash almalinux-deploy.sh
...
Migration to AlmaLinux is completed
- حالا با دستورات زیر بررسی کنید که آیا تبدیل به درستی انجام شده است یا خیر.
# check release file
$ cat /etc/redhat-release
AlmaLinux release 8.3 (Purple Manul)
# check that the system boots AlmaLinux kernel by default
$ sudo grubby --info DEFAULT | grep AlmaLinux
title="AlmaLinux (4.18.0-240.el8.x86_64) 8"
به علت اینکه عملیات بسیار حساس است، بهتر است دستورات را در screen اجرا کنید.