راهنمای مهاجرت به آلما لینوکس #
این مستند نحوه تبدیل سیستم عامل شما به AlmaLinux را با استفاده از ابزار AlmaLinux Migration شرح میدهد.
چه سیستم عاملهایی قابل تبدیل هستند:
- CentOS 8
- CentOS Stream 8, 9
- Miracle Linux 8, 9
- Oracle Linux 8, 9
- RHEL 8, 9
- Rocky Linux 8, 9
- Virtuozzo Linux (VZLinux) 8, 9
این ابزار همچنین از پنلهای cPanel، Plesk و DirectAdmin پشتیبانی میکند.
حداقل نسخه پشتیبانی شده از سیستم عاملهای EL8، ۸.۴ است. در صورتی که نسخه سیستم عامل شما پایینتر است، لطفاً آن را ارتقا دهید.
نکته
توصیه میشود از سیستم خود یک نسخه پشتیبان یا اسنپشات داشته باشید. در صورت بروز مشکل، یک نقطه بازیابی وجود خواهد داشت.
هشدار
مطمئن شوید که از دسترسی کنسول قابل اعتمادی به سیستم خود استفاده میکنید. توصیه میشود ابزار مهاجرت از داخل کنسول اصلی یا از طریق ssh اجرا شود.
مهاجرت با استفاده از مخازن عمومی AlmaLinux (سیستمهای آنلاین) #
این مراحل برای مهاجرتهای استاندارد در سیستمهای آنلاینی که میتوانند در طول فرآیند مهاجرت به مخازن رسمی AlmaLinux دسترسی داشته باشند، مناسب است.
سیستم EL8 یا EL9 خود را با استفاده از CLI به AlmaLinux تبدیل کنید:
- در صورت نیاز، دستور زیر را برای بهروزرسانی سیستم عامل خود اجرا کنید:
sudo dnf update -y - دستور زیر را برای دانلود اسکریپت almalinux-deploy.sh اجرا کنید :
curl -O https://raw.githubusercontent.com/AlmaLinux/almalinux-deploy/master/almalinux-deploy.sh - اسکریپت را اجرا کنید:
sudo bash almalinux-deploy.sh - خروجی را برای یافتن هرگونه خطا بررسی کنید. اگر تبدیل بدون هیچ مشکلی انجام شده باشد، خواهید دید که
Migration to AlmaLinux is completedدر خروجی تکمیل شده است. - سیستم را برای بوت شدن با هسته AlmaLinux مجدداً راهاندازی کنید:
sudo reboot - مطمئن شوید که سیستم شما با موفقیت تبدیل شده است:
- فایل انتشار را بررسی کنید:
$ cat /etc/redhat-release AlmaLinux release 8.7 (Stone Smilodon) - بررسی کنید که سیستم به طور پیشفرض با هسته AlmaLinux بوت شود.:
$ sudo grubby --info DEFAULT | grep AlmaLinux title="AlmaLinux (4.18.0-425.3.1.el8.x86_64) 8.7 (Stone Smilodon)"
- فایل انتشار را بررسی کنید:
مهاجرت یک دستگاه دارای air-gapped #
این مراحل برای مهاجرت دستگاههای ایزولهای که اتصال اینترنتی ندارند اما به یک آینه خصوصی یا به یک دستگاه ذخیرهسازی داده با آینه دسترسی شبکه دارند، توصیه میشود.
این فرآیند حداقل شامل دو میزبان است:
- سیستمی با دسترسی به اینترنت برای ایجاد یک آینه محلی AlmaLinux یا ذخیره آینه در یک دستگاه ذخیرهسازی داده.
- سیستم هدفی که قرار است منتقل شود.
الزامات #
برای مهاجرت یک دستگاه ایزوله، باید یک mirror محلی برای دریافت بهروزرسانیها ایجاد کنید. برای این منظور، فضای ذخیرهسازی توصیهشده حداقل ۵۰۰ گیگابایت برای هر نسخه اصلی است.
ایجاد یک شبکه محلی و خصوصی AlmaLinux #
این مراحل باید روی یک میزبان با دسترسی به اینترنت انجام شود.
از ابزار rsync میتوان برای ایجاد یک شبکه استفاده کرد.
- همگامسازی با نسخه رسمی AlmaLinux از طریق
rsync:/usr/bin/rsync -avSH --exclude='.~tmp~' --delete-delay --delay-updates rsync://rsync.repo.almalinux.org/almalinux/ /example-almalinux-mirror/ - در صورت نیاز، یک وظیفه cron ایجاد کنید تا آینه شما را به صورت دورهای همگامسازی کند (توصیه میکنیم هر ۳ ساعت یکبار آینه را بهروزرسانی کنید):
۰ */۳ * * * sleep $(((RANDOM\%۳۵۰۰)+۱)) && /usr/bin/flock -n /var/run/almalinux_rsync.lock -c "/usr/bin/rsync -avSH --exclude='.~tmp~' --delete-delay --delay-updates rsync://rsync.repo.almalinux.org/almalinux/ /example-almalinux-mirror/"فایل
/example-almalinux-mirror/میتواند روی یک دستگاه ذخیرهسازی داده خارجی قرار گیرد، بنابراین میتوان از این دستگاه در سیستمهایی که دسترسی مستقیم به mirror ایجاد شده توسط شما ندارند، استفاده کرد.اخطار
فراموش نکنید که دایرکتوری /example-almalinux-mirror/ را با دایرکتوری مورد نیاز خود جایگزین کنید.
اگر آینه محلی روی حافظه دستگاه باشد #
اگر به یک آینه خصوصی یا اینترنت دسترسی ندارید، باید از یک دستگاه ذخیرهسازی داده با یک آینه خصوصی محلی که با استفاده از مراحل بالا ایجاد شده است، استفاده کنید. اطمینان حاصل کنید که دستگاه دارای آینه مستقیماً برای سیستم در حال مهاجرت قابل دسترسی است، به عنوان مثال، با نصب آن در دایرکتوری /opt .
مطمئن شوید که mirror روی دستگاه از ساختار دایرکتوری مخزن AlmaLinux پیروی میکند. مثال برای AlmaLinux 8، x86-64 arch:
/opt
├── almalinux-release-latest-8.x86_64.rpm
├── RPM-GPG-KEY-AlmaLinux-8
└── ۸
├── AppStream
│ └── x86_64
│ └── os
│ ├── Packages
│ └── repodata
├── BaseOS
│ └── x86_64
│ └── os
│ ├── Packages
│ └── repodata
├── PowerTools
. └── x86_64
. └── os
. ├── Packages
└── repodata
کجا:
Packages– پوشهای با مخزن مربوطه، تمام بستههاrepodata– پوشهای با فرادادههای مخزن
توجه داشته باشید که دانلود بسته almalinux-release و کلید عمومی GPG مربوط به نسخه شما، مانندalmalinux-release-latest-8.x86_64.rpm و RPM-GPG-KEY-AlmaLinux-8برای AlmaLinux 8 x86_64، از آدرس https://repo.almalinux.org/almalinux/ (در پنجره جدید باز میشود) و قرار دادن آنها در ریشه /optالزامی است.
انجام مهاجرت #
این مراحل باید روی سیستم هدف که قرار است مهاجرت کند، انجام شود.
سیستم EL8 یا EL9 خود را با استفاده از CLI به AlmaLinux تبدیل کنید:
- اکیداً توصیه میشود که سیستم عامل شما جدیدترین بستهها را داشته باشد.
- اسکریپت almalinux-deploy.sh روی سیستم شما موجود است.
- اسکریپت را با استفاده از یکی از روشهای زیر اجرا کنید:
- اگر میرور محلی خصوصی AlmaLinux شما از طریق شبکه قابل دسترسی است، مثلاً از طریق http://mirror.example.com/example-almalinux-mirror:
sudo bash almalinux-deploy.sh --local-repo=http://mirror.example.com/example-almalinux-mirror- اگر آینه خصوصی AlmaLinux شما به صورت محلی در سیستم فایل ذخیره شده است، به عنوان مثال، در دایرکتوری
/opt:
sudo bash almalinux-deploy.sh --local-repo=file:///opt - خروجی را برای یافتن هرگونه خطا بررسی کنید. اگر تبدیل بدون هیچ مشکلی انجام شده باشد، خواهید دید که
Migration to AlmaLinux is completedدر خروجی تکمیل شده است. - سیستم را برای بوت شدن با هسته AlmaLinux مجدداً راهاندازی کنید:
sudo reboot - مطمئن شوید که سیستم شما با موفقیت تبدیل شده است:
- فایل انتشار را بررسی کنید:
$ cat /etc/redhat-release AlmaLinux release 8.7 (Stone Smilodon) - بررسی کنید که سیستم به طور پیشفرض با هسته AlmaLinux بوت شود.:
$ sudo grubby --info DEFAULT | grep AlmaLinux title="AlmaLinux (4.18.0-425.3.1.el8.x86_64) 8.7 (Stone Smilodon)"
- فایل انتشار را بررسی کنید:
مهاجرت از نسخههای CentOS پایینتر از ۸.۴ #
چند نکتهی اضافی هنگام تبدیل سیستم CentOS شما وجود دارد. برای تبدیل به AlmaLinux، CentOS 8.4 یا ۸.۵ مورد نیاز است. اگر نسخه CentOS شما پایینتر است، توصیه میشود قبل از تبدیل به AlmaLinux، آن را به ۸.۵ بهروزرسانی کنید. اگرچه، اگر نسخه CentOS شما حداقل CentOS 8.4 باشد، نیازی به این کار نیست.
- از تاریخ ۳۱ ژانویه ۲۰۲۲، لیستهای mirror در CentOS 8 آفلاین هستند. برای اجرای موفقیتآمیز دستور
dnf update -y، باید فایلهای پیکربندیdnfخود را بهروزرسانی کنید تا به یک mirror معتبر اشاره کنند. برای راحتی میتوانید از دستوراتsedزیر برای بازیابی dnf به حالت عملیاتی استفاده کنید که به شما امکان بهروزرسانی به ۸.۵ و متعاقباً 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
نکته
به عنوان یک روش جایگزین، میتوانید از آپشن -f برای مدیریت این مورد هنگام اجرای اسکریپت almalinux-deploy.shاستفاده کنید:
sudo bash almalinux-deploy.sh -f
- برای به روزرسانی سیستم عامل خود، دستور زیر را اجرا کنید:
sudo dnf update -y
- بعد از آپدیت سیستم را ریستارت کنید:
sudo reboot
- دستور زیر را برای دانلود اسکریپت almalinux-deploy.sh اجرا کنید:
curl -O https://raw.githubusercontent.com/AlmaLinux/almalinux-deploy/master/almalinux-deploy.sh
- اسکریپت را اجرا کنید::
sudo bash almalinux-deploy.sh
- مطمئن شوید که سیستم شما با موفقیت تبدیل شده است:
- فایل انتشار را بررسی کنید
$ cat /etc/redhat-release AlmaLinux release 8.7 (Stone Smilodon)- بررسی کنید که سیستم به طور پیشفرض با هسته AlmaLinux بوت شود
$ sudo grubby --info DEFAULT | grep AlmaLinux title="AlmaLinux (4.18.0-425.3.1.el8.x86_64) 8.7 (Stone Smilodon)"
