إطلاق مجموعة بسيطة من أدوات النظام المساعدة BusyBox 1.35

يتم تقديم إصدار حزمة BusyBox 1.35 مع تنفيذ مجموعة من أدوات UNIX القياسية، المصممة كملف واحد قابل للتنفيذ ومُحسّن لتحقيق الحد الأدنى من استهلاك موارد النظام بحجم محدد أقل من 1 ميجابايت. تم وضع الإصدار الأول من الفرع الجديد 1.35 على أنه غير مستقر، وسيتم توفير الاستقرار الكامل في الإصدار 1.35.1، والذي من المتوقع في غضون شهر تقريبًا. يتم توزيع رمز المشروع بموجب ترخيص GPLv2.

تتيح الطبيعة المعيارية لـ BusyBox إنشاء ملف موحد قابل للتنفيذ يحتوي على مجموعة عشوائية من الأدوات المساعدة المطبقة في الحزمة (كل أداة مساعدة متاحة في شكل رابط رمزي لهذا الملف). يمكن أن يختلف حجم مجموعة الأدوات المساعدة وتكوينها ووظائفها اعتمادًا على احتياجات وقدرات النظام الأساسي المدمج الذي يتم تنفيذ التجميع من أجله. الحزمة قائمة بذاتها؛ عند إنشائها بشكل ثابت باستخدام uclibc، لإنشاء نظام عمل أعلى نواة Linux، تحتاج فقط إلى إنشاء عدة ملفات للجهاز في دليل /dev وإعداد ملفات التكوين. بالمقارنة مع الإصدار السابق 1.34، زاد استهلاك ذاكرة الوصول العشوائي لمجموعة BusyBox 1.35 النموذجية بمقدار 1726 بايت (من 1042344 إلى 1044070 بايت).

BusyBox هي الأداة الرئيسية في مكافحة انتهاكات GPL في البرامج الثابتة. لقد نجحت منظمة حماية حرية البرمجيات (SFC) ومركز قانون حرية البرمجيات (SFLC)، نيابةً عن مطوري BusyBox، في التأثير بشكل متكرر على الشركات التي لا توفر الوصول إلى الكود المصدري لبرامج GPL، سواء من خلال المحاكم أو من خلال جهات خارجية. – اتفاقيات المحكمة. في الوقت نفسه، يعترض مؤلف BusyBox بشدة على هذه الحماية - معتقدًا أنها تدمر أعماله.

تم تمييز التغييرات التالية في BusyBox 1.35:

  • تطبق أداة البحث خيار "-samefile name" للتحقق مما إذا كان الملف يستخدم نفس inode مثل الملف بالاسم المحدد. كود موحد لمقارنة الوقت وإضافة خيارات "-amin" و"-atime" و"-cmin" و"-ctime" للتحقق من وقت الوصول وإنشاء الملف.
  • قامت الأداة المساعدة mktemp بإضافة خيار "--tmpdir" لتحديد الدليل الأساسي المتعلق بالمسارات المرتبطة بالملفات المؤقتة التي يتم حسابها.
  • تمت إضافة الخيارات "-ignore-devno" إلى الأداة المساعدة cpio لتجاهل رقم الجهاز الحقيقي (يتم كتابة 0 دائمًا) و"-renumber-inodes" لإعادة ترقيم inode قبل تخزينه في الأرشيف.
  • في الأداة المساعدة awk، تم تعديل التعبير "printf %%".
  • تمت إضافة حوالي عشرة تغييرات إلى مكتبة libbb. تحسين توافق Realpath مع نظيره من مجموعة Coreutils.
  • تم اقتراح عدد كبير من الإصلاحات لأصداف الأوامر ash وhush، بهدف تحسين التوافق مع الأصداف الأخرى. أضاف Ash دعمًا لمصائد ERR المشابهة لـ bash، وset -E و$FUNCNAME، واسترجاع سلسلة أسرع باستخدام التعبير "${s:}". في الرماد والصمت، تم تسريع تنفيذ عمليات "${x//\*/|}".
  • تطبق الأداة المساعدة للاسم الأساسي الخيارات "-a" لتمرير أسماء متعددة في مكالمة واحدة و"-s SUFFIX" لإزالة أحرف "SUFFIX" اللاحقة.
  • تمت إضافة خيار "-f" (القوة) إلى الأداة المساعدة blkdiscard.
  • توقف httpd عن إرسال رؤوس Last-Modified/ETag/Content-Length للصفحات التي تحتوي على أخطاء.
  • يوفر httpd وtelnetd القدرة على تغيير منفذ الشبكة الافتراضي.
  • تم إصلاح ثغرة أمنية في القطران كانت تتسبب في استهلاك كل الذاكرة المتوفرة عند معالجة الأرشيفات ذات أسماء الملفات الطويلة جدًا.
  • تمت إعادة صياغة تنفيذ P256 وx25519 في كود TLS.
  • تنفذ الأداة المساعدة wget خيار "--post-file" لإرسال الملفات وتسمح لك بتخصيص محتويات رأس Content-Type لخيارات "--post-data" و"--post-file".
  • تدعم الأداة المساعدة للمهلة الآن خيار "-k KILL_SECS" لإرسال إشارة SIGKILL إذا لم يكتمل الأمر خلال ثوانٍ KILL_SECS الإضافية.
  • تمت إضافة دعم لإعداد معلمة netns للأجهزة إلى الأداة المساعدة ip.
  • تطبق الأداة المساعدة cal الخيار "-m" لعرض الشهر المحدد.
  • تسمح الأدوات المساعدة للتاريخ واللمس بتحديد إزاحة المنطقة الزمنية في التواريخ.
  • في محرر vi، تمت إضافة دعم للملف ~/.exrc، وتم تغيير التعامل مع "-c" وEXINIT.
  • في الأداة المساعدة ed، تصبح نتيجة تنفيذ أوامر القراءة/الكتابة متوافقة مع مواصفات POSIX-1.2008. تمت إضافة دعم للخيار "-p".
  • تمت إضافة خيار "-n N" إلى الأداة المساعدة cmp لتقييد المقارنة بـ N بايت.

بالإضافة إلى ذلك، قبل بضعة أيام، تم إصدار Toybox 0.8.6، وهو نظير لـ BusyBox، تم تطويره بواسطة مشرف BusyBox السابق وتم توزيعه بموجب ترخيص 0BSD. الغرض الرئيسي من Toybox هو تزويد الشركات المصنعة بالقدرة على استخدام مجموعة بسيطة من الأدوات المساعدة القياسية دون فتح الكود المصدري للمكونات المعدلة. من حيث القدرات، لا يزال Toybox متخلفًا عن BusyBox، ولكن تم بالفعل تنفيذ 296 أمرًا أساسيًا (217 بالكامل و 83 جزئيًا) من أصل 374 مخططًا لها.

من بين ابتكارات Toybox 0.8.6 يمكننا ملاحظة تحسين البرامج النصية لإنشاء صور النظام وإضافة الأوامر sha256sum وsha224sum وsha384sum وsha512sum وlinux32 وstrace وhexdump. الخيارات المنفذة "date -s"، "pmap -p"، "tail -F -s"، "kill -0"، إعادة التشغيل/halt/poweroff -d"، "tail –bytes –lines"، "i2cdetect -q" ، "find -quit -lname -ilname -d"، "cut -d $'\n'"، "cut -nb"، "cpio -ignore-devno -renumber-inodes"، "tar -selinux"، "split" -n"، "grep -L".

المصدر: opennet.ru

إضافة تعليق