چگونه یک توزیع لینوکس را انتخاب کنیم
برای راه اندازی یک سرور ابری، یکی از اولین کارهایی که باید انجام دهید نصب یک سیستم عامل است. در دوران مدرن فعلی، تقریباً در اکثر موارد این به معنای یک سیستم عامل لینوکس است. از لحاظ تاریخی، هم سرورهای ویندوز و هم انواع دیگر یونیکس در زمینههای تجاری خاص محبوب بودند، اما اکنون تقریباً همه لینوکس را به دلیل پشتیبانی گسترده، مجوزهای رایگان یا انعطافپذیر و فراگیر بودن آن در محاسبات سرور اجرا میکنند. توزیعهای لینوکس زیادی وجود دارد که هر کدام دارای نگهدارندههای خاص خود هستند که برخی توسط ارائهدهندگان تجاری پشتیبانی میشوند و برخی نه. توزیع هایی که در بخش های زیر توضیح داده شده اند، برخی از محبوب ترین سیستم عامل ها برای اجرای سرورهای ابری هستند.
چشم انداز کلی
اوبونتو (Ubuntu) یکی از محبوبترین توزیعهای لینوکس برای سرورها و رایانههای رومیزی است. نسخههای جدید اوبونتو هر شش ماه یکبار منتشر میشوند و نسخههای جدید با پشتیبانی طولانیمدت (long-term support) اوبونتو هر دو سال یکبار منتشر میشوند و بمدت پنج سال پشتیبانی میشوند. بیشتر محتوای آموزشی در مورد لینوکس به دلیل محبوبیت اوبونتو منعکس شده است و وسعت پشتیبانی موجود نکته قابل توجهی به نفع آن است.
دبیان (Debian) بالادست اوبونتو است، به این معنی که تصمیمات اصلی معماری آن معمولاً انتشارات اوبونتو را مشخص می کند، و از همان قالب بسته .deb
و مدیر بسته apt
که اوبونتو استفاده می کند، استفاده می کند. دبیان به دلیل انتخاب بسته بندی محافظه کارانه و عدم پشتیبانی تجاری آن برای سرورهای تولیدی محبوب نیست. با این حال، بسیاری از کاربران دبیان را به دلیل قابل حمل بودن و استفاده از آن به عنوان پایه برای بسیاری از توزیعهای لینوکس دیگر در پلتفرمهای مختلف، از جمله Raspbian
، محبوبترین سیستمعامل Raspberry Pi، انتخاب میکنند.
رد هت انترپرایز لینوکس Red Hat Enterprise Linux یا RHEL
، محبوب ترین توزیع تجاری لینوکس است. برخلاف خانواده دبیان، از بستههای rpm.
و یک مدیر بسته به نام dnf
به همراه اکوسیستم ابزار خود استفاده میکند. به دلایل صدور مجوز، Red Hat فقط در مواردی استفاده می شود که یک توافق نامه پشتیبانی تجاری وجود داشته باشد.
راکی لینوکس (Rocky Linux) پاییندست Red Hat است، همانطور که اوبونتو پاییندست دبیان است، و برخلاف RHEL مانند اکثر توزیعهای لینوکس دیگر برای استفاده رایگان است که آن را به انتخابی محبوب برای کاربرانی تبدیل میکند که از ممکن است از ابزارهای Red Hat استفاده کنند اما ممکن است از پشتیبانی تجاری Red Hat استفاده نکنند. پیش از این، توزیعی به نام CentOS همان نقش لینوکس راکی را داشت، اما مدل انتشار آن در حال تغییر است. نسخههای لینوکس راکی با نسخههای RHEL از نزدیک دنبال میشوند و بیشتر اسناد را میتوان بین این دو به اشتراک گذاشت.
فدورا لینوکس (Fedora Linux) بالادست Red Hat است و مانند اوبونتو در محیط های دسکتاپ و همچنین در سرورها استفاده می شود. فدورا در واقع خانه توسعه اکثر بسته های اکوسیستم RHEL و همچنین محیط دسکتاپ Gnome است که به عنوان پیش فرض توسط اوبونتو و دیگران استفاده می شود.
آرچ لینوکس (Arch Linux) یکی دیگر از محبوبترین توزیعهای لینوکس متمرکز روی دسکتاپ است که عضوی از خانواده لینوکس دبیان یا Red Hat نیست، اما قالب و ابزار بستهبندی منحصربهفرد خود را ارائه میکند. برخلاف سایر توزیعها، از هیچ نوع نسخه انتشاری استفاده نمیکند - بستههای آن همیشه جدیدترین های موجود هستند. به همین دلیل، برای سرورهای تولیدی توصیه نمی شود، اما مستنداتی عالی ارائه می دهد و می تواند برای کاربران آگاه بسیار منطعف باشد.
آلپاین لینوکس (Alpine Linux) یک توزیع حداقلی لینوکس است که به طور پیش فرض ابزارهای رایج زیادی را ارائه نمی دهد. از لحاظ تاریخی، توزیعهای لینوکس زیادی با این هدف ایجاد شدهاند. Alpine معمولاً در استقرارهای کانتینری مدرن مانند Docker استفاده می شود، جایی که نرم افزار شما ممکن است برای اجرا به یک سیستم عامل مجازی نیاز داشته باشد، اما باید ردپای کلی خود را تا حد امکان کوچک نگه دارد. شما معمولاً مستقیماً در Alpine Linux کار نمی کنید مگر اینکه بخواهید نمونه اولیه یک کانتینر را بسازید.
پیش از این، تفاوتهای بیشتری بین توزیعها در انتخاب سیستم init، مدیر پنجره و سایر کتابخانهها وجود داشت، اما تقریباً همه توزیعهای اصلی لینوکس در حال حاضر بر روی systemd و سایر ابزارهای مشابه استاندارد شدهاند.
انتخاب یک توزیع
بسیاری از توزیعهای لینوکس دیگر نیز وجود دارند، اما اکثر موارد دیگر را در حال حاضر در به این هفت مورد زیر مرتبط هستند. همانطور که از این نمای کلی می توانید متوجه شوید، اکثر معیارهای انتخاب شما برای توزیع های لینوکس به این موارد خلاصه میشود:
- چه برای یک اکوسیستم مشتق شده از دبیان یا یک اکوسیستم Red Hat الزاماتی داشته باشید
- این که آیا شما در درجه اول برای ابر، یا دسکتاپ، یا در یک کانتینر توسعه خواهید داد
- چه نیاز به استفاده از جدیدترین بستههای موجود یا پایدار داشته باشید یا نه
انتخاب توزیع بر اساس اولویت است، اما اگر در فضای ابری کار می کنید و هیچ الزامات تولیدی برای اکوسیستم Red Hat ندارید، اوبونتو یک انتخاب پیش فرض محبوب است. همچنین میتوانید بستههای موجود برای یک توزیع معین را از مخازن بستههای تحت وب آنها بررسی کنید. به عنوان مثال، بستههای اوبونتو 22.04 «Jammy Jellyfish» در بخش جمی Ubuntu.com میزبانی میشوند.
مدیریت بسته
اکثر توزیعهای لینوکس در نحوه ایجاد، کشف و نصب بستههای شخص ثالث - بستههایی که از منابع بسته خود مخزن در دسترس نیستند - به طور قابل توجهی متفاوت هستند. رد هت، فدورا و راکی لینوکس عموماً از چند مخزن بسته شخص ثالث محبوب علاوه بر بستههای رسمی خود استفاده میکنند که با رویکرد معتبرتر و مبتنی بر تولید سازگار است. یکی از این بستههای اضافی برای لینوکس سازمانی یا EPEL است. از آنجایی که اکوسیستم RHEL بین بستههایی که از نظر تجاری پشتیبانی میشوند و بستههایی که پشتیبانی نمیشوند تمایز قائل میشود، بسیاری از بستههای رایجی که خارج از جعبه در اوبونتو در دسترس هستند، از شما میخواهند EPEL را برای نصب آنها در Red Hat پیکربندی کنید. در این مورد و بسیاری موارد دیگر، اینکه کدام بستهها در بالادست از مخازن خود توزیع شما در دسترس هستند، اغلب بیش از هر چیز دیگری مربوط به اعتبار و مسئولیت نگهداری است. بسیاری از منابع بسته شخص ثالث به طور گسترده قابل اعتماد هستند، آنها ممکن است خارج از محدوده نگهدارندگان توزیع شما باشند.
اوبونتو به کاربران اجازه می دهد تا PPA یا آرشیو بسته های شخصی را ایجاد کنند تا نرم افزار شخص ثالث را برای نصب دیگران نگهداری کنند. با این حال، استفاده بیش از حد از PPA به طور همزمان میتواند باعث سردرد ناسازگاری شود، زیرا بستههای Debian و Ubuntu همگی برای داشتن الزامات خاص نسخهبندی شدهاند، بنابراین نگهدارندگان PPA باید با بهروزرسانیهای بالادستی اوبونتو کاملاً مطابقت داشته باشند. آرچ لینوکس یک مخزن واحد برای بسته های ارسال شده توسط کاربر دارد که به درستی به آن Arch User Repository یا AUR می گویند، و اگرچه رویکرد آنها در مقایسه با هرج و مرج تر به نظر می رسد، اما اگر از ده ها بسته شخص ثالث استفاده کنید، می تواند در عمل راحت تر باشد.
همچنین میتوانید با نصب نرمافزار شخص ثالث از طریق Homebrew یا از طریق Docker، از اضافه کردن پیچیدگی به مدیر بسته سیستم خود جلوگیری کنید. اگرچه استقرارهای "Dockerized" یا Containerized جایی که Alpine Linux مورد توجه قرار میگیرد, میتوانند از نظر استفاده از دیسک و نصب ناکارآمد باشند، اما آنها در سراسر توزیعها قابل حمل هستند و هیچ نیاز نسخهسازی را بر سیستم شما تحمیل نمیکنند. با این حال، بستههایی که توسط مدیر بسته سیستم شما نصب نشدهاند ممکن است بهطور پیشفرض بهروزرسانیهای خودکار را دریافت نکنند، که باید مورد ملاحظه دیگری باشد.
نتیجه
در این آموزش، برخی از مهم ترین ملاحظات در انتخاب توزیع لینوکس برای ابر خود را مرور کردید. استفاده گسترده از Docker و سایر موتورهای کانتینر به این معنی است که انتخاب توزیع از نظر نرم افزاری که می توانید اجرا کنید به اندازه گذشته تأثیرگذار نیست. با این حال، هنوز هم به شدت در نحوه به دست آوردن پشتیبانی از نرمافزارتان تأثیر میگذارد، و باید در حین بزرگنمایی زیرساختهای خود برای تولید، مورد توجه قرار گیرد.
برای کسب اطلاعات بیشتر در مورد نحوه کار با مدیر بسته سیستم در توزیعهای مختلف لینوکس، به ضروریات مدیریت بسته مراجعه کنید.
منبع DigitalOcean