أوجه تفضيل نظام تشغيل ديبيان جنو/لينكس

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث


ديبيان جنو/لينكس هو نظام تشغيل للحاسوب يستخدم نواة لينكس وأدوات نظام جنو، ويمثل في مجمله توزيعة من تلك البرمجيات كباقي توزيعات لينكس الكثيرة المشتقة منه أو من غيره أو التوزيعات المستقلة بذاتها، ويمكن وصفه أيضًا بأنه أحد أنظمة التشغيل الشبيهة بنظام يونكس UNIX -أي نظام تشغيل يوافق مجموعة محددة من المعايير يمكن إطلاق اسم يونكس عليه، أو القول بأنه شبيه بيونكس UNIX-Like-.

فلسفة نظام ديبيان والمجتمع القائم عليه

تُدرك الفروق الجوهرية بين نظم التشغيل إذا عُرفت الفلسفة التي تقوم عليها تلك النظم ومن ثم المعايير التي تهتم بها أو تبني عليها النظام، ذلك أنها تتحكم مباشرة أو بطريق غير مباشرة في نتائج الأداء وسهولة الاستخدام وثبات النظام والبرمجيات ومدى توافرها وإتاحتها، وينبغي إعادة تقييم هذه المعايير بشكل دوري مع الوقت، وعلى ذلك فإذا اختار المستخدم نظام التشغيل فإنه ينظر إلى الفلسفة التي يتبناها ذلك النظام والمجتمع المتشكل حوله.

ويرجع تفضيل البرمجيات الحرة عن غيرها في الغالب في نظر المبرمجين أن لها رونقًا عن البرمجيات المغلقة التي تتبع الشركات في الغالب، أو أنها مجانية في أحيان كثيرة، وتتفاوت دوافع المبرمجين أنفسهم ممن يكتبون تلك البرمجيات الحرة التي تكون مجانية، لكنهم يتفقون أن المقابل الذي يحصلون عليه في الغالب هو شهرتهم في مجالهم وبين زملائهم، أو خبرة يمكن استغلالها في أعمال ووظائف أخرى قد تكون مدفوعة أو تابعة لشركات.

أما سبب تفوق البرمجيات الحرة في ذاتها فيعود إلى البناء التراكمي على التقنيات والأفكار الموجودة، فلا يبدأ المبرمج من الصفر في كل مرة يكتب فيها حلًا لمشكلة أو برنامجًا لأداء مهمة ما بسبب أن شخصًا أو شركة ما قد وجدت حلًا لهذه المشكلة لكنها تحظر إعادة استخدامه بسبب حقوق النشر والملكية أو لضمان تفوقها واحتكارها لذلك الحل في السوق.

لكن إذا أسقطنا هذا السلوك على منهج البحث العلمي مثلًا لوجدنا أن هذا يوقف عجلة البحث بالكلية، أي إذا اضطر الباحث في كل مرة أن يبدأ من الصفر ويكتشف شيئًا لم يُذكر أو يُستخدم من قبل، واستقراء ما يجذب انتباهه من الكتب والمراجع كما بدأ من قبله، لكن هذا لا يكون، وإنما الواقع أن الباحث يبدأ من حيث انتهى من كان قبله، وينظر فيما تركوا من المواد ويربطها مع أوراق بحثية قد تكون مرتبطة ببحثه أو لا، أما السرية التي تكتنف تلك البحوث فلا تكون في الغالب إلا إلى حين نشر البحث نفسه، ثم يتشارك الناس تلك الأوراق ويستخدموا النتائج التي وصلت إليها في البناء عليها لبحوث جديدة أو لاستخدامها في تطبيقات عملية. وإن شاهد هذا المثال هو أن قابلية الأفكار لإعادة النشر والتعديل والاستخدام من أكثر أسباب نجاحها وتطورها.

أما البرمجيات مغلقة المصدر، وهي البرمجيات التي لا تُنشر ملفاتها المصدرية بحيث يمكن قراءتها على الأقل فضلًا عن تعديلها والبناء عليها والاستفادة منها في برامج أخرى، تكون على النقيض من هذا، فيضطر المبرمجون إلى كتابة الحل للمشكلة من الصفر في كل مرة، مما يزيد من الموارد المستهلكة في إعادة اختراع العجلة في كل مرة من الوقت والجهد وتكلفة عملية كتابة تلك البرامج، على خلاف إن كنا نسمح بمشاركة الأفكار والبناء عليها لتقليل استهلاك تلك الموارد وتوفير الوقت الضائع في البرمجة والتنقيح كما ذُكر أعلاه، حيث يكون الفيصل هو ضمان بقاء حافز الإنجاز، سواء كان ذلك الحافز ماديًا أم لا.

وهذا يقودنا إلى رخصة جنو العامة GNU Public License والمنظور الذي تتبناه مؤسسة البرمجيات الحرة، بدلًا من رخصة BSD مثلًا رغم أنها رخصة برمجيات حرة كذلك، ومن ثم إلى نظم لينكس عمومًا، وإلى نظام ديبيان جنو/لينكس خاصة، ذلك أن رخصة BSD لم تركز على حرية البرمجيات بقدر رخصة جنو التي يهمها أن تبني مجتمعًا يتشارك أفراده الأفكار والمعلومات المفيدة بينهم، ونظام ديبيان جنو/لينكس مثال عظيم يجسد ثقافة البرمجيات الحرة عمومًا، فوثيقة ديبيان المجتمعية Debian Social Contract تشكل عاملًا مهمًا في اختيار هذا النظام لما فيها من التزام بثقافة البرمجيات الحرة والاعتراف بأنه ستكون حالات يُحتاج فيها إلى استخدام برامج لا تتوافق مع تلك الثقافة.

كذلك فإن المجتمع الذي ينشأ حول البرمجيات الحرة عمومًا ولينكس خصوصًا يُعد سببًا آخر لتفضيل رخصة جنو ولينكس عمومًا عن اليونكسات والأنظمة التي تتبنى رخصة BSD، خاصة في الأيام الأولى لتطور تلك الرخص، فمن ذلك أنه ليس فيه الطبقية التي في مجتمع BSD، التي تقسم المطورين إلى مطورين محترفين ومساهمين مبتدئين، فقد كان مجتمع لينكس على النقيض من هذا في تشعبه وشموليته، حيث لم تكن خلفية المطور ولا سمعته أهم من الشيفرة التي يكتبها، ويستطيع كل أحد أن يشارك في تطوير نظام التشغيل نفسه، فيشعر المطور أن له يدًا في تطور ونجاح نظام التشغيل مع كل تحديث واقتراح وتعديل يساهم به.

فوائد ديبيان وسهولة استخدامه

يتكون نظام التشغيل من برمجيات كثيرة غير نواة لينكس التي تشتهر بين الناس إذا ذُكرت توزيعات لينكس، لهذا يلزم وجود تكامل قوي بين تلك البرمجيات وبعضها وإن كان هذا يُهمل في الغالب عند الحديث عن مزايا نظام التشغيل، فالنظام الذي تتكامل برامجه فيما بينها يكون استخدامه أسهل من غيره، ويقدم مزايا قد لا تستطيع النظم المنافسة له تقديمها بنفس الجودة.

ونظام ديبيان واحد من تلك النظم المتكاملة، حيث ترتبط الحزم البرمجية فيه مع بعضها بعضًا من خلال مجموعة من العلاقات الدقيقة وليس من خلال آلية الاعتمادية/التعارض dependencey/conflict فقط، فمنها مثلًا علاقة الاعتمادية الاستباقية pre-dependency، إضافة إلى الاعتمادية العادية، والتوصيات recommendations، والاقتراحات suggestions، والتعارضات conflicts، والعلاقات المحسنة enhanced relationships. كذلك، صُنِّفت الحزم في ديبيان وفقًا للأولوية -الضرورية essential وحتى الإضافية extra-، ووفقًا لوظيفتها، ومن هذا التنوع في العلاقات بين الحزم -والذي يدركه نظام التحزيم packaging system وينتبه إليه-، يمكن رؤية المستوى الذي تتوافق فيه الحزم مع بعضها بعضًا.

يقوم على تطوير نظام ديبيان آلاف المتطوعين، مما يعني أن كل مطور كان حرًا في متابعة أداء البرامج التي تهمه أو التي يحتاج إليها لمهامه الخاصة، بل وتحديثها كذلك، ولهذا يستطيع نظام ديبيان أن يغطي شرائح مختلفة من التخصصات بما أن كل مطور كان يحل مشاكله التي تواجهه شخصيًا في الغالب، وهذا يختلف عن التوجه الواسع الذي تنتهجه توزيعات لينكس التجارية التي تحاول تغطية المهام الشائعة فحسب.

وقد وُجد أن الحواسيب العاملة بديبيان تحتاج إلى متابعة يدوية أقل، وأسهل في التحديث، ولا تتعطل بنفس المقدار الذي تتعطل به الحواسيب العاملة بتوزيعات أخرى مثل ريدهات RedHat وماندريك Mandrake -التي صارت ماندريفا Mandriva لاحقًا ثم توقف تطويرها ثم نشأ مشروع آخر يستكملها باسم أوبن ماندريفا-، كذلك الحال بالنسبة لنظام SunOS، وهو نظام شبيه بيونكس يعتمد على BSD طورته شركة Sun Microsystems لأجهزتها، ثم بُني في إصداره الخامس على نسخة النظام الخامس من يونكس SystemV، ويُسوَّق الآن تحت اسم Solaris.

وأحد الأسباب التي ترجح اختيار ديبيان كنظام تشغيل عن غيرها من توزيعات لينكس، هو المقدار الهائل لمشروعها الذي يشير إلى أن ديبيان لن تختفي فجأة فيصبح المستخدم لها عالقًا دون دعم فني، فليس من الممكن مثلًا أن تفلس إذ أنها ليست شركة، بل هي عقد مجتمعي لا يسمح للمشروع أن يقرر فجأة ألا يدعم الإصدارات غير التجارية من التوزيعة، لئلا يقع المستخدمون العاديون تحت رحمة رغبات الشركات من نظام التشغيل.

يوفر ديبيان ثلاثة إصدارات مستقلة من كل نسخة جديدة منها هي stable و testing و unstable، ويمكن الاختيار من بينها وفقًا للوظائف والمهام التي لدينا، فالأولى هي stable، وهي تصلح للخوادم وبيئات العمل التي ليس فيها تغيير كبير في المهام التي تنفذها -مثل منصات الأكشاك التفاعلية kiosks التي تكون في الأسواق والمتاجر-. أما الإصدارة الثانية فهي testing، وهي تصلح لمحطات العمل الشخصية، ولا توجد تحديثات أمنية لهذه الإصدارة، والجميل هنا هو القدرة على اتخاذ قرارات مفصَّلة وفقًا لحالة كل حاسوب ومهامه، على أن الخيارات التي تبدو غير مستقرة في ظاهرها تكون ثابتة بما يكفي لئلا تتعطل -نظريًا على الأقل-، أما إصدارة stable، فهي لا تتعطل أبدًا.

كذلك تقدم ديبيان قدرًا كبيرًا من التغذية الراجعة feedback، فمشروع XFree على سبيل المثال لا يتابع أو ينقح X بنفسه لكل المعماريات التي تدعمها ديبيان، بل يعتمد على ديبيان نفسها في ذلك، وقد تمت عدة إصلاحات عميقة لـ libc -كان هناك خطأ في عدٍ مرجعي reference counting مؤخرًا في glibc عند تنفيذ تحميل dlopening لكائن مشترك باعتماديات ELF معينة، وقد اكتشفها مطورو ديبيان-. يندر وجود هذا الانتباه للتفاصيل في أي توزيعة لينكس أخرى بنفس مقدار الخبرة والسرعة والرغبة في مساعدة المستخدمين النهائيين، مما يوفر دعمًا من طرف ثالث دون الحاجة لتواجد موظفين ذوي خبرة داخل الشركات التي تعتمد على ديبيان في مهامها. أما بالنسبة للأنظمة المشتقة فتعمل كل من إرشادات ديبيان للبرمجيات الحرة Debian Free Software Guidelines و مستودع main على تبسيط بناء الأنظمة بتراخيص يمكن التنبؤ بها.

جودة التنفيذ

يقال أن اختيار أغلب المستخدمين لنظام ديبيان يعود إلى أداة apt-get، غير أن هذه الأداة ليست السبب الوحيد في تجربة استخدام ديبيان الممتازة، فهي مجرد ميزة يعاد إنتاجها بسهولة في أي توزيعة أو نظام آخر، وإن كانت تلك الأدوات في النظم الأخرى لا تضاهيها في الأداء سواء كانت yum أو urpmi أو apt4rpm أو غيرها، فالعامل المميِّز على الحقيقة هو سياسة ديبيان، وعملية الضمان الصارمة لصيغة التحزيم، فأشياء مثل apt-listchanges و apt-list-bugs و dpkg-builddeps و pbuilder و pbuilder-uml، ما كانت لتنُفَّذ لو كانت لا تطابق سياسة التحزيم.

وهذا الاعتقاد الشائع أن سبب نجاح ديبيان هي apt-get يشبه المعتقد المسمى بديانات الشحن Cargo religions، وهو ما انتهجته بعض الشعوب التي لم تختلط بالحياة الحديثة ثم فوجئت بمئات الآلاف من الجنود الأمريكيين يعبرون من أراضيهم في الحرب العالمية الثانية محملين بالمؤن والسلاح، فظنوا أن الأرواح التي تذهب وراء البحار -بزعمهم- هي التي أرسلت لهم المؤن ثم اعترضها الجنود الأمريكيون، فعكفوا على محاكاة التدريبات العسكرية للجنود ولو كان بأسلحة من خشب أو وهمية، وبناء مدرجات للطائرات مع أبراج تحكم وهواتف وهمية من خشب، ظنًا أن هذا يجعل الأرواح ترسل لهم المؤن من جديد.

وقد تسبب الظن أن أداة apt-get هي سبب نجاح ديبيان في استنساخ كل توزيعة لينكس للمفهوم إليها، ظنًا منها أن هذا يجذب المستخدمين، فنسخت القشرة الخارجية الظاهرة لبنية تحزيم ديبيان، دون معالجة المشاكل العميقة لسياسة التحزيم نفسها أو تعارضات المتطلبات التقنية مع ضرورات التسويق الاقتصادية، وهو الأمر الذي يوجد في توزيعات جنو/لينكس أيضًا مثل البرمجيات المغلقة، وإن كان بصورة أقل ضررًا.

وتمتلك توزيعات مثل ريدهات وماندريفا وغيرها من فئتهما نسخًا كبيرة الحجم جدًا، والغالب في سبب هذا أن تثبيت البرمجيات فيها صعب حتى مع استخدام RPM، على عكس نظام ديبيان الذي يسهل تثبيت الحزم فيه للغاية موازنة بها. وعلى ذلك يكون السبب في تميز ديبيان على الحقيقة هو سياستها، وفريق الحماية والأمن فيها، وآليات أولوية الزلات البرمجية الرسمية فيها bug priority mechanisms، وسياسة الزلات البرمجية نفسها -مثال: أيّ ملف ثنائي binary دون صفحة man يُعد تقريرًا لزلة برمجية، وأي تفاعل مع المستخدم دون استخدام debconf يُعد زلة أيضًا-، وتوضح صفحة Why Debian Rocks ذلك كما يلي:

إن وضوح سياسة ديبيان وفرضها من خلال الأدوات والبرامج التي تُستخدم كل يوم هو القلب النابض لتفوق ديبيان عن جميع أنظمة التشغيل الأخرى، وهكذا فإن استخدام apt-get install مثلًا لتثبيت برنامج هو فرض ضمني لسياسة ديبيان نفسها وليس مجرد تثبيت برنامج، سياسة هدفها ضمان وجود أفضل نظام ممكن.

هذه السياسة لا تخط حدود المستخدم فقط في أفعاله داخل النظام، وإنما ترسم حدود ديبيان نفسها، فتقرر الأجزاء التي يستطيع نظام إدارة الحزم أن يجري تعديلات عليها، وكيفية التعامل مع ملفات الإعدادات configuration files وغيرها، وتقييد التوزيع بهذه الطريقة يمكِّن مدير النظام من إجراء تعديلات خارج حدوده دون خوف من أن تغير حزم ديبيان في تلك التعديلات.

تقدم سياسة ديبيان فئة جديدة من الزلات البرمجية، وهي زلّات سياسة التشغيل policy bugs، وهي زلات تُصنف أنها حرجة وتؤثر في وجود الحزمة في ديبيان المستقرة من عدمه، أي أنها release-critical، فأي حزمة تخرق سياسة ديبيان لن تُدرَج في إصدارة stable من ديبيان.

يضاف فريق QA في ديبيان إلى ما سبق، وهو الذي يقوم بتحميلات "غير المشرفين" أو Non Maintainer Uploads -وهي عملية تحميل حزمة إلى أرشيف ديبيان من قِبل مطور غير المطور المسؤول عن متابعة الحزمة وصيانتها-، ويساعد في تنقيح الزلات البرمجية، وإجراء التحديثات الأمنية، ويضمن تكامل بناء النظام ككل بدلًا من إصلاح الحزم منفصلة عن بعضها. كذلك توجد أدوات كثيرة في النظام الفرعي لضمان الجودة لمساعدة المطورين على العناية بحزمهم، وكل ذلك من الأسباب التي تجعل ديبيان توزيعة مرغوب فيها.

تعزز عملية التقييم التي تمر بها كل حزمة في التوزيعة غير المستقرة unstable قبل أن تنتقل إلى نسخة testing من جودة المنتج النهائي لديبيان في المجمل، حيث تنتقل الحزمة إلى نسخة testing إذا لم تظهر فيها مشكلة كبيرة لمدة معينة، وتكون تلك النسخة مرشحة لتكون الإصدارة التالية للتوزيعة المستقرة، والتي لا تُطلّق إلا عند حل جميع الزلات البرمجية الحرجة، وعملية الاختبارات الدقيقة تلك هي السبب الذي يجعل دورة إصدار ديبيان أطول من التوزيعات الأخرى، لكن هذا مزية من منظور الاستقرار، إذا وازنا ذلك مع توزيعة RedHat Enterprise Linux التي تجعل دورة الإصدار بين العام والعامين، وهو ما كانت ديبيان تتبعه قديمًا.

يعزز دعم ديبيان لعدة معماريات من جودة الحزم، ذلك أن عملية استيراد البرمجيات أو نقلها porting تكشف عن الأخطاء الموجودة في الشيفرة، إضافة إلى أن جميع البرمجيات في ديبيان تمر بعشرة عمليات بناء آلية daemon builds على الأقل -يشار إليها باسم buildd-، وتحتاج إلى أن تكون خالية من الأخطاء عند البناء في تلك البيئات المختلفة، وأن تكون كلًا من سكربتات البناء والتثبيت ثابتة للغاية، وتحتاج إلى تتبع صارم لاعتماديات وقت البناء، إضافة إلى مرايا أرشيفات المصادر source archive mirrors، وتتبع الإصدارات version tracking، ليكون لدينا نظام ثابت ومستقر (يوفر رابط snapshot.debian.org طريقة سهلة لعمليات التراجع).

يمثل نظام تتبع الزلات البرمجية في ديبيان ركنًا أساسيًا في جودة التوزيعة، وبما أن الإصدارات ترتبط بعدد الزلات البرمجية الحرجة في النظام فإنه يضمن أن جودة الإصدارة أفضل من أي يونكس آخر، ومدير الإصدارة هنا لا يتردد في التخلي عن أي حزمة غير ضرورية فيها زلة حرجة إذا لم يتم إصلاحها، أو عن تأخير الإصدارة إذا كانت الحزمة ضرورية أو حرجة.

بميل ديبيان إلى تنفيذ الأمور على أتم وجه في كل إصدارة بدلًا من استعجال العمل لإطلاق التوزيعة قبل عيد ما أو إجازة سنوية، ويتحقق له ذلك بسبب غياب مواعيد التسليم المرتبطة بالدورات التجارية business cycles، ولأن نسبة المطورين إلى الحزم عالية بالموازنة مع التوزيعات الأخرى.

اختيار البرامج في ديبيان

تحتوي توزيعة ديبيان على أكثر من 29 ألف حزمة برمجية، يقوم على متابعة كل منها مطور ما ليضمن خلوها من الزلات البرمجية وتحديثها وتكاملها مع باقي النظام، وتبذل ديبيان جهدًا دُوليًا كبيرًا في ترجمة التوثيقات الخاصة بالحزم، فقد يترجم أحد ما صفحة man لحزمة يقوم على تطويرها مبرمج آخر، وكذلك سكربتات التثبيت والإعدادات حيث يمكن تنفيذ ذلك مع جميع تفاعلات debconf، وما يسهل تنفيذ تلك الأعمال هو مجتمع المستخدمين الممتد على رقعة جغرافية كبيرة فيها الكثير من اللغات، وهو جهد يضاهي ذلك المبذول في بيئتي سطح المكتب جنوم Gnome و كِدي KDE.

تجدر الإشارة إلى بعض المشاريع الأخرى التي تميز ديبيان عن غيرها، فمن ذلك مشروع توثيق ديبيان، وخادم Alioth -الذي استُبدل خادم Salsa به في 2017-، ومثبِّت ديبيان، وقرص ديبيان المدمج، وحزمة Lintian، ونظام تتبع الحزم. كذلك من المزايا الأخرى التي تختص بها ديبيان ما يلي:

  1. debconf والقدرة على الإعداد المسبق preseeding لقواعد البيانات.
  2. make-dpkg مع إغلاق محثات install-time.
  3. ‎/usr/share/doc/{Changelog.Debian,changelog,copyright,README.Debian}

كذلك تحتوي ديبيان على مجموعة عظيمة من الأدوات لمطوري النواة أو التوزيعات، وكذلك مهندسي تكامل النظم system integrators، مثل debbootstrap، chroots، user mode Linux، Xen، وغيرها من الأدوات التي يستخدمها مطورو التوزيعات في آليات التثبيت والأنوية وتعريفات العتاد.

توجد عدة مجتمعات من بين تلك التي تستخدم ديبيان، تمثل مشروعات فرعية، مثل Debian-Jr الموجهة للأطفال، و Debian-med الموجهة للأبحاث الطبية، و Debian-Edu المخصصة للبيئات التعليمية والمدارس، و Debian-non-profit للمنظمات غير الربحية، وكذلك Debian-lex المجهزة للمؤسسات القانونية. هذا إضافة إلى أن العديد من مطوري ديبيان من المكفوفين، وعلى ذلك فقد جُهز النظام بالعديد من أدوات قراءة المخرجات ودعم الإدخال بلغة برايل إما بلوحات مفاتيح مخصصة لذلك أو بلوحة المفاتيح العادية باستخدام brltty.

الأنوية Kernels

تبدو أنوية BSD أكثر استقرارًا وأفضل جودة من أنوية لينكس، فهي أسهل في القراءة والفهم، لكن من الناحية الأخرى فإن أنوية لينكس فيها مزايا وخصائص أكثر، وقد تحسنت جودة أنوية لينكس تحسنًا ملحوظًا في الآونة الأخيرة من حيث الأداء ودعم العتاد إلى حد أن دعم العتاد في BSD أحيانًا قد يكون متأخرًا عن نظيره في أنوية لينكس بخمس سنوات.

رغم أن ذلك الدعم المتزايد للعتاد كان يعني بالضرورة زيادة الزلات البرمجية bugs إلا أن القدر الموجود لا يصل إلى حد إعاقة العمل على النواة أو استخدامها، إضافة إلى أن الثغرات قد تكون في مزايا غير موجودة في أنظمة BSD أصلًا، كما حدث في ثغرة استدعاء mremap(2) قديمًا، وعلى كل فيمكن الجمع بين حسنات النظامين لمن أراد من خلال استخدام ديبيان Gnu/FreeBSD.

مساحة المستخدم User Land

تختلف مساحة المستخدم في BSD عنها في نظام جنو، ويجب ملاحظة أنه من الممكن تثبيت مساحة مستخدم جنو في حواسيب تعمل بأنظمة BSD - كما في ‎/usr/local/gnu/*‎-، وتشير تقارير استخدام تلك البيئات إلى تفضيل المستخدمين أدوات جنو حتى لو لم تكن هي الأدوات الافتراضية، وذلك لأن أدوات FreeBSD صممت لتكون صغيرة الحجم وخفيفة في الأداء على الحواسيب القديمة، لكن هذا جاء على حساب المزايا التي يمكن تضمينها فيها، ثم تطورت إمكانيات الحواسيب فلم يعد حجم الأداة معيقًا لأدائها لوظيفتها على الحاسوب بأي حال. كذلك يفضل المستخدمون أدوات جنو أكثر بسبب الدعم الموجود في سطر الأوامر عن نظيره في BSD، حيث يستطيع المستخدم أن يصل إلى توثيق كامل عن كل أمر وأداة بمجرد كتابة اسمها في سطر الأوامر متبوعًا بـ ‎--help.

من ناحية أخرى، فإن مساحة المستخدم في OpenBSD تكاد تكون كاملة ويمكن العمل بها واستخدامها، ويبقى استخدام مساحة المستخدم في جنو مجرد تفضيل شخصي، أما FreeBSD فتختلف في أنها سعت لإنتاج نظام خفيف وصغير الحجم نسبيًا، مع توقعهم أن المستخدم لن يكتفي به وسيثبت المزيد من الأدوات والمنافذ ports كي يستطيع استخدام النظام، وقد صار FBSD هو أشبه نظام بديبيان في عائلة BSD، حيث يكون لديك نظام أساسي تستطيع البناء عليه، وتكون مساحة المستخدم فيه أي واحدة تشاء تثبيتها.

صيانة النظام وإدارته

يقال أن ترقيات النظام في ديبيان هي الميزة التي تدفع أغلب المستخدمين لاختياره، والآلية التي تتبعها ديبيان للترقةي والتوزيع هي الشبكة network، أما سياسة تلك الترقيات والتخطيط الذي تم في سكربتات الصيانة، والطرق التي تُستدعى بها، والتصنيف الطبوغرافي الكامل على شبكة الاعتماديات من خلال أداة apt وأخواتها، كل ذلك يعمل معًا لضمان أن الترقيات الموجودة تعمل بسلاسة، فلا يضطر المستخدم إلى إعادة تثبيت النظام على أي من الحواسيب العاملة بديبيان مرة أخرى لعدة سنوات. أما أنظمة BSD فالترقيات فيها قد تحتاج إلى إعادة تثبيت، بل قد أرسل OpenBSD رسائل مرتين إلى المستخدمين الذين لديهم حواسيب i386 منذ الإصدار 2.8 أو 2.9، يخبرهم فيها أن الترقية لم تعد مدعومة أو لا يُنصح بها، وأن عليهم إعادة التثبيت من جديد، رغم أن هذا لم يعد شائعًا مؤخرًا إلا في حالات نادرة كما يذكر الموقع الرسمي لنظام OBSD.

تلعب سهولة الاستخدام تلك دورًا كبيرًا في أمان النظام، فترقيات الأمان أفضل في ديبيان عن النظم الأخرى بفضل فريق الأمان لديهم، حيث يضمن تحديث الحواسيب وترقيتها بسلاسة وسرعة قد تقل إلى مجرد بضع دقائق بعد اكتشاف أي ثغرة بسبب وجود debian.org في قائمة المصادر، في حين أن الطريقة التي يُنصح بها للترقية في أنظمة BSD مثلًا تتضمن تصريف النظام بأكمله، أو "world" على الأقل. أما ديبيان فتحافظ على سهولة ترقياتها بتخطي الإصدارات الرئيسية، وهو الأمر الذي لم يكن مدعومًا في أي مكان آخر، فهذا يعيدنا إلى جودة التحزيم مرة أخرى.

تُعد الإدارة التقنية لنظام ديبيان في الواقع هي السبب الرئيسي في تفضيل المستخدمين لها، حيث يمكن الحصول على خادم بريد كامل الوظائف بمجرد كتابة apt-get install sendmail، وفيه SASL و TLS، ومهيأ بالكامل مع الشهادات، وتتم كل المهام الإدارية باستخدام SSH، بسرعات انترنت لا تتجاوز سرعات dial-up.

تضمن ديبيان أن تغييرات المستخدم لملفات الإعدادات configuration files ستظل محفوظة، وأن كل ملفات الإعدادات تلك ستوجد في ‎/etc، على عكس غيرها من النظم التي تتناثر فيها تلك الملفات في كل مكان في النظام، وهذا يجعل عملية النسخ الاحتياطي أسهل، وتتوافق ديبيان مع FHS -وهو معيار التسلسل الهرمي لنظام الملفات Filesystem Hierarchy Standard-، وتنتهج أسلوبًا في تطويرها تتوافق فيه مع قاعدة لينكس القياسية Linux Standard Base - LSB، وهو مشروع يتبع مؤسسة لينكس هدفه توحيد الهيكل البرمجي للنظام، وقد بُني على مواصفات ومعايير POSIX التي نُشرت في الثمانينات بهدف ضمان التوافقية بين أنظمة تشغيل الحواسيب، وكذلك Single Unix Specification - SUS، وغيرها من المعايير مفتوحة المصدر.

كذلك من السهل إنشاء مستودع من الحزم المخصصة التي يمكن توزيعها فيما بعد، وذلك بسبب الطبيعة اللامركزية للتطوير والتوزيع في ديبيان، وتضمن السياسة وآلية البناء هنا أن الأطراف الثالثة تستطيع بناء النظام بنفس السهولة، وبطريقة قابلة للتكرار.

المحمولية ودعم العتاد

يميل لينكس إلى دعم العتاد المتخصص أو الذي يُستخدم من قبل فئة ما أكثر مما يفعل BSD، وقد يمثل هذا مشكلة أو فائدة وفقًا لحالة كل مستخدم، ويمكن قول مثل ذلك على دعم العتاد عالي الجودة، باستثناء عتاد RAID، حيث دُعمت بطاقات 3ware RAID في BSD بعد مدة غير قصيرة من دعمها في لينكس. ويُعد دعم الشركات الكبرى للينكس من خلال ضمان دعمه لعتادها من المزايا الإضافية التي تُحسب للينكس على العموم، مثل دعم IBM له في جميع عتادها، وكذلك الحال بالنسبة لشركة HP.

أما من حيث المحمولية فعلى عكس المتوقع الذي يفترض أن يكون لنظام مثل NetBSD أفضلية هنا، فإن ديبيان تدعم عتادًا أكثر من NBSD الذي -مع هذا- يدعم عتادًا قديمًا أو لم يعد موجودًا مثل حواسيب sun2 -ذات معالجات m68010- وحواسيب PC532، وكذلك حواسيب VAX، وهي حواسيب كانت تصنعها شركة DEC قديمًا في سبعينيات القرن الماضي. ربما تجدر الإشارة إلى أن المعمارية في NBSD تُسمى معماريات فرعية sub-architectures في ديبيان، وعليه فلا تُحسب ضمن المعماريات الإحدى عشرة المدعومة.

البناء المصدري Source Builds

يمكن استخدام apt-get source -b أو أية أدوات أخرى في ديبيان لبناء حزم برمجية من المصدر، وستكون حزم deb المبنية محليًا مثبتة بطريقة آمنة ومنطقية، وتحل محل الحزم الأقدم منها بسلاسة، كما تسحب عملية البناء لتلك الحزمة أي اعتماديات مطلوبة للبناء نفسه. كذلك، يُستخدم برنامج pbuilder-user-mode-linux لضمان توحيد عمليات البناء. رغم إمكانية بناء منافذ مثل auto-build، كما في حالة auto-builders الموجودة في ديبيان في المعماريات الإحدى عشرة التي تدعمها، إلا أنه لا يوجد اختبار قابل للتكرار يوضح أي أثر ملحوظ في الأداء بواسطة تصريفات محسنة ومخصصة محليًا، فضلًا عن تبرير الوقت المبذول في تعديل وبناء البرمجية ككل.

تتفوق آلية الترقية في ديبيان هنا عن أسلوب البناء من الصفر أو من المصدر في أنها أفضل عند إجراء الترقيات الكبيرة، أما البناء من الصفر، كما في حالة توزيعة gentoo linux مثلًا التي تدور فلسفتها حول البناء المصدري لتكون التوزيعة مفصلة وفق العتاد الذي ثبِّتت عليه، فتكون أصعب في إدارتها إذا كان ذلك على نطاق كبير أو تجاري، حيث تكون الحاجة إلى أدوات يمكن التعامل معها بأقل قدر ممكن من التعقيد والموارد للحصول على أفضل نتيجة ممكنة، فيكون الحل المنطقي هنا هو التوزيعات الثنائية، وديبيان إحدى أفضل تلك التوزيعات بسبب أداة APT والجهد المبذول من DD لضمان صحة الحزم.

أما توزيعة gentoo فتصلح في البيئات التدريبية أو للمستخدمين الهواة الذين يحبون بناء تطبيقاتهم الخاصة، ذلك أنها لا تصلح للبيئات التجارية حيث يكلف وقت التوقف عن التشغيل من أجل إصلاح مشكلة أو توفيقها لعتاد ما أموالًا وعملاء، فتأتي التوزيعات الجاهزة مثل ديبيان هنا لتوفر عملية التحديث والترقية بمجرد كتابة apt-get update && apt-get upgrade مثلًا.

الأمان والموثوقية

كان الخيار الافتراضي لمن يفكر في نظم التشغيل الآمنة من بين اليونكسات المختلفة هو نظام OpenBSD بما أنه نظام صغير الحجم  -إذا ثُبتت الأساسيات فقط- وقابل للمراقبة ولا يتطلب مواصفات كثيرة، كما أن تثبيته نصي دون واجهة رسومية، وهكذا يكون نظامًا لا يحتوي على خدمات مفعلة افتراضيًا وفيه ضمان أنه لا يحتوي على ثغرات في التثبيت الافتراضي تؤدي إلى اختراق عن بعد للجذر remote root compromise.

غير أن ذلك كان يعني بالتبعية أن النظام سيكون قديمًا وأن التثبيت الافتراضي لا يفعل شيئًا يذكر من المهام التي يُستخدم نظام التشغيل لها، باستثناء إضافة الخاصية W^X -تُنطق W xor X، وهي سياسة تحمي الذاكرة بجعل كل صفحة في عملية أو مساحة عنوان للنواة إما قابلة للكتابة أو التنفيذ-، وكذلك الحماية من طفح المكدسات stack overflow، وتقنية ProPolice، وهذه الأخيرة عبارة عن رُقع حماية في مصرِّف جنو GCC طورتها IBM للحماية من تدمير المكدسات stack smashing وتخريب المؤشرات pointer corruption، من خلال منع الوصول إلى مواقع عشوائية في الذاكرة- على نظام OBSD -انظر تفاصيل الإصدار 3.3 من OpenBSD. يمكن قول مثل ذلك على رُقع exec-shield و Adamantix (PaX) في لينكس، وقد تضطر إلى إعادة تصريف النواة على ديبيان لهذين.تُعد أرقام الأداء في نظام OBSD فقيرة موازنة بأداء SELinux على نواة 2.6.3 -للموازنة، فنواة لينكس الحالية هي 5.16-، وذلك لأن الاهتمام بالأمان والمراقبة في OBSD لا يوفر جميع البرمجيات التي يحتاج المستخدمون إليها. لا شك أن سمعة OBSD في الأمان مبررة، لكن يكون ذلك عند توفر معرفة كافية عن النظام، ومعرفة ما يغطيه حقًا، فقد يصلح أن يكون جدارًا ناريًا ممتازًا أو خادم ويب ساكن static web server، طالما أنه خالٍ من المنافذ ports، فيكون حينئذ نظامًا مراقَبًا وآمنًا، لكن هذا النظام لا يصلح إلا لتطبيقات قليلة، أما منافذ مساحة المستخدم في OBSD فتتعطل أكثر من النسخة المستقرة في ديبيان، لكنها ليست جزءًا من النظام، ويعتمد المستخدم على نفسه إذا حدثت مشكلة أمنية في أحد تلك المنافذ.

من الناحية الأخرى، يمكن القول أن ديبيان المستقرة تعادل أو تغلب تلك المزايا التي لنظام OBSD، ويبدو أنه لا يوجد فرق حقيقي بين ديبيان وOBSD هنا، حتى لو كان المستخدم مضطرًا إلى تدعيم ديبيان ببعض الحزم ذات الأولوية القياسية، إلا أن هذا لا يستغرق بضع دقائق لمديري النظم. أما مراقبة الشيفرة في OBSD فمتقدمة جدًا، لكن مع هذا توجد زلات برمجية بارزة في OpenSSH مؤخرًا، لذا يجب أخذ أمر المراقبة هنا ونتائجها بحذر.تركز توزيعة ديبيان جنو/لينكس بشدة على الأمان والاستقرار حيث يوجد فريق أمان لهذا مع أنظمة بناء آلية لمساعدته على بناء الإصدارات بسرعة بين جميع المعماريات المدعومة، وتتحرك سياستها نحو تلك الأهداف. يمكن الرجوع إلى هذه الموازنة بين الخصائص الأمنية -بالإنجليزية- بين ديبيان و OBSD.

ورغم عدم الحاجة في الغالب إلى سلسلة أدوات على كل نظام هدف من BSD من أجل تنفيذ التحديثات الأمنية -make release أو make package على حاسوب ما، ثم التثبيت في حاسوب آخر-، إذ أن هذا غير مريح إلى حد ما موازنة بنظام التحزيم في ديبيان، فهي تعالج توزيع الحزم الثنائية أفضل من ذلك، فيمكن للمستخدم أن يمتلك أرشيفه المناسبة ثم يغذي به كل خوادم الإنتاج باستخدام آليات ديبيان الافتراضية.

لا يستطيع المستخدم أن يكون آمنًا بدون متحكمات أو ضوابط وصول إلزامية، لذا ستكون SELinux و TrustedBSD الناشئة خيارات أفضل من OBSD أو إصدارة ديبيان المستقرة الأساسية. لكن حتى بدون SELinux يمكن الشعور باستقرار إصدارة stable من ديبيان، مع الاطمئنان الذي يأتي من إصلاحات التحميل العكسي back ports الأمنية التي يوفرها الفريق الأمني، فمن السهل للمستقبل غير المتخصص أن يبقى مطلعًا على آخر المستجدات الأمنية، ويقلل احتمالية الاختراق، وهذا أمر غاية في الأهمية في البيئات التجارية التي فيها عدد كبير من الحواسيب حيث يكون من الضروري أن تعمل الحواسيب لبضعة أشهر دون الحاجة لعمل ترقيات للبرمجيات أو النظم تؤدي إلى إيقاف تشغيلها أو تعطيله ريثما تتم تلك الترقيات.

هناك فائدة أخرى للفريق الأمني في ديبيان في شأن التوزيع المستقر، وهو أن هناك إصدارًا واحدًا فقط من شجرة المنافذ، على عكس الإصدارات المتعددة من أباتشي apache و KDE و X11 في ديبيان، حيث يوجد إصدار لكل حزمة مع تحديثات أمنية للحزمة المستقرة، وهو الأمر غير الموجود في FreeBSD.

ورغم أن المنفذ makefile سيتم تحديثه إذا تم اكتشاف ثغرة في إحدى الحزم، وستكون الطريقة الوحيدة لسد الثغرة هنا هي تثبيت النسخة الجديدة من الحزمة -مع كل المشاكل المحتملة التي قد تحدث نتيجة ذلك-. أما في ديبيان فلديها القدرة على تثبيت نفس الإصدار من البرنامج مع الإصلاح الأمني المحمّل عكسيًا back ported، وإذا كان المستخدم يعمل مع نسخة من تلك الحزمة المخترقة فيها تلك التحميلات فسيظل معرضًا للاختراق طالما أن التصريف لا زال جاريًا، وهي عملية قد تستغرق وقتًا ليس بالقليل. يمكن الوصول إلى بيانات الوقت المستغرق لترقيع الثغرات الأمنية بين توزيعات لينكس المختلفة عبر هذا الرابط [باللغة الإنجليزية].

الأداء وقابلية التوسع

قد تمثل أرقام الأداء وقابلية التوسع معيارًا في اتخاذ قرار استخدام نظام التشغيل لفئة من المستخدمين، رغم أنها تتغير من إصدار لآخر، ويمكن الرجوع إلى المجموعة الكاملة من المعايير -مع الشيفرات- في هذا الرابط. إليك كلماته من قسم الخاتمة، محدثًا ليوافق المعايير الأخيرة -هذا النص يختبر نواة 2.6 من لينكس، أما النواة الحالية وقت كتابة الصفحة فهي 5.6:

تتوسع لينكس 2.6 O(1) في كل المعايير، وهذا أمر مذهل، فإذا كنت تستخدم لينكس 2.4 الآن فإني أهيب بك أن ترقي إلى لينكس 2.6 الآن.

NetBSD لديها قابلية للتوسع أفضل من FreeBSD.

أداء FreeBSD 5.1 مذهل وكذلك قابليته للتوسع، لاحظ أنها لم تصدر بعد رسميًا، وقد افترضت بحماقة أن جميع نسخ BSD ستعمل بنفس مستويات الأداء، بما أنها تتشارك كثيرًا من الشيفرات وتستطيع دمج شيفرات كل منها بحرية، لكني كنت مخطئًا، ذلك أن FreeBSD هي صاحبة ثاني أفضل أداء في كل نسخ BSD، بل تكاد تقترب من لينكس 2.6.

لينكس 2.4 ليس سيئة، لكن توسعها سيء لكل من mmap و fork.

كان أداء OBSD فقيرًا في تلك الاختبارات، فأداء القرص كان مقرفًا، والنواة لم تكن مستقرة، وكان أداء NetBSD في توسع الشبكة أفضل منه، كذلك تخصم بعض النقاط منه بسبب التخريب الذي فيه فيما يتعلق بمكدس IPv6، فإذا كنت تستخدم OBSD فيجب أن تتوقف الآن.

خاتمة

ليس هناك نظام تشغيل أو توزيعة فيها ذلك الخليط من الخصائص -سهولة الصيانة ومجانية الثمن والاستقرار والحجم وقابلية التخصيص، والدعم القوي- مثل ديبيان جنو/لينكس، وتوفر نظام تشغيل آمن ومستقر لإجراء عملية أو تنفيذ مهمة ما بسهولة وأمان ومع أقل جهد يمكن بذله في العناية بالعتاد المستخدم، فالحزم البرمجية ممتازة في التثبيت والترقية. ورغم أن صيانة تلك البرمجيات لا زالت جزءًا كبيرًا من مهام أي مدير نظم، إلا أن ديبيان جعلت هذه مهمة تافهة إلى الحد الذي لم تعد تمثل فيه مشكلة، فلا ترقى إلى كونها مشكلة عند الحديث عن مشاكل ديبيان.

انظر أيضًا

المصادر