تاريخ توزيعات Linux: من Slackware إلى Debian وRed Hat
تتحدر معظم توزيعات Linux من Slackware أو Debian أو Red Hat. تتبّع شجرة العائلات ومديري الحزم وما ورثته صور VPS التي تستخدمها.
ما هي توزيعة Linux فعلياً
يبدأ تاريخ توزيعات Linux بفجوة: نواة Linux وحدها لا توفر شيئاً يمكن لأي شخص استخدامه. فهي تقلع وتتعرف على العتاد، ثم تتوقف. يجب أن يضيف أحدهم بيئة المستخدم، ويحدد طريقة تثبيت البرامج وتحديثها، ويتعهد بإصلاحها لسنوات. التوزيعة هي مجموعة هذه الخيارات، إضافة إلى مجموعة الأشخاص الذين يواصلون صيانتها بعد ذلك.
تتكوّن التوزيعة من خمسة أجزاء. إذا غيّرت أي جزء منها، تحصل على توزيعة مختلفة، حتى عندما تتطابق معظم الملفات الثنائية:
- نواة بإصدار اختاره المشروع، مع التصحيحات وبرامج التشغيل التي أضافها.
- بيئة المستخدم: مكتبة C، وshell، ونظام init، والأوامر القياسية.
- تنسيق للحزم، وأداة لتثبيتها.
- سياسة إصدار: ما الذي يمكن تغييره، وعدد مرات التغيير، ومدة إصلاح كل إصدار.
- الأشخاص: مسؤولو صيانة الحزم، وفريق الأمان، وشخص يجيب عندما تتعطل حزمة.
النواة هي الجزء المشترك، لذلك تكون توزيعتا Linux أقرب بكثير إلى بعضهما من قرب أي منهما إلى Unix آخر. من المهم تذكّر ذلك عند مقارنة Linux وFreeBSD كمنصتين للخوادم، حيث ينشئ مشروع واحد النواة وبيئة المستخدم الأساسية ويصدرهما معاً. أما في Linux، فتأتي هذه الأجزاء من مشاريع upstream منفصلة، والتوزيعة هي التي تجعلها متوافقة.
تاريخ توزيعات Linux ضمن ثلاث عائلات
أصبحت ثلاثة مشاريع بدأت في عامي 1993 و1994 عائلات مستقلة: Slackware وDebian وRed Hat. كل صورة تقريباً في لوحة التحكم الخاصة بخدمة VPS اليوم تكون واحدة منها أو مشتقة منها. يرث المشروع المشتق تنسيق الحزم، وتخطيط الملفات، وعادةً أسلوب الإصدارات أيضاً. لذلك تظل توزيعة مشتقة من Debian شبيهة بـDebian حتى بعد إزالة العلامة التجارية.
تستحق التوزيعات المستقلة سطراً خاصاً، لأنها لم تتفرع عن أي مشروع آخر. طوّر كل من Arch وGentoo وAlpine وNixOS وVoid مدير حزم خاصاً به وقواعده الخاصة. انتهى المطاف باثنتين منها، Arch وAlpine، ضمن قائمة الصور لدى مزود الخدمة، لأسباب لا علاقة لها بسطح المكتب.
1992: التوزيعات التي سبقت العائلات
ظهر MCC Interim Linux في فبراير 1992، وقد جمعه Owen Le Blanc في Manchester Computing Centre. وضع النواة وأدوات GNU (GNU's not Unix) في صورتَي floppy مع مُثبّت يعتمد على القوائم. وُجد هذا النظام لأن تنفيذ العملية يدوياً كان يستغرق يوم عمل كاملاً.
ذهب SLS (Softlanding Linux System)، الذي أصدره Peter MacDonald في 1992، إلى أبعد من ذلك وأضاف X (the X Window System) وشبكات TCP/IP. وSLS هو سبب اكتساب كلمة distribution معناها الحالي. لكنه كان يعاني من أخطاء، وكانت صيانته بطيئة. وفي 1993 قرر شخصان، كلٌّ منهما على حدة، إصلاح ذلك. أعاد أحدهما بناءه. وبدأ الآخر من جديد وفق قواعد مكتوبة.
Slackware، 1993: أقدم عائلة ما تزال تصدر إصدارات
أصدر Patrick Volkerding الإصدار Slackware 1.00 في 16 July 1993، وقد بُني من SLS بعد إزالة الأخطاء منه. وما يزال المشروع يخضع للصيانة، ولذلك يُعد أقدم توزيعة Linux مستمرة.
حزمة Slackware هي أرشيف tar مضغوط يحتوي على برنامج نصي للتثبيت. لا توجد آلية لحل التبعيات؛ فلا شيء يتحقق من أن المكتبة التي تحتاج إليها الحزمة الجديدة موجودة على القرص. شكّل هذا القرار الواحد كل ما جاء بعده. فإذا كانت الأداة لا تحل التبعيات، فيجب أن تكون مجموعة الحزم المتاحة متوافقة بحكم تصميمها، ولذلك تبقى الإصدارات قليلة ومحافظة. صدر Slackware 15.0 في February 2022، بعد ست سنوات من 14.2.
هذه العائلة صغيرة. بُنيت الإصدارات الأولى من SUSE في منتصف تسعينيات القرن العشرين على Slackware، قبل أن يسلك المشروع مساره الخاص باستخدام YaST ثم تنسيق الحزم RPM. يسبب الجزء الأخير التباساً لدى بعض المستخدمين. تستخدم SUSE وopenSUSE حزم RPM، وهما ليستا توزيعتين مشتقتين من Red Hat. انتقل التنسيق، لكن النسب لم ينتقل.
دبيان، 1993: عقد اجتماعي ومسار من ثلاث مجموعات
أعلن Ian Murdock عن Debian في 16 أغسطس 1993، بعد ثلاثة أسابيع من Slackware وللسبب نفسه. يجمع الاسم بين اسم شريكته Debra واسمه. صدر Debian Manifesto في يناير 1994، وحدد الشروط: ستُدار هذه التوزيعة علناً بواسطة متطوعين، لا بواسطة شركة.
ثم وثّقت Debian هذه الشروط. اعتُمد Debian Social Contract وDFSG (إرشادات البرمجيات الحرة في Debian) في يوليو 1997، وأصبح DFSG أساس Open Source Definition في 1998. وقد انتهى مستند كُتب لتحديد ما ينتمي إلى توزيعة واحدة إلى تعريف فئة من التراخيص للصناعة بأكملها. وهذا يفسر أيضاً سبب احتواء sources.list على مكونات: يضم main البرمجيات التي تستوفي الإرشادات، بينما يضم contrib وnon-free ما لا يستوفيها، وأضافت Debian 12 non-free-firmware حتى يتمكن حاسوب محمول مزود ببطاقة لاسلكية من التثبيت دون بحث مضنٍ عن البرامج المطلوبة.
وتُعد أدوات إدارة الحزم إرثاً آخر. يثبت dpkg حزمة واحدة، ويرفض التثبيت عند فقدان شيء ما، ويطبع dpkg: dependency problems prevent configuration of. أما APT (أداة الحزم المتقدمة)، التي أصبحت الافتراضية مع Debian 2.1 في 1999، فهي الطبقة التي تحدد ما يجب جلبه أيضاً والترتيب الذي يجب جلبه به. وكل أمر apt في كل توزيعة مشتقة من Debian يرجع إلى ذلك العمل.
تتكون آلية الإصدارات من ثلاث مجموعات وقاعدة واحدة. يرفع المشرف الحزمة إلى unstable، التي تحمل الاسم الرمزي الدائم sid. وينقل برنامج نصي الحزمة إلى testing بعد نحو 5 إلى 10 أيام، إذا بُنيت على معماريات الإصدار ولم يظهر فيها خلل جديد حرج للإصدار. ثم تتجمد testing، ويزيل فريق الإصدار ما تبقى من المشكلات، ويصدر stable عندما تصبح قائمة الأخطاء قصيرة بما يكفي. لا يحدث ذلك في تاريخ محدد. لذلك تبدو Debian stable قديمة وتعمل باستقرار: تتوقف أرقام الإصدارات عند التجميد، بينما تستمر إصلاحات الأمان في نقلها إلى هذه الإصدارات.
وتُوثَّق الحوكمة أيضاً، مع قائد مشروع منتخب وقرارات عامة ملزمة. في 2014 اختارت هذه الآلية systemd كنظام init الافتراضي، وانقسم الأشخاص الذين عارضوا ذلك وأنشؤوا Devuan، التي أصدرت نسختها الأولى في 2017. لم تكن Debian أول توزيعة تجري هذا التغيير ولا آخرها، وترد أسباب تكراره، إلى جانب الاعتراضات التي اتضح أنها صحيحة، في سرد كيفية استبدال systemd لـ SysV init. ومن أبرز التوزيعات المشتقة منها Ubuntu وRaspberry Pi OS وProxmox VE وKali وLinux Mint.
Red Hat، 1994: RPM، ثم الانقسام إلى Fedora وRHEL
أصدر Marc Ewing أول إصدار من Red Hat Linux في أواخر أكتوبر 1994. اشترت شركة Bob Young هذا الإصدار في 1995، وبنى الاثنان أول نشاط تجاري حول Linux يبيع الدعم بدلاً من البرمجيات. أُدرجت Red Hat في البورصة في 11 August 1999. وأتمت IBM الاستحواذ على الشركة في July 2019 مقابل نحو 34 billion dollars، ولذلك أصبح التوزيع الذي تعتمد عليه معظم البرمجيات المؤسسية في اعتمادها مملوكاً لشركة IBM منذ ذلك الحين.
المساهمة التقنية الأهم هي RPM (Red Hat package manager)، الذي كتبه Erik Troan وMarc Ewing لصالح Red Hat Linux 2.0 في 1995. يعلن RPM عن تبعياته، ويُنتج من ملف spec، وهو وصفة بناء يمكن لأي شخص تشغيلها. هذه الخاصية الثانية هي ما جعل إعادة بناء منتج Red Hat المؤسسي بشكل مستقل ممكنة لاحقاً.
كان Red Hat Linux 9 في 2003 آخر إصدار من السلسلة الأصلية. قسمت الشركة المنتج إلى قسمين: Fedora Core 1 في November 2003 باعتباره الإصدار المجتمعي السريع، وRHEL (Red Hat Enterprise Linux)، الذي بدأ باسم Advanced Server 2.1 في 2002، باعتباره الإصدار المدفوع البطيء. السبب واضح. لا يمكن لمنتج واحد أن يكون في الوقت نفسه مكاناً لتجربة الإصدارات الجديدة ومنصة يشغّلها بنك دون تغيير لمدة عشر سنوات. يرتبط القسمان ببعضهما: يتفرع إصدار RHEL رئيسي من إصدار Fedora، ثم يخضع للاستقرار، وبعد ذلك يُجمّد. وانتقلت أداة الحزم وفق الجدول نفسه، من yum في 2000s إلى dnf بوصفها الإعداد الافتراضي في Fedora في 2015، مع وجود rpm في الطبقة الأساسية لكليهما.
لماذا توقّف CentOS عن كونه إعادة بناء مجانية لـRHEL
بدأ CentOS في 2004 بمهمة بسيطة: أخذ حزم المصدر التي تنشرها Red Hat، وإزالة العلامات التجارية منها، وإعادة بنائها، ثم إتاحة النتيجة مجاناً. أصبح التوزيعة المجانية الافتراضية للخوادم لمدة عقد، واستحوذت Red Hat على المشروع داخلياً في 2014.
في 8 December 2020، أعلنت Red Hat أن CentOS Linux 8 سيتوقف في 31 December 2021، أي قبل الموعد المنشور بثماني سنوات، وأن الاسم سيستمر مع CentOS Stream. Stream ليس إعادة بناء. بل هو الفرع الذي تُشتق منه الإصدارات الثانوية من RHEL، لذلك فهو يتقدم على RHEL بدلاً من أن يتأخر عنه. إذا كنت تنوي إبقاء جهاز لسنوات، فالتقدم ليس الاتجاه الصحيح، لأنك تتلقى التغييرات قبل عملاء Red Hat الذين يدفعون.
ظهرت عمليتا إعادة بناء في 2021. بدأ Gregory Kurtzer مشروع Rocky Linux، وهو أحد مؤسسي CentOS. ومولت CloudLinux مشروع AlmaLinux. في June 2023، توقفت Red Hat عن نشر مصادر RHEL في أي مكان باستثناء CentOS Stream وبوابة العملاء الخاصة بها. واصل Rocky استهداف عمليات إعادة بناء مطابقة. غيّر AlmaLinux هدفه إلى التوافق مع ABI (واجهة التطبيق الثنائية)، ما يعني أن البرامج المبنية لـRHEL تعمل، من دون وعد بأن قائمة الأخطاء متطابقة بنداً ببند. وفي وقت لاحق من العام نفسه، أنشأت Oracle وSUSE وCIQ مشروع OpenELA لنشر مصادر مشتركة. يتتبع السرد الأطول عن Red Hat وCentOS وRocky وAlmaLinux هذا التسلسل بأكمله، بدءاً من الانقسام في 2003، مروراً بتغيير المصادر في 2023، ووصولاً إلى ما تعد به كل عملية إعادة بناء حالياً.
إذا كانت قائمة صور أحد مزودي الخدمة لا تزال تعرض CentOS، فتحقق من المقصود قبل أن تبني عليه.
cat /etc/os-releaseNAME="CentOS Stream" هو فرع تطوير متتابع يقود إلى RHEL. أما NAME="AlmaLinux" أو NAME="Rocky Linux" فهي إعادة بناء تتبعه، مع فترة دعم مدتها عشر سنوات.
Ubuntu، 2004: لقطة زمنية من Debian unstable وفق تقويم محدد
صدرت Ubuntu 4.10 في 20 October 2004 بتمويل من Mark Shuttleworth. علاقتها بـ Debian عملية وليست عاطفية. تبدأ كل دورة باستيراد الحزم من Debian unstable إلى إصدار Ubuntu الجديد. تستمر عمليات الاستيراد حتى Debian Import Freeze في منتصف الدورة، ثم تتولى Ubuntu تغييراتها الخاصة. كثير من حزم Ubuntu هي حزمة Debian مضافاً إليها فرق تغييرات، ويوضح changelog هذه التغييرات.
أما النصف الآخر فهو التقويم. تصدر Debian عندما تصبح جاهزة. تصدر Ubuntu في April وOctober، ويمثل رقم الإصدار التاريخ: صدر 24.04 في April 2024. كل إصدار يصدر في April مرة كل إصدارين هو LTS (دعم طويل الأمد)، وهذا ما يقصده مزود الخدمة عندما يدرج Ubuntu دون مؤهل. اختيار الإصدار المناسب للخادم هو موضوع الاختيار بين Ubuntu LTS والإصدارات المرحلية، أما الانتقال من إصدار LTS إلى الإصدار التالي فله إجراء مستقل، موضح في الترقية من 24.04 إلى 26.04.
هناك تفصيل يلفت انتباه مسؤولي الخوادم كل عام. ينقسم مستودع Ubuntu إلى مكونات. main تتولى Canonical صيانته طوال فترة الدعم الكاملة. universe تتولى صيانته جهة المجتمع، وتختلف تغطيته الأمنية عن ذلك. لا يوضح apt install شيئاً عن هذا الاختلاف. يعرضه أمر واحد:
apt-cache policy nginxيعني سطر المستودع الذي ينتهي بـ /main أن فريق الأمان في Canonical مسؤول عن تلك الحزمة. أما السطر الذي ينتهي بـ /universe فيعني أن المجتمع مسؤول عنها. تحقق من ذلك لكل ما يواجه الإنترنت.
Arch، 2002: الإصدارات المتتابعة وتكلفة الترقية الجزئية
أصدر Judd Vinet الإصدار Arch 0.1 في 11 March 2002، مع مدير حزم كتبه بنفسه، pacman، ووصفات بناء ليست سوى نصوص shell عادية. لا يوفّر Arch إصدارات مرقّمة على الإطلاق. وسائط التثبيت هي لقطات مؤرخة من المستودعات المتتابعة نفسها، لذلك فإن جهازاً ثُبّت في 2019 ويُحدَّث كل أسبوع يشغّل Arch نفسه الموجود على جهاز ثُبّت اليوم. يحتوي AUR (مستودع مستخدمي Arch) على وصفات بناء يساهم بها المستخدمون. هذه الوصفات ليست حزمًا خضعت للمراجعة، لذلك تُعد قراءة PKGBUILD قبل تشغيله جزءاً من المهمة.
للنموذج المتتابع سبب واحد للفشل، وهو فشل تتسبب فيه بنفسك في كل مرة. يؤدي تثبيت حزمة واحدة باستخدام pacman -Sy foo إلى تحديث قاعدة بيانات الحزم، ثم تثبيت ملف ثنائي جديد مرتبط بمكتبات أحدث من المكتبات الموجودة على القرص. عندها تفشل البرامج على النحو التالي:
error while loading shared libraries: libcrypto.so.3: cannot open shared object file: No such file or directoryالعملية المدعومة هي pacman -Syu، التي تحدّث كل شيء معاً. وينشر المشروع أيضاً إدخالات إخبارية توضّح أن التدخل اليدوي مطلوب قبل ترقيات معينة، وقد يؤدي تشغيل الترقية دون قراءتها إلى ترك جهاز لا يقلع.
لذلك يُعد Arch خياراً سيئاً لخادم تنوي تجاهله. لا مشكلة في جهاز تُجري تحديثه أسبوعياً. أما الجهاز الذي تحدّثه مرة واحدة بعد مرور عام، فسيفرض عليك تنفيذ كل إجراءات التدخل التي تخطيتها في تشغيل واحد.
Alpine: توزيعة صغيرة اشتهرت بفضل الحاويات
بدأت Alpine في نحو 2005 باعتبارها تفرعاً من LEAF (Linux embedded appliance framework)، الذي انحدر بدوره من Linux Router Project. بناها Natanael Copa للأجهزة المضمّنة، لا لأجهزة سطح المكتب. وهي تستبدل معظم بيئة المستخدم المعتادة: تستخدم musl بدلاً من مكتبة GNU C، وBusyBox بدلاً من أدوات GNU الأساسية، وOpenRC بدلاً من systemd، وapk باعتباره مدير الحزم. كان إصدار Alpine 3.0 في 2014 هو الإصدار الذي انتقلت فيه التوزيعة إلى musl.
جعلتها الحاويات شائعة. فطبقة Alpine الأساسية أصغر بكثير من طبقة Debian أو Ubuntu الأساسية. لذلك أصبحت منذ 2016 صورة أساس شائعة، وأصبح عدد كبير من الأشخاص الذين لم يثبّتوا Alpine قط يشغّلونها يومياً.
تكمن المشكلة في أن musl ليست glibc، ويظهر الفرق على شكل أخطاء تبدو غير مرتبطة بالسبب. يفشل ملف ثنائي مرتبط بـ glibc على Alpine برسالة تدفع المستخدمين إلى البحث عن ملف موجود فعلاً:
sh: ./myapp: not foundالبرنامج موجود. لكن مفسّر ELF الخاص به غير موجود، لأن محمّل glibc غائب. وتمثل Python المفاجأة المتكررة الأخرى: لن تُثبّت الحزم المجمّعة مسبقاً المبنية لـ manylinux على musl، لذلك تعود pip إلى التجميع من المصدر وتتوقف عندما لا يكون أي مترجم مثبتاً. عالج معيار عجلات musllinux الصادر في 2021 هذه المشكلة للمشروعات التي تنشر تلك العجلات، وليس لغيرها.
باعتبارها نظام تشغيل مضيف على VPS، تُثبَّت Alpine بسرعة وبحجم صغير، وتضعك خارج المسار الذي تفترضه معظم الوثائق. وكل دليل يخبرك بتشغيل systemctl enable يحتاج إلى تحويله إلى rc-update add.
الجيل غير القابل للتغيير: التحديثات الذرية والخوادم المبنية على الصور
يغيّر الفرع الأحدث نموذج التحديث بدلاً من قائمة الحزم. يحتفظ النظام المبني على ostree بـ /usr للقراءة فقط. يكون التحديث شجرة كاملة جديدة لنظام الملفات، تُنزَّل وتُجهَّز ثم يُنتقل إليها عند إعادة التشغيل التالية. تبقى الشجرة السابقة كخيار إقلاع، ولذلك يمكنك التراجع عن تحديث سيئ بإعادة التشغيل إلى الشجرة القديمة.
قدّمت Fedora Silverblue هذا النموذج إلى أجهزة سطح المكتب في 2018، ثم قدّمته Fedora CoreOS إلى الخوادم في 2019، بعد أن اشترت Red Hat شركة CoreOS في 2018. واصلت Flatcar Container Linux تطوير Container Linux الأصلي بعد إيقافه في 2020. وتصل openSUSE MicroOS إلى النتيجة نفسها من خلال لقطات btrfs وtransactional-update. في 2024، أضافت Red Hat وضعاً مبنياً على الصور إلى RHEL، يعتمد على bootc، حيث يُصدَر نظام التشغيل في صورة حاوية، ويُحدَّث الجهاز بتوجيهه إلى tag جديد. يذهب Talos Linux إلى أبعد من ذلك، إذ يزيل shell وSSH بالكامل: يُضبط الجهاز عبر API، ولذلك لا يوجد شيء تسجّل الدخول إليه. أما NixOS، الذي صدر أول مرة في 2007، فيتبع اتجاهاً مختلفاً. يُبنى النظام بأكمله من إعداد وصفي واحد، وتبقى الأجيال السابقة قابلة للإقلاع.
من المحتمل أن مزود الخدمة لديك لا يوفّر أياً من هذه الأنظمة كصورة بنقرة واحدة، لأنه يتوقع إعدادها عند الإقلاع الأول بواسطة Ignition أو cloud-init، بدلاً من أن يحرر المسؤول الملفات عبر SSH. تظهر فائدتها عند استخدامها على عدد كبير من الأجهزة المتطابقة، وهذا هو الوضع الذي تصل إليه عندما تدير عدة خوادم Linux في الوقت نفسه وتحتاج إلى إثبات أن كل خادم مطابق للآخرين.
ما مدة دعم إصدار واحد؟
سياسة الإصدارات هي الجانب من التوزيعة الذي ستتعامل معه لأطول مدة، وتُنشر عادةً بعدد من السنوات. فيما يلي مدد الدعم الخاصة بـ 5 إصدارات الخوادم الحالية.
The data behind this chart
[
{
"distro": "Alpine 3.x",
"standard_years": 2,
"extended_total_years": 2
},
{
"distro": "Debian 13",
"standard_years": 3,
"extended_total_years": 5
},
{
"distro": "Ubuntu 26.04 LTS",
"standard_years": 5,
"extended_total_years": 10
},
{
"distro": "AlmaLinux 10",
"standard_years": 10,
"extended_total_years": 10
},
{
"distro": "RHEL 10",
"standard_years": 10,
"extended_total_years": 13
}
]يدعم Alpine كل فرع من فروع 3.x لمدة 2 سنوات، ولذلك يناسب صورة حاوية تعيد إنشاءها كثيراً أكثر من مضيف تتركه دون تغيير. يغطي فريق الأمان في Debian الإصدار المستقر لمدة نحو 3 سنوات، ثم يواصل فريق LTS دعم البنى الشائعة حتى نحو 5 سنوات إجمالاً. يمنحك Ubuntu LTS مدة 5 سنوات للحزم الموجودة في main، ويمدّد اشتراك Ubuntu Pro هذه المدة إلى 10 سنوات، مجاناً للاستخدام الشخصي على عدد صغير من الأجهزة. يعلن RHEL 10 عن مدة 10 سنوات، وتُمدّدها خدمة دعم دورة الحياة الممتدة المدفوعة إلى 13. يطابق AlmaLinux 10 مدة دعم RHEL البالغة 10 سنوات من دون أي اشتراك، وهذا هو السبب الكامل لوجود عمليات إعادة الإنشاء.
لا يوجد لـArch صف هنا، لأن التوزيعة ذات الإصدارات المتتابعة لا تملك إصداراً يحتاج إلى دعم. الرقم المهم في Arch هو المدة التي يمكنك خلالها ترك الجهاز دون تغيير، وتُقاس هذه المدة بالأسابيع.
من أين جاءت هذه الأرقام
كل رقم هو سياسة منشورة من الجهة المورّدة نفسها، وقد تمت مراجعتها في أغسطس 2026. تحقّق منها قبل التخطيط بناءً على تاريخ معين، لأن الجهات المورّدة تغيّر هذه السياسات، كما اكتشف مستخدمو CentOS في ديسمبر 2020.
لماذا تبدو قائمة صور VPS لديك بهذا الشكل
يطرح المزوّد الصور التي يطلبها العملاء بالاسم والتي تُثبَّت دون تدخل على برنامج hypervisor لديه. لذلك تبدأ كل قائمة تقريباً بإصدار Ubuntu LTS وإصدار Debian stable، وتضيف AlmaLinux أو Rocky لمن تكون برمجياتهم معتمدة على RHEL، ثم تضع Alpine وArch وFedora في مواضع أدنى من القائمة. بعد أن تعرف ما هو VPS وكيف تصل الصورة إلى القرص، يتضح النمط: يختار المزوّد أنظمة تشغيل تنجح في التثبيت دون تدخل وتبقى مدعومة مدة أطول من متوسط مدة احتفاظ العميل بالخادم.
يربطك الاختيار بأكثر من مدير حزم. فهو يحدد الترقية التي ستجريها بعد ثلاث سنوات، وتختلف هذه الترقية تماماً حسب العائلة. يدعم Debian وUbuntu الترقيات الرئيسية في مكانها. وتجري عائلة Red Hat هذه الترقيات عبر leapp. لا يملك Arch ترقية لأنه لا يملك إصدارات. وتتم ترقية Alpine عبر تحرير /etc/apk/repositories وتشغيل apk upgrade --available. كما يحدد الاختيار البرامج التي يمكنك تثبيتها دون إضافة مستودع تابع لجهة خارجية، والجهة التي تطرح التصحيح عند ظهور إدخال CVE (الثغرات والتعرّضات الشائعة) في مكوّن تستخدمه، ونظام init ومكتبة C اللذين ستفترض برمجياتك المستقبلية وجودهما.
هناك أثر آخر يسهل التقليل من أهميته. تفترض معظم الإجابات المنشورة على الإنترنت مسار عائلة Debian أو مسار عائلة Red Hat، لذلك يعني الاختيار خارج هاتين العائلتين أنك ستترجم التعليمات طوال فترة تشغيل الجهاز. اختر العائلة التي تتوافق سياسة إصداراتها مع عدد المرات التي تقبل فيها صيانة الخادم، ثم التزم بها. تغيير الحزم المثبتة فوق التوزيعة سهل. أما تغيير التوزيعة نفسها فيعني إعادة بناء الخادم.
FAQ
ما عائلة توزيعة Linux التي يعمل بها خادمي؟
شغّل cat /etc/os-release. يحدد الحقل ID التوزيعة، ويحدد ID_LIKE عائلتها. لذلك يعرض جهاز Ubuntu القيمة ID_LIKE=debian، ويعرض جهاز AlmaLinux القيمة ID_LIKE="rhel centos fedora". كما يساعدك مدير الحزم في تحديد العائلة. تشير apt وdpkg إلى عائلة Debian، وتشير dnf وrpm إلى عائلة Red Hat، وتشير apk إلى Alpine، وتشير pacman إلى Arch.
هل ما زال CentOS إصداراً مجانياً من RHEL؟
لا. انتهى CentOS Linux 8، وهو آخر إعادة بناء بهذا الاسم، في 31 December 2021. وانتهى عمر CentOS Linux 7 في 30 June 2024. أما المشروع المستمر، CentOS Stream، فهو الفرع الذي تُبنى منه الإصدارات الثانوية من RHEL. لذلك تصله التغييرات قبل RHEL، لا بعده. وإعادة البناء المجانية التي تولت الدور السابق هي AlmaLinux وRocky Linux، ويوفر كلاهما مدة دعم تبلغ عشر سنوات.
لماذا تتضمن Debian stable أرقام إصدارات قديمة إلى هذا الحد؟
لأن رقم الإصدار يتجمد بينما تستمر الإصلاحات في الوصول. تُدخل Debian تصحيحات الأمان في الإصدار الذي نشرته، بدلاً من استيراد إصدار أحدث من المشروع الأصلي. لذلك قد تتضمن حزمة تحمل الإصدار 2.4.57-2+deb13u1 إصلاحاً نُشر في الأسبوع الماضي. اللاحقة التي تأتي بعد إصدار المشروع الأصلي هي مراجعة Debian، ويسرد apt changelog <package> ما أُدخل فيها. يؤدي تقييم أمان خادم Debian استناداً إلى أرقام إصداراته إلى نتيجة خاطئة في كل مرة.
هل ينبغي أن أشغّل توزيعة متجددة مثل Arch على VPS؟
فقط إذا كنت ستجري التحديثات وفق جدول منتظم. تفترض التوزيعة المتجددة أن تصل كل آلة إلى مجموعة الحزم الحالية. لذلك قد يؤدي تحديث حزمة واحدة باستخدام pacman -Sy foo إلى ترك مكتبات غير متطابقة وأخطاء مثل cannot open shared object file. شغّل pacman -Syu بانتظام، واقرأ صفحة أخبار المشروع قبل كل تشغيل، وسيظل النظام مستقراً. إذا تركته لمدة عام، فستصبح أول ترقية هي العملية المحفوفة بالمخاطر.
ما الذي تغيّره التوزيعة غير القابلة للتغيير أو الذرية فعلياً؟
إنها تغيّر وقت تطبيق التحديثات وطريقة التراجع عنها. يتم تركيب /usr بوضع القراءة فقط. ويُجهّز التحديث على شكل شجرة جديدة كاملة. ثم يحدث التبديل عند إعادة التشغيل، مع الاحتفاظ بالشجرة السابقة كمدخل إقلاع لاستخدامه في التراجع. تحصل على آلة تكون محدثة بالكامل أو غير محدثة بالكامل، من دون حالة نصف مطبقة. لكنك تتخلى عن تثبيت البرامج عبر تعديل الملفات في مكانها، لذلك تنتقل التطبيقات إلى الحاويات أو إلى الحزم ذات الطبقات.