سال‌ها CentOS انتخاب پیش‌فرض سرورهای هاستینگ بود: رایگان، پایدار و یک کپی دقیق از Red Hat Enterprise Linux. با تبدیل آن به CentOS Stream و پایان پشتیبانی CentOS 7 در اواسط ۲۰۲۴، هزاران سرور cPanel، Plesk و DirectAdmin بدون وصلهٔ امنیتی ماندند و مدیران باید بین دو جایگزین اصلی تصمیم بگیرند: AlmaLinux و Rocky Linux. هر دو هدف یکسانی دارند، اما در شیوهٔ ساخت بسته‌ها، حاکمیت، سیاست سازگاری و چند تصمیم فنی در نسخهٔ 10 از هم جدا می‌شوند؛ این مقاله همین تفاوت‌ها را بررسی می‌کند.

چرا CentOS دیگر گزینهٔ سرور تولیدی نیست

در دسامبر ۲۰۲۰ Red Hat اعلام کرد CentOS Linux کلاسیک متوقف می‌شود و CentOS Stream جای آن را می‌گیرد. تفاوت اساسی در جایگاه این دو است: CentOS کلاسیک «پس از» RHEL ساخته می‌شد و همان بسته‌های تست‌شده را بازسازی می‌کرد، در حالی که Stream «پیش از» RHEL قرار دارد و نسخهٔ در حال توسعهٔ انتشار بعدی است.

CentOS Stream برای چه کسی مناسب است؟

Stream یک توزیع با انتشار پیوسته است و برای توسعه‌دهندگانی که می‌خواهند نرم‌افزارشان را با نسخهٔ بعدی RHEL تست کنند مناسب است، اما سرور هاستینگ به نسخهٔ مشخص کرنل، glibc و OpenSSL وابسته است و این پویایی برایش خطر محسوب می‌شود. پنل‌هایی مثل cPanel به همین دلیل از Stream پشتیبانی نمی‌کنند.

تاریخ‌های پایان پشتیبانی که باید بدانید

CentOS 8 در دسامبر ۲۰۲۱ و CentOS 7 در ۳۰ ژوئن ۲۰۲۴ به پایان عمر رسیدند. سروری که هنوز روی CentOS 7 است، بیش از دو سال وصلهٔ امنیتی دریافت نکرده و تنها راه مسئولانه، مهاجرت است.

AlmaLinux: از پروژهٔ CloudLinux تا بنیاد مستقل

AlmaLinux در مارس ۲۰۲۱ توسط شرکت CloudLinux، همان سازندهٔ سیستم‌عامل CloudLinux OS که در هاستینگ اشتراکی رایج است، آغاز شد و چند ماه بعد به بنیاد غیرانتفاعی AlmaLinux OS Foundation منتقل گردید؛ در این بنیاد اعضا هیئت مدیره را انتخاب می‌کنند و هیچ شرکتی به‌تنهایی کنترل پروژه را ندارد.

تغییر رویکرد ۲۰۲۳: سازگاری ABI به‌جای کپی بایت‌به‌بایت

در ژوئن ۲۰۲۳ Red Hat دسترسی عمومی به سورس RHEL را به مشتریان دارای قرارداد محدود کرد. AlmaLinux در واکنش، هدف خود را از «کپی یک‌به‌یک RHEL» به «سازگاری کامل در سطح ABI» تغییر داد. در عمل یعنی هر باینری که روی RHEL کار می‌کند، روی AlmaLinux هم بدون تغییر کار می‌کند، اما AlmaLinux اجازه دارد وصله‌های امنیتی را زودتر از RHEL منتشر کند یا قابلیت‌هایی را که Red Hat حذف کرده (مثل پشتیبانی برخی سخت‌افزارهای قدیمی) برگرداند. سورس‌ها از CentOS Stream و مخازن عمومی Red Hat گرفته می‌شوند.

Rocky Linux: بازگشت بنیان‌گذار CentOS

Rocky Linux را Gregory Kurtzer، یکی از بنیان‌گذاران اولیهٔ CentOS، در همان روز اعلام تغییر CentOS آغاز کرد. پروژه زیر نظر Rocky Enterprise Software Foundation (RESF) مدیریت می‌شود که یک شرکت با منافع عمومی (Public Benefit Corporation) است و شرکت CIQ، متعلق به همان بنیان‌گذار، حامی تجاری اصلی آن به شمار می‌رود. این ساختار متمرکزتر از AlmaLinux است.

روش Rocky برای دسترسی به سورس RHEL

Rocky پس از محدودیت ۲۰۲۳ اعلام کرد که به هدف «بازسازی بایت‌به‌بایت» پایبند می‌ماند و سورس بسته‌ها را از مسیرهای عمومی مثل ایمیج‌های کانتینری UBI و نمونه‌های ابری RHEL به دست می‌آورد. نتیجه این است که Rocky به RHEL نزدیک‌تر می‌ماند، ولی انتشار وصله‌ها گاهی اندکی دیرتر از AlmaLinux اتفاق می‌افتد، چون باید منتظر نسخهٔ رسمی RHEL بماند.

مقایسهٔ فنی AlmaLinux و Rocky Linux

جدول زیر معیارهایی را کنار هم می‌گذارد که در تصمیم یک مدیر سرور هاستینگ واقعاً نقش دارند؛ مواردی مثل dnf، systemd و SELinux در هر دو یکسان است.

معیارAlmaLinuxRocky Linux
هدف سازگاریسازگاری ABI با RHELبازسازی بایت‌به‌بایت RHEL
حاکمیتبنیاد عضومحور، هیئت مدیرهٔ انتخابیRESF با حمایت CIQ
منبع سورسCentOS Stream و مخازن عمومیUBI و نمونه‌های ابری RHEL
سرعت وصله‌های امنیتیگاهی زودتر از RHELهمگام با RHEL
پایان پشتیبانی نسخهٔ 9۲۰۳۲۲۰۳۲
پایان پشتیبانی نسخهٔ 10۲۰۳۵۲۰۳۵
حداقل سطح CPU در نسخهٔ 10x86-64-v2 (با بیلد جداگانه)x86-64-v3
ابزار مهاجرت از CentOSalmalinux-deploy و ELevatemigrate2rocky
پشتیبانی تمدیدی تجاریاز طریق شرکای بنیاداز طریق CIQ

تفاوت مهم در نسخهٔ 10

RHEL 10 حداقل سطح معماری x86-64-v3 (پردازنده‌های دارای AVX2، تقریباً از نسل Haswell در ۲۰۱۳ به بعد) را الزامی کرده است. Rocky Linux 10 همین سیاست را دنبال می‌کند، اما AlmaLinux 10 علاوه بر بیلد v3، یک بیلد جداگانه برای x86-64-v2 هم منتشر کرده است. این تصمیم برای سرورهای قدیمی‌تر یا سرورهای مجازی‌ای که CPU مجازی‌شان AVX2 را عبور نمی‌دهد، تعیین‌کننده است؛ پیش از نصب نسخهٔ 10 با دستور /lib64/ld-linux-x86-64.so.2 --help | grep supported سطح پشتیبانی CPU را بررسی کنید.

سازگاری با پنل‌های هاستینگ

برای سرور هاستینگ، مهم‌تر از خود توزیع، این است که پنل مدیریت و نرم‌افزارهای جانبی آن را رسماً پشتیبانی کنند. وضعیت فعلی به این صورت است:

  • cPanel/WHM: AlmaLinux 8 و 9 را به‌طور رسمی پشتیبانی می‌کند و AlmaLinux را توزیع پیشنهادی خود معرفی کرده است؛ Rocky Linux 8 و 9 نیز پشتیبانی می‌شوند.
  • Plesk: هر دو توزیع را در نسخه‌های 8 و 9 پشتیبانی می‌کند و ابزار مهاجرت خودش را دارد.
  • DirectAdmin: هر دو توزیع را پشتیبانی می‌کند.
  • CloudLinux OS و Imunify360: تبدیل AlmaLinux به CloudLinux با یک اسکریپت و بدون نصب مجدد انجام می‌شود؛ این مسیر برای Rocky رسمی نیست.

اگر قصد دارید در آینده به CloudLinux مهاجرت کنید، شروع با AlmaLinux مسیر هموارتری دارد. برای یک سرور اختصاصی ایران که قرار است میزبان cPanel با ده‌ها اکانت باشد، این موضوع معمولاً برگ برنده است.

مهاجرت از CentOS 7 و 8 بدون نصب مجدد

هر دو پروژه ابزار مهاجرت درجا (in-place) ارائه می‌دهند، اما مسیر مهاجرت بسته به نسخهٔ فعلی شما متفاوت است.

از CentOS 8 به نسخهٔ 8 هر دو توزیع

این ساده‌ترین حالت است، چون نسخهٔ اصلی عوض نمی‌شود و تنها مخازن و بسته‌های برندینگ جایگزین می‌شوند. ابتدا بکاپ کامل یا اسنپ‌شات بگیرید، سپس:

# AlmaLinux
curl -O https://raw.githubusercontent.com/AlmaLinux/almalinux-deploy/master/almalinux-deploy.sh
sudo bash almalinux-deploy.sh

# Rocky Linux
curl -O https://raw.githubusercontent.com/rocky-linux/rocky-tools/main/migrate2rocky/migrate2rocky.sh
sudo bash migrate2rocky.sh -r

اسکریپت‌ها مخازن CentOS را حذف، مخازن جدید را اضافه و با dnf distro-sync همهٔ بسته‌ها را با نسخهٔ توزیع مقصد جایگزین می‌کنند. پس از راه‌اندازی مجدد، cat /etc/os-release نام توزیع جدید را نشان می‌دهد. مخازن شخص ثالث مثل Remi را پیش از اجرا غیرفعال کنید.

از CentOS 7 با ELevate

ارتقا از نسخهٔ 7 به 8 یا 9 یک ارتقای اصلی (major) است و پروژهٔ ELevate که AlmaLinux بر پایهٔ ابزار Leapp شرکت Red Hat ساخته، آن را ممکن می‌کند. ELevate می‌تواند مقصد را AlmaLinux، Rocky یا Oracle Linux قرار دهد. مراحل کلی: نصب بستهٔ leapp-upgrade، اجرای leapp preupgrade و بررسی گزارش در /var/log/leapp/leapp-report.txt، رفع موارد مسدودکننده و در نهایت leapp upgrade و راه‌اندازی مجدد. روی سرور cPanel این مسیر پشتیبانی نمی‌شود و باید اکانت‌ها با Transfer Tool به سرور تازه منتقل شوند.

کدام توزیع برای شما مناسب‌تر است؟

هر دو توزیع پایدار، رایگان و دارای ۱۰ سال پشتیبانی برای هر نسخهٔ اصلی هستند و تفاوت‌ها جزئی است. با این حال چند سناریو تصمیم را روشن می‌کند:

  1. سرور هاست اشتراکی با cPanel یا احتمال مهاجرت به CloudLinux: AlmaLinux، به دلیل پشتیبانی پیشنهادی cPanel و مسیر تبدیل مستقیم به CloudLinux.
  2. سخت‌افزار قدیمی یا CPU مجازی بدون AVX2 و نیاز به نسخهٔ 10: AlmaLinux، به دلیل بیلد x86-64-v2.
  3. سازمانی که به تطابق دقیق با RHEL برای گواهی‌نامه‌ها یا پشتیبانی نرم‌افزارهای تجاری نیاز دارد: Rocky Linux، چون هدفش بازسازی بایت‌به‌بایت است.
  4. سرور مجازی عمومی برای وب‌سایت‌های PHP و Node: هر کدام؛ تجربهٔ تیم شما تعیین‌کننده است.

اگر هاست اشتراکی می‌خرید، این تصمیم با ارائه‌دهنده است؛ برای نمونه سرورهای هاست لینوکس سباهاست روی توزیع سازگار با RHEL و پنل cPanel ارائه می‌شوند.

جمع‌بندی

پایان CentOS کلاسیک، AlmaLinux و Rocky Linux را به دو جایگزین اصلی برای سرورهای هاستینگ تبدیل کرد. AlmaLinux با حاکمیت باز، بیلد x86-64-v2 در نسخهٔ 10، پشتیبانی پیشنهادی cPanel و مسیر مستقیم به CloudLinux برای اغلب سرورهای هاستینگ انتخاب عملی‌تری است؛ Rocky Linux برای کسانی که بازسازی دقیق RHEL را می‌خواهند مناسب‌تر است. تصمیم اشتباهی در میان نیست؛ تنها اشتباه، ماندن روی CentOS 7 است.

سوالات متداول

آیا AlmaLinux و Rocky Linux کاملاً با هم سازگارند و می‌توان بین آن‌ها جابه‌جا شد؟

بله، هر دو با RHEL هم‌نسخه در سطح ABI سازگارند. ابزارهای مهاجرت هر دو پروژه، جابه‌جایی از توزیع دیگر را در همان نسخهٔ اصلی پشتیبانی می‌کنند و فرایند به تعویض مخازن و dnf distro-sync خلاصه می‌شود.

چه زمانی نسخهٔ 10 را به‌جای 9 نصب کنم؟

اگر سرور تازه است، پنل و نرم‌افزارهای شما نسخهٔ 10 را رسماً پشتیبانی می‌کنند و CPU شما x86-64-v3 دارد، نسخهٔ 10 سه سال پشتیبانی بیشتر می‌دهد. اگر cPanel یا نرم‌افزار خاصی هنوز نسخهٔ 10 را پشتیبانی نمی‌کند، نسخهٔ 9 تا ۲۰۳۲ انتخابی کاملاً امن است.

آیا می‌توان CentOS 7 را مستقیماً به AlmaLinux 9 ارتقا داد؟

ELevate مسیر ۷ به ۸ و سپس ۸ به ۹ را پشتیبانی می‌کند و باید دو مرحله طی شود. ماژول‌های کرنل شخص ثالث، PHP نصب‌شده از مخازن غیررسمی و پارتیشن‌بندی غیراستاندارد رایج‌ترین دلایل توقف هستند. برای سرورهای پنل‌دار، نصب تازه و انتقال اکانت‌ها ایمن‌تر است.

تفاوت AlmaLinux با CloudLinux چیست؟

CloudLinux OS یک توزیع تجاری بر پایهٔ همان بسته‌های سازگار با RHEL است که قابلیت‌هایی مثل LVE برای محدود کردن منابع هر کاربر هاست اشتراکی، CageFS و PHP Selector را اضافه می‌کند. AlmaLinux رایگان است و این قابلیت‌ها را ندارد، اما می‌توان آن را با یک اسکریپت و بدون نصب مجدد به CloudLinux تبدیل کرد.

آیا Oracle Linux گزینهٔ بهتری نیست؟

Oracle Linux نیز رایگان و سازگار با RHEL است، اما پشتیبانی پنل‌های هاستینگ برای آن محدودتر است و وابستگی به یک شرکت واحد، نگرانی‌هایی مشابه CentOS ایجاد می‌کند. برای هاستینگ، AlmaLinux و Rocky انتخاب‌های متداول‌تری هستند.