بيزي بوكس

من ويكيبيديا، الموسوعة الحرة
اذهب إلى: تصفح، ‏ ابحث
بيزي بوكس
BusyBox
Screenshot
لقطة من بيزي بوكس.
المؤلف بروس بيرنز
المطور إريك أندرسون، روب لاندلي، دينيس فلاسينكو و آخرون
الإصدار الأولي 1.20.2 (2 يوليو 2012)
آخر إصدار 1999-11-04؛ منذ 5429 يومًا
مكتوب بلغة سي
نظام تشغيل شبيه يونكس
حالة التطوير مدعوم و يطور عليه.
النوعية Independent SUSp XCU implementation
الترخيص الإصدارة أو النسخة الثانية من رخصة جنو العمومية
موقع وب busybox.net

تعديل

بيزي بوكس (بالإنجليزية: BusyBox) هو مجموعة من البرمجيات أو البرامج المجمعة في برنامج واحد متكامل يحوي جميع وظائف مكوناته البرمجية المخصصة لتنفيذ أوامر يونكس، يعمل بيزي بوكس على بيئات بوسيكس مثل لينكس، أندرويد، فري بي أس دي و آخرين و على الرغم من كون العديد من الأدوات التي يحويها بيزي بوكس صممت للعمل على أنظمة لينكس إلا أنه في الأصل تم إنشائه للعمل على أنظمة التشغيل المضمنة (embedded operating systems) المخصصة للعمل مع محدودية العتاد المهيأ في الأجهزة الحاوية، و يعد بيزي بوكس السكين السويسري لأنظمة لينكس المضمنة، و يعد كذلك أحد البرمجيات الحرة و يندرج تحت رخصة جنو العمومية الثانية.

تاريخ بيزي بوكس[عدل]

في بداياته تمت كتابة بيزي بوكس على يد بروس بيرنز في العام 1995 و أعلن عن إكتمال مشروعه في العام 1996، و كان الهدف الأصلي لبيزي بوكس هو إنشاء نظام قابل للإقلاع على قرص مرن واحد الذي يقوم بعدة أدوار في نفس الوقت بحيث يمكن استخدامه كقرص إنقاذ و قرص تنصيب لنظام دبيان، و منذ ذلك الوقت تم توسيع العمل فيه ليكون حاضنة أدوات المستخدم المعيارية لأنظمة لينكس المضمنة و منصبات توزيعات لينكس. و بما أن كل ملف تنفيذي يعمل على بيئات لينكس يحتاج عدة كيلوبايتات من المساحة التخزينية و مساحة مثلها على الذاكرة الرئيسية لجهاز الحاسوب فإن بيزي بوكس يأتي هنا لاختصار هذه المساحة التخزينية و توفيرها على القرص الصلب و ذاكرة الجهاز الرئيسية حيث يضم بيزي بوكس أكثر من 200 برنامج مجمعة في ملف تنفيذي واحد الذي بدوره يوفر مساحة تخزينية و مساحة معالجة. قام إنريكيو زاناردي بصيانة بيزي بوكس و تطويره حيث قام بالتركيز على الاحتياجات البرمجية المخصصة لأقراص الإقلاع و التنصيب في ديبيان حتى العام 1998 حيث قام دايف سينيج بأخذ تطوير البرمجية و نقلها إلى مشروع "(Linux Router Project (LRP"، قام دايف بإضافة عدة إضافات و إنشاء بيئة بناء نمطية و قام بتحويل اتجاه تركيز بيزي بوكس نحو الأنظمة المضمنة العامة، و مع تباطؤ العمل في مشروع LRP و في العام 1999 أصبح إيريك أندرسون (الذي مثل لاحقاً شركة لينيو) هو المسؤول عن تطوير بيزي بوكس و تحسينه و كان ذلك بين شهر ديسيمبر من العام 1999 و مارس من العام 2006 و في هذه الفترة توسعت أسواق الأنظمة المضمنة و نمت و تطور بيزي بوكس و ازدادت أعداد مستخدميه و ازدادت أيضاً وظائفه و تحسنت، و في عام 2005 أصبح روب لاندلي المسؤول عن تطوير بيزي بوكس و تحسينه و بقي كذلك لعدة سنوات، المسؤول الحالي (وقت كتابة هذه المقالة بتاريخ 19 نوفيمبر 2012) هو داينيس فلاسينكو و قد تولى هذا المركز في شهر مايو من العام 2012.

المزايا و الإضافات[عدل]

يمكن تخصيص بيزي بوكس و تهيأته ليضم مجموعة من الوظائف البرمجية التي يزيد عددها عن 200 وظيفة برمجية، و يمكن له أيضاً أن يقدم معظم الوظائف التي تمتاز بها الأنظمة المدرجة تحت مواصفات يونكس المنفردة "(Single Unix Specification (SUS" بالإضافة إلى وظائف أخرى عديدة يتوقعها أي مستخدم لنظام لينكس، يستخدم بيزي بوكس واجهة سطر الأوامر ash لتنفيذ أوامره و يمكن الوصول إلى قائمة كاملة من الوظائف التي يقوم بيزي بوكس بتنفيذها في موقعه على الإنترنت.

ملف تنفيذي موحد[عدل]

من المعروف أن أي برنامج نموذجي يتم تمثيله في أي نظام تشغيل بملف تنفيذي واحد لكل برنامج يتم تنصيبه على النظام، و كأي برنامج يتم تنصيبه فإن بيزي بوكس أيضاً هو برنامج و يتم تمثيله بملف تنفيذي واحد و ميزة بيزي بوكس تكمن في كونه يتمثل بملف تنفيذي واحد و في نفس الوقت يستطيع القيام بوظائف عديدة متعلقة ببرامج أخرى و كل هذه الوظائف يتم استدعائها من إسم واحد فقط مع تمرير أدوات التخصيص لتنفيذ الوظيفة أو عن طريق الروابط الرمزية المعروفة ب "Symbolic Links". و يستفيد مستخدمو بيزي بوكس من خاصية الملف التنفيذي الموحد حيث تتيح هذه الخاصية التقليل من المصادر المستهلكة لعملية تنفيذ الأوامر و اختصارها بملف تنفيذي واحد، و من الناحية البرمجية يستفيد المبرمجون من هذه الخاصية لأنها تتيح الفرصة لمشاركة الوظائف في الشيفرة المصدرية بين أكثر من تطبيق دون الحاجة لاستخدام المكتبات البرمجية أثناء التطوير و البرمجة و هذه الحالة مشابهة لما يتم استخدامه في الأمر (crunchgen) الذي يتم تنفيذه على أنظمة فري بس أس دي، و على جميع الأحوال فإن بيزي بوكس يتيح استخدام نسخة مبسطة من خدمات التطبيقات الأساسية فعلى سبيل المثال يمكن للمستخدم استدعاء الأمر (ls) للقيام بسرد محتويات مجلد ما بدون وجود خاصية ترتيب الملفات، بينما في الأمر (crunchgen) يستطيع المستخدمين الحصول على وظائف كاملة عن تجميع التطبيقات التي تقوم بتنفيذ هذه الوظائف. الإشتراك في وظائف الشيفرة المصدرية مع الأخذ بعين الإعتبار تصغير المكونات البرمجية الوطيفية (routines) يسمحان لبيزي بوكس بأن يكون أصغر حجماً من تلك التطبيقات المنفردة التي يقوم بيزي بوكس باستبدالها، و للتدليل على ذلك فقد تمت مقارنة نسخة جنو بيزي بوكس المسمى (asmutils) مع تطبيقات يونكس المعيارية المكتوبة بلغة بيرل ووجد أنه في بعض الحالات يكون بيزي بوكس أسرع في تنفيذ الوظائف و لكن هذه الحالة ليست دائمة و لا يمكن تعميمها.

أمثلة[عدل]

يمكن تنفيذ البرامج المنصوبة في بيزي بوكس ببساطة عن طريق تمرير أسماءها كمدخلات لمسار الملف التنفيذي الكامل، فعلى سبيل المثال لتنفيذ الأمر (ls) يمكنك استدعاء الملف التنفيذي لبيزي بوكس و تمرير الاسم (ls) كأحد مدخلات التنفيذ كالتالي:

bin/busybox ls/

و من الشائع أيضاً استخدام أسلوب الروابط لتنفيذ الأوامر عن طريق بيزي بوكس سواء أكانت روابط رمزية (Symbolic Links) أو روابط ثابتة (Hard Links)، و من ثم يقوم بيزي بوكس بتمييز الأوامر المراد تمريرها و يقوم بعد ذلك بتنفيذها، على سبيل المثال بعد ربط المسار (bin/ls/) بالمسار (bin/busybox/) يمكنك تنفيذ أمر (ls) بالشكل التالي:

bin/ls/

الأوامر[عدل]

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

  • ash (مفسر أوامر).
  • awk (لغة برمجة نصية).
  • cat - (طباعة محتوى أي ملف إلى معرف الإخراج).
  • chmod - (تغيير أوضاع الملف أو المجلد).
  • cp - (أمر نسخ).
  • date - (إظهار تاريخ و وقت النظام).
  • dd - (نسخ ملف مع التحويل و التنسيق).
  • df - (طباعة احصائيات عن استخدامات ملفات النظام).
  • dmesg (طباعة أو التحكم في المخزن الحلقي المؤقت لنواة نظام التشغيل).
  • echo (طباعة سطر من النصوص).
  • egrep (طباعة السطور التي تحوي نصوص تتطابق نمط معين).
  • fgrep (طباعة السطور التي تحوي نصوص تتطابق نمط معين).
  • grep - (طباعة السطور التي تحوي نصوص تتطابق نمط معين).
  • gunzip - (ضغط الملفات).
  • gzip - (ضغط الملفات).
  • init (تهيئة السيطرة على الإجراء).
  • kill - (قتل الإجراء).
  • ln - (إنشاء رابط باسم معين أو مجلد معين ليؤشر إلى مكون اَخر).
  • login - (إنشاء جلسة جديدة في النظام).
  • ls - (سرد محتوى مجلد معين و إظهار الملفات و المجلدات التي يحويها المجلد الحاوي).
  • mdu - (لا يوجد توثيق لهذا الأمر حالياً)
  • mdev - (لا يوجد توثيق لهذا الأمر حالياً).
  • mkdir - (إنشاء مجلد).
  • more - (طباعة محتوى ملف معين و اعطاء المستخدم القدرة على تصفح المحتوى سطر بعد سطر أو صفحة بعد صفحة).
  • mount - (تعليق ملفات النظام).
  • mv - (تحريك الملف أو المجلد من مكان إلى اخر داخل ملفات النظام و يمكن أيضاً استخدام نفس الأمر لاعادة تسمية الملف أو المجلد).
  • nc - (سكينة سويسرية للتحكم بنظام الشبكة).
  • netstat - (إظهار معلومات الإتصال الشبكي في النظام).
  • ntpc (لا يوجد توثيق لهذا الأمر حالياً).
  • ntpsync (لا يوجد توثيق لهذا الأمر حالياً).
  • nvram (لا يوجد توثيق لهذا الأمر حالياً).
  • pidof - (سرد أرقام العميات المعالجة مع إظهار اسم العملية).
  • ps - (اظهار حالات الإجراءات).
  • pwd - (طباعة المسار اللحظي).
  • rm - (حذف الملفات أو المجلدات).
  • rmdir - (حذف المجلدات).
  • rstats - (طباعة حقوق الملكية الفكرية لبيزي بوكس).
  • sed - (محرر نصوص سطري).
  • sh - (لا يوجد توثيق لهذا الأمر حالياً).
  • sleep - (توقيف تنفيذ إجراء معين لمدة محددة من الزمن).
  • tar - (لا يوجد توثيق لهذا الأمر حالياً).
  • umount - (إفلات الملفات المعلقة و هو يعاكس الأمر mount في التعريف).
  • uname - (إظهار معلومات النظام).
  • usleep - (توقيف تنفيذ إجراء معين لعدد محدد من الميكرو ثانية).
  • vi - (محرر نصوص).
  • watch - (تنفيذ إجراء معين بشكل دوري).
  • zcat - (فك ضغط ملف معين و طباعة المحتويات على معرف الإخراج).

الأجهزة[عدل]

يستخدم بيزي بوكس في عدد من أنظمة التشغيل التي تعمل في الأجهزة المضمنة.

الدعاوى القضائية في انتهاك رخصة جنو العمومية[عدل]

أول دعوى قضائية أقيمت في المحاكم الأمريكية بخصوص انتهاك رخصة جنو العمومية كانت تخص الاستخدام الغير مشروع للشيفرة المصدرية لبيزي بوكس في أحد الأنظمة المضمنة، الدعوى القضائية التي أقيمت كانت تحمل الرمز (case 07-CV-8205) و تم ذلك في محكمة المقاطعة للمنطقة الجنوبية من نيويورك و رفعت الدعوى بتاريخ 20 سيبتمبر من العام 2007 عن طريق المركز القانوني لحرية البرمجيات "(Software Freedom Law Center (SFLC" نيابة عن أندرسون و لاندلي ضد شركة مونسون ملتيميديا، و حدثت هذه الحادثة بعد اكتشاف الشيفرة المصدرية لبيزي بوكس في عملية ترقية لبرامج ثابتة و منصبة على أحد الأجهزة، و كان هناك عدد من المحاولات للإتصال بالشركة لحثها على احترام رخصة جنو العمومية إلا ان هذه المحاولات باءت بالفشل، و تم تسوية القضية بعد قيام شركة مونسون ملتيميديا بفتح الشيفرة المصدرية للتغييرات التي أحدثتها على بيزي بوكس و دفع مبلغ غير معروف القيمة لكل من أندرسون و لاندلي. و بتاريخ 21 نوفمبر من العام 2007 قام المركز القانوني لحرية البرمجيات باحضار قضيتين مشابهتين لصالح أندرسون و لاندلي ضد شركتين و هما شركة إكس تيراسيس و كانت القضية تحمل الرمز (case 07-CV-10456) و شركة هاي جاين أنتيناس و كانت القضية تحمل الرمز (case 07-CV-10455) و تم تسوية قضية شركة إكس تيراسيس بتاريخ 17 ديسمبر بفتح الشيفرة المصدرية للتغييرات التي أحدثتها الشركة بالإضافة إلى دفع مبلغ غير معروف القيمة لكل من أندرسون و لاندلي، و تم أيصاً تسوية قضية شركة هاي جاين أنتيناس بتاريخ 6 مارس 2008 بالإمتثال لرخصة الإستخدام و دفع مبلغ غير معروف القيمة لكل من أندرسون و لاندلي، و بتاريخ 7 ديسمبر من العام 2007 تم إحضار قضية أخرى ضد شركة فيريزون كوميونيكيشين التي قامت بتوزيع برامج ثابتة مخصصة للعمل على مسيرات من نوع أكشنتيك و تمت تسوية هذه القضية بتاريخ 17 مارس من العام 2008 بشروط الإمتثال لرخصة الإستخدام و تعيين موظف للإشراف على الامتثال لرخص البرمجيات الحرة و دفع مبلغ غير معروف القيمة لكل من أندرسون و لاندلي. و تم أيضاً احضار بعض القضايا الأخرى المشابهة لما تم الحديث عنه سالفاً حيث تم رفع قضية ضد شركة بيل ميكروبرودكتس بتاريخ 9 يونيو من العام 2008 و كانت القضية تحمل الرمز (case 08-CV-5270)، و أيضاً ضد شركة سوبر ميكرو كومبيوتر حيث حملت هذه القضية الرمز (case 08-CV-5269) و تمت تسوية هذه القضية بتاريخ 23 يوليو من العام 2008 و تمت تسوية قضية بيل ميكروبرودكتس خارج المحكمة بتاريخ 17 أكتوبر من العام 2008. و بتاريخ 14 ديسمبر من العام 2009 تم رفع قضايا ضد 14 شركة من بينهم بيست باي، و جيه في سي، و سامسونج، وآخرين. و بتاريخ 3 أغسطس من العام 2010 تم تعويض بيزي بوكس بمبلغ 90,000 دولار أمريكي بالإضافة إلى مبلغ 47,865 دولار أمريكي كتعويض لأتعاب المحاماة و المستحقات المالية المترتبة على القرار القضائي بالإضافة إلى بعض المستحقات الأخرى. و من الجدير ذكره أنه لم يتم تمثيل أي أحد من المطورين الآخرين في القضايا المرفوعة و تسويتها بما فيهم صاحب الفكرة الرئيسية لبيزي بوكس و هو بروس بيرنز فضلاً عن دايف سينيج الذي قام بحفظ بيزي بوكس و تطويره و كان له فضل كبير في وصول بيزي بوكس لما هو عليه، و بتاريخ 15 ديسيمبر من العام 2009 قام بيرنز بإصدار بيان يعبر فيه عن عدم سعادته و رضاه من بعض الجوانب للموقف القانوني و بالتحديد موقفه من المزاعم التي تفيد "أن من الظاهر أن المطورين الحاليين قاموا بحذف بعض النقاط لحقوق الملكية الفكرية الخاصة بمطورين اَخريين لبيزي بوكس بالإضافة لعدم رضاه من تغيير رخصة الإستخدام التي تعكس المزاعم السالفة الذكر".

المراجع[عدل]