انتخاب توزیع گنو/لینوکس مناسب سرور

create_distro

بالاخره از هفت خان پیدا کردن یک ماشین فیزیکی یا مجازی و انواع پیچیدگی‌های پرداخت گذر کردین و قراره دیستروی مناسب برای نصب کردن روی سرور رو انتخاب کنین. انتخابتون چیه؟ خیلی ها می گن آرچ مال آدم های خفن است، بعضی ها سراغ چیزهایی می رن مثل ردهت یا حتی اوراکل. اما واقعا کدوم توزیع برای ما بهتره؟ جواب اینه که:

لینوکس تنوع داره دقیقا به این خاطر که آدم ها و نیازهاشون تنوع دارن. هر کس ممکنه از چیزی خوشش بیاد و چیزی براش بهتر باشه. جواب نهایی در این مورد وجود نداره!

خب قبول! ولی اکثریت نیازهای ما با چه چیزی جواب داده خواهد شد؟

اولین سوال: دب یا آر پی ام

اولین نکته در انتخاب یک توزیع برای سرور اینه که شما می خواین از مدیر بسته های دبیانی (فایل های deb و دستورات apt) استفاده کنین یا ردهتی (فایل های rpm و مدیر بسته های yum یا dnf). این تا حد زیادی یک سلیقه و تجربه شخصی است. اکثر ما روی دسکتاپ با توزیع‌های مبتنی بر دبیان (مثلا اوبونتو یا مینت) شروع می کنیم و در نتیجه روی سرور هم اونها برامون راحتتر هستن. در مقابل شرکت های بزرگی مثل اوراکل و ردهت و سوزه توزیع سرور خودشون رو مبتنی بر rpm عرضه می کنن و اگر وارد دنیای حرفه ای بشین، بیشترین چیزی که می بینین اینها هستن. این انتخاب بین rpm و deb قدم اول شما برای رسیدن به توزیع مورد نظر است و تفاوت عجیبی هم با هم ندارن. البته من شخصا در کارهای شخصی (مثلا وب سرور خودم) سیستم های مبتنی بر دبیان رو ترجیح می دم و در سیستم های تجاری اداری (مثلا بانک یا مخابرات) سیستم های rpm رو.

دبیانی‌ها

در این بخش همونطور که از اسم بخش پیدا است، سیستم اصلی دبیان است. البته اوبونتوی سرور هم رقیب بسیار خوب و مناسبی به حساب می‌یاد. هر دوی این توزیع ها نسخه‌هایی با پشتیبانی طولانی مدت و تمرکز روی پایداری دارن که باعث می شه در این حوزه انتخابی بسیار مناسب باشن. من اگر بخوام روی سروری که مربوط به کارهای خودم است یا کنترلش با منه حس توی خونه خودم بودن داشته باشم، روش یا دبیان استیبل نصب می کنم یا اوبونتوی سرور LTS. اولی برای کارهای جدی تر و دومی برای کارهای فان تر.

آر پی امی‌ها

مطمئنا رقیب بلامنازع دنیای rpm برای سرورها، ردهت و لینوکس rhel است ولی ردهت یک شرکت تجاری و آمریکاییه که نصب کردن و ساپورت و آپدیت صحیحش نیاز به اشتراک و غیره داره. من اگر بخوام روی یک سرور کار کنم که بعدا قراره تحویل کس دیگه ای بشه – بخصوص در حوزه صنایع و تجارت های بزرگ مثل بانک و مخابرات – حتما انتخابم نمونه آزادتر ردهت یعنی سنت او اس است. در حال حاضر سنت او اس ۷ آخرین و مرسوم‌ترین نسخه است.

بقیه لینوکس‌ها

مطمئنا توزیع های گنو/لینوکس‌ زیاد دیگه ای هم برای سرور موجود هستن و هر کدوم رو به هر دلیلی که استفاده کنین خوبه – حتی کنجکاوی! توی این نوشته کوتاه فقط به چیزهای مرسوم اشاره کردیم ولی خیلی وقت ها اتفاقات خوب با رفتن از راه های کشف نشده اتفاق می افتن! هرچند که دو نکته دیگه باید قبل از پایان متن گفته بشه.

آرچ؟!

نصب آرچ سخت نیست ولی نیاز به کمی انگلیسی دونستن، حوصله و پهنای باند داره و به همین دلیل برای بعضی ها دور از دسترس به نظر می رسه. اسمش هم جور جالبی توی دهن میچرخه و در نتیجه وقتی کسی می شنوه یکی دیگه با آرچ کار می کنه معمولا احساس رعب می کنه؛ چیزی که می تونیم اسمش رو بذاریم وهم آرچی! این وهم مثل هر ترس دیگه در انسان‌ها باعث یک کشش و علاقه هم می شه و در نتیجه گاهی آدم ها در مقال چیزی که ازش می ترسن / می ترسیدن اونقدر خاشع می شن که می گن حتی دوستش دارن و به پرستش و اظهار ارادت های های بیجا هم می رسن. مثلا در دنیای گنو/لینوکسی این داستان، آرچ رو روی سرور نصب می کنن!

یکی از بهترین نقاط قوت آرچ در دسکتاپ، یکی از اصلی ترین نقطه ضعف های اون روی سرور است: غلطان بودن. غلطان بودن؛

  1. غلطان بودن باعث می شه سیستم خطرناک‌تر آپدیت بشه. نمی گم آرچ غیرپایدار است ولی اصولا از یک سیستم غلطان نمی شه انتظار پایداری صد در صد داشت چون به هرحال بسته ها با سرعت به آخرین نسخه ها آپدیت می شن و خطر همیشه در کمینه!
  2. غلطان بودن باعث می شه شما مطمئن نباشین که سیستم روی چه نسخه ای از هر لایبری یا نرم افزار ایستاده. اگر من دبیان پایدار نصب می کنم می دونم که پی اچ پی من روی فلان نسخه است و تغییر هم نمی کنه ولی در یک سیستم غلطان در هر مورد باید با دست مشخص بشه که می خوایم فلان بسته در فلان نسخه باشه. این روی سرور خطرناکه چون ممکنه سازگاری نرم افزارها یا نیازهای زیرساختی اونها به نسخه های خاص رو به هم بزنه.

البته معلومه که همه اینها قابل پیشگیری هستن ولی حرف اصلی اینه که به خاطر هیجان نباید آرچ رو روی سرور نصب کرد.

بی اس دی چی؟

بی اس دی ها مطمئنا یکی از بهترین گزینه‌ها برای وب سرورها هستن. اگر می خواین اونها رو تجربه کنین یا اگر باهاشون تجربه دارین برای وب سرور به شدت پیشنهاد می شن ولی حواستون باشه که مشکل اصلی اونها در مقایسه با لینوکس اینه که کمتر مرسوم هستن و ممکنه برای پیدا کردن منابع یا برنامه های سازگار و غیره به مشکل بیشتری بربخورین. به هرحال بررسی بی اس دی ها خارج از محدوده این مقاله است.

نکته جایزه!

حالا که تا اینجا اومدین و نتیجه رو دیدین که به شکل عمومی دبیان استیبل، اوبونتو سرور LTS و سنت او اس گزینه های مرسوم برای نصب روی سرورها هستن، این رو هم اضافه کنم که بسیار از نرم افزارها و شرکت های تجاری مهم، لینوکس خودشون با تنظیمات ریز و دقیق خودشون رو به شما تحمیل می کنن. مثلا اگر برنامه انتقال اسمس رو از فلان شرکت لهستانی بخرین حتما به شما می گه که این برنامه باید روی سنت او اس ۶ و مای اسکوئل ۴ اجرا بشه چون اونجا تست و بررسی شده. معمولا در کارهای حرفه ای اینطوری نیست که شما یک سیستم عامل رو کاملا مستقل از برنامه های روش انتخاب و نگهداری کنین. من توی آفریقا با زیمنس کار می کردم و تقریبا همه سرورها، گنو/لینوکس سوزه بودن؛ چرا؟ چون آلمانی است و شریک استراتژیک شرکت زیمنس (:

  • Hosein Yeganloo

    منم سوزه رو ترجیح میدم. یکی به خاطر پنل مدیریتی که میده پیچیدگیش کمتره
    یکی هم اینکه علاوه بر تلاش برای به روز بودن، استیبل تر هست.
    حتی روی دسکتاپ نتیجه ی بهتری ازش گرفتم تا اوبونتو.
    گرچه درایور های لپتاپ روی اوبونتو خیلی راحت گیر میاد. سوزه حد اقل تا الان تمرکزش روی سرور بوده.
    ایرادی که می تونم بهش بگیرم سر درایور کارت گرافیکم هست که رو سرور مهم نیست و اینکه تا آخرین باری که چک کردم nginx رو توی نسخه های تست شده و استیبلش نداشت که این خیلی ناراحتم کرد!

  • adrin

    آرچ لینوکس روی سرور پیشنهاد نمیشه البته‌ها. مخصوصا که بسته‌ها از ورژنهای مختلف نمیتونن با هم نصب شن. این باعث میشه به محض اینکه کرنل رو به روز میکنی فایلهای کرنل قبلی پاک شن، در نتیجه هیچ ما‌ژول جدیدی نتونه بالا بیاره. واسه همین آدما سیستم رو ریبوت میکنن بعد از هر کرنل آپدیت. برا همین رو سرور خیلی دردسر میشه.

  • علیرضا

    البته قبول دارم که آرچ به دردِ سرور نمی‌خوره، ولی آیا مطمئنی که «غلطان»بودن دلیلِ اونه؟ به‌نظرِ من غلطان‌بودنِ یک توزیع، متفاوت با این هست که کسی که صاحبِ مخازنِ اون توزیعه، کی به‌روزشون می‌کنه. مثلاً‌ اسلکور current هم غطان محسوب می‌شه، ولی از نظرِ پایداری واسه کارهایِ ساده و واسه یه‌ادمینِ معمولی مثلِ دبیانه و چنین مشکلِ آرچ رو نداره، چون ملّت مخازن رو با بسته‌هایِ به‌روز، فوراً به‌روز نمی‌کنن.
    به‌عبارتِ دیگه، مشکلِ آرچ، به‌نظرِ من، اجازه‌دادنِ ملّت به‌ به‌روزبودنِ به‌معنایِ واقعیِ کلمه‌یِ مخازنِ اونه و نه این‌که مثلاً سالی یه‌بار یه«نسخه» نمی‌دن بیرون.

    پی‌نوشت: نکته‌یِ جایزه‌رو که خوندم یادِ «داکر» افتادم. خیلی خوب می‌شه اگه بتونی یه راهنمایی چیزی آپلود کنی تو یوتوب!

    • jadijadi

      خب یک مشکل دیگه غلطان همینه که ورژن ها رو بالا می بره و نمی تونی مطمئن باشی روی کدوم برنچ از مثلا پایتون خواهی موند در طولانی مدت. این هم دردسر است.

      داکر خوبه و مشکل حل کن ولی در مواردی مثل اون که مثال زدم استفاده نمی شه. در اونجا یک برنامه دارن که ممکنه در ده تا کشور در کل جهان نصب بشه. نصب از صفر و تنظیم سیستم دقیقا اونجوری که می خوان بهتر از داکر است.

  • Fariborz Soroush

    سلام جادی
    ۲ تا غلط املایی داری نمره ت میشه ۱۹!:))
    اونجا که نوشتی آر پی امی ها زیرش بلامنازع رو درست ننوشتی.
    هر وقت اپدیت کردی کامنت منو پاک کن. :)
    مرسی

    • jadijadi

      غلط تایپی بوده (: باید تخفیف بدی در نمره کم کردن. اینو اصلاح کردم ولی اون یکی رو نگفته بودی و ندیدمش (:

  • میلاد

    آرچ سه تا ویژگی داره:
    ۱- ناپایدار
    ۲- ناپایدار
    ۳- ناپایدار

  • KI

    اشاره به این هم بد نیست که ردهت ماهیتاً دیگه وجود نداره، و اونی که الان هست، ردهت انترپرایزه (RHEL)
    مک چی؟ نسخه اختصاصی سرور داره، جایی استفاده سروری میشه؟
    بروبچز، نظرتون در مورد این https://www.digitalocean.com/community/tutorials/an-introduction-to-coreos-system-components چیه؟
    الان دیگه آرچ حتی توهم زا هم نیست. اینقدر توزیع راحت النصب از روش ساختن که حد نداره!حتی توزیع هایی که از خود آرچ، آرچ ترن!

    • jadijadi

      اولی رو توی متن جا دادم.
      مک سرور وجود داشته و ناموفق بوده. الان هم روی همون او اس تن می شه پک سرور نصب کرد که خب ناموفقه در کل. ایده کلی اش (سرور گرافیکی و …) ناکارا است.

  • Hadi Jafari

    Best distro for personal server: Debian
    If you are running your own server for your own use, Debian is the distro to go for. Debian is known for its rock-solid foundation; nothing could possibly go wrong on a Debian server. Then it’s extremely easy to manage a Debian system and a plethora of information is available through forums.
    In generally, Debian is a good choose.
    Thanks Jadi.

  • مج

    یه چند مورد از اون توزییع های راحت النصبی که از خود آرچ آرچ ترن رو معرفی میکنید.
    چاکرا رو امتحان کردم اما زیاد خوب نبود

    • jadijadi

      یکی از آرچ های خیلی راحت و قشنگ هم آنترگوس است: https://en.wikipedia.org/wiki/Antergos البته در مورد «آرچ تر از آرچ» نظری ندارم (:

  • به عنوان کله شقی که لینوکس رو با اسلکور شروع کرد‌، جنتو دوست داشت و الان خیلی وقته یادش رفته رو دسکتاپش داره با آرچ کار می‌کنه (جدی می‌گم الان داشتم مطلبت رو می‌خوندم داشتم با خودم فکر می‌کردم دیستروم چیه :))، باید اعتراف کنم دبیان و اوبونتو رو سرور واقعا احساس خونه بودن می‌دن… دبیان که قضیش معلومه‌، اما در خصوص اوبونتو‌، با این که از نسخهٔ دسکتاپش بیزارم‌، نسخهٔ سرورش رو واقعا قبول دارم‌، حتی نسخهٔ غیر LTSش هم پایداری قابل قبولی داشته برام.

    در خصوص اون بخش آخر هم قاعدتا کانتینر‌های داکر خوب می‌تونن کمک کننده باشن… یا مثلا coreos حتی :)

  • یه کاربر

    سلام
    ممنون از اطلاعات مفیدی که هم از متن شما دریافتم هم از نظرات دوستان
    راستی اقای جادی چه زمانی یه متن می نویسید که از کجا اموختن لینوکس/گنو رو شروع کنیم تا از مبتدی به یک حرفه ای تبدیل شویم؟

  • Mohammad S. Babaei

    حرفی از Slackware که جد پدر جد خیلی از دیستروهای امروزی هست (و مستقیما پدر سوزه) زده نشد. نه RPM بیس هست نه Deb. از لحاظ شباهت، نزدیکترین دیستروی لینوکسی به BSD ها است. و دوست داشتنی چیزش برای من پرهیز از سرطان systemd هست.

    • jadijadi

      محمد عزیز اینجا دقیقا بحث توزیع مناسب برای سرور است. اسلکور اولین لینوکس من هم هست و خیلی هم دوستش دارم اما به نظرم برای سرور قابل پیشنهاد به یک نفر که توی یک وبلاگ داره دنبال توزیع مناسب برای سرور می گرده نیست (: هست؟

  • آرزو

    جادی! در مورد پاراگراف آخر با عنوان “نکته جایزه” من از تجربه ای که دارم میگم. من وَس کار میکنم و اگه آر اند دی من، به من بگه فلان نرم افزار وَس فقط با یه ورژن و حتی یه سرویس پک خاص کار میکنه و ورژن دیتابیس های موجود رو اعلام میکنه فقط به خاطر اینه که باگ هایی که برنامه داره روی این نسخه ها و ورژن ها و سرویس پک ها برطرف شده و انصافا با پولی که مخابرات ها به این شرکت ها میدن دولوپ کردن رو همه نسخه ها و ورژن ها کار اقتصادی نیست.