سسٹم یوٹیلیٹیز بسی باکس 1.35 کے ایک کم سے کم سیٹ کی ریلیز

BusyBox 1.35 پیکیج کی ریلیز معیاری UNIX یوٹیلیٹیز کے ایک سیٹ کے نفاذ کے ساتھ پیش کی گئی ہے، جسے ایک واحد قابل عمل فائل کے طور پر ڈیزائن کیا گیا ہے اور 1 MB سے کم سیٹ سائز کے ساتھ سسٹم کے وسائل کے کم سے کم استعمال کے لیے بہتر بنایا گیا ہے۔ نئی برانچ 1.35 کی پہلی ریلیز غیر مستحکم کے طور پر رکھی گئی ہے، مکمل استحکام ورژن 1.35.1 میں فراہم کیا جائے گا، جو تقریباً ایک ماہ میں متوقع ہے۔ پروجیکٹ کوڈ GPLv2 لائسنس کے تحت تقسیم کیا گیا ہے۔

BusyBox کی ماڈیولر فطرت پیکیج میں لاگو یوٹیلیٹیز کے صوابدیدی سیٹ پر مشتمل ایک متحد قابل عمل فائل بنانا ممکن بناتی ہے (ہر یوٹیلیٹی اس فائل کے علامتی لنک کی شکل میں دستیاب ہے)۔ افادیت کے مجموعہ کا سائز، ساخت اور فعالیت اس ایمبیڈڈ پلیٹ فارم کی ضروریات اور صلاحیتوں کے لحاظ سے مختلف ہو سکتی ہے جس کے لیے اسمبلی کی جا رہی ہے۔ پیکیج خود پر مشتمل ہے؛ جب uclibc کے ساتھ جامد طور پر بنایا جاتا ہے، لینکس کرنل کے اوپر ایک ورکنگ سسٹم بنانے کے لیے، آپ کو صرف /dev ڈائریکٹری میں کئی ڈیوائس فائلیں بنانے اور کنفیگریشن فائلیں تیار کرنے کی ضرورت ہوتی ہے۔ پچھلی ریلیز 1.34 کے مقابلے میں، عام BusyBox 1.35 اسمبلی کی RAM کی کھپت میں 1726 بائٹس (1042344 سے 1044070 بائٹس تک) اضافہ ہوا۔

BusyBox فرم ویئر میں GPL کی خلاف ورزیوں کے خلاف جنگ میں اہم ٹول ہے۔ سافٹ ویئر فریڈم کنزروینسی (SFC) اور سافٹ ویئر فریڈم لاء سینٹر (SFLC) نے، BusyBox ڈویلپرز کی جانب سے بارہا کامیابی کے ساتھ ان کمپنیوں کو متاثر کیا ہے جو GPL پروگراموں کے سورس کوڈ تک رسائی فراہم نہیں کرتی ہیں، عدالتوں کے ذریعے اور باہر کے ذریعے۔ - عدالتی معاہدے اسی وقت، BusyBox کے مصنف نے اس طرح کے تحفظ پر سخت اعتراض کیا ہے - یہ مانتے ہوئے کہ اس سے اس کا کاروبار تباہ ہو جاتا ہے۔

BusyBox 1.35 میں درج ذیل تبدیلیوں کو نمایاں کیا گیا ہے۔

  • فائنڈ یوٹیلیٹی یہ چیک کرنے کے لیے "-samefile name" آپشن کو لاگو کرتی ہے کہ آیا کوئی فائل مخصوص نام والی فائل کی طرح انوڈ استعمال کر رہی ہے۔ وقت کے موازنہ کے لیے متحد کوڈ اور رسائی کے وقت اور فائل کی تخلیق کو چیک کرنے کے لیے "-amin"، "-atime"، "-cmin" اور "-ctime" کے اختیارات شامل کیے گئے ہیں۔
  • mktemp یوٹیلیٹی نے ایک "-tmpdir" آپشن شامل کیا ہے تاکہ بیس ڈائرکٹری کو متعین کیا جا سکے جس سے عارضی فائلوں سے وابستہ راستے کا حساب لگایا جاتا ہے۔
  • اصل ڈیوائس نمبر (0 ہمیشہ لکھا جاتا ہے) کو نظر انداز کرنے کے لیے cpio یوٹیلیٹی میں "-ignore-devno" اور "-renumber-inodes" کو آرکائیو میں ذخیرہ کرنے سے پہلے انوڈ کو دوبارہ نمبر دینے کے لیے شامل کیا گیا ہے۔
  • awk یوٹیلیٹی میں، اظہار "printf %%" کو ایڈجسٹ کیا گیا ہے۔
  • libbb لائبریری میں تقریباً ایک درجن تبدیلیاں شامل کی گئیں۔ coreutils سیٹ سے اپنے ہم منصب کے ساتھ realpath کی بہتر مطابقت۔
  • ایش اور ہش کمانڈ شیلز کے لیے بڑی تعداد میں اصلاحات تجویز کی گئی ہیں، جس کا مقصد دیگر شیلوں کے ساتھ مطابقت کو بہتر بنانا ہے۔ ایش نے "${s:}" اظہار کا استعمال کرتے ہوئے bash جیسے ERR ٹریپس، سیٹ -E اور $FUNCNAME، اور تیز تر سٹرنگ بازیافت کے لیے تعاون شامل کیا ہے۔ راکھ اور خاموشی میں، "${x//\*/|}" آپریشنز کو تیز کر دیا گیا ہے۔
  • بیس نیم یوٹیلیٹی ایک کال میں متعدد ناموں کو پاس کرنے کے لیے اختیارات "-a" اور پچھلے "SUFFIX" حروف کو ہٹانے کے لیے "-s SUFFIX" کو نافذ کرتی ہے۔
  • بلک ڈسکارڈ یوٹیلیٹی میں "-f" (فورس) آپشن شامل کیا گیا۔
  • httpd نے غلطیوں والے صفحات کے لیے Last-Modified/ETag/Content-Length ہیڈر بھیجنا بند کر دیا ہے۔
  • httpd اور telnetd پہلے سے طے شدہ نیٹ ورک پورٹ کو تبدیل کرنے کی صلاحیت فراہم کرتے ہیں۔
  • ٹار میں ایک کمزوری کو طے کیا جس کی وجہ سے بہت طویل فائل ناموں کے ساتھ آرکائیوز پر کارروائی کرتے وقت تمام دستیاب میموری استعمال ہو جاتی ہے۔
  • P256 اور x25519 کے نفاذ کو TLS کوڈ میں دوبارہ بنایا گیا ہے۔
  • ویجیٹ یوٹیلیٹی فائلیں بھیجنے کے لیے "--post-file" آپشن کو لاگو کرتی ہے اور آپ کو "--post-data" اور "--post-file" کے اختیارات کے لیے مواد کی قسم ہیڈر کے مواد کو اپنی مرضی کے مطابق کرنے کی اجازت دیتی ہے۔
  • ٹائم آؤٹ یوٹیلیٹی اب SIGKILL سگنل بھیجنے کے لیے "-k KILL_SECS" آپشن کو سپورٹ کرتی ہے اگر کمانڈ اضافی KILL_SECS سیکنڈ میں مکمل نہیں ہوتی ہے۔
  • ڈیوائسز کے لیے نیٹ این ایس پیرامیٹر سیٹ کرنے کے لیے سپورٹ آئی پی یوٹیلیٹی میں شامل کر دی گئی ہے۔
  • کیل یوٹیلیٹی مخصوص مہینے کو ظاہر کرنے کے لیے "-m" آپشن کو نافذ کرتی ہے۔
  • تاریخ اور ٹچ یوٹیلیٹیز تاریخوں میں آفسیٹ ٹائم زون کی وضاحت کرنے کی اجازت دیتی ہیں۔
  • vi ایڈیٹر میں، ~/.exrc فائل کے لیے سپورٹ شامل کر دی گئی ہے، اور "-c" اور EXINIT کی ہینڈلنگ کو تبدیل کر دیا گیا ہے۔
  • ed یوٹیلیٹی میں، پڑھنے/لکھنے کے حکموں پر عمل درآمد کا نتیجہ POSIX-1.2008 کی تفصیلات کے مطابق لایا جاتا ہے۔ "-p" آپشن کے لیے سپورٹ شامل کر دی گئی۔
  • N بائٹس کے مقابلے کو محدود کرنے کے لیے cmp یوٹیلیٹی میں "-n 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 کمانڈز کے اضافے کو نوٹ کر سکتے ہیں۔ نافذ کردہ اختیارات "تاریخ -s"، "pmap -p"، "tail -F -s"، "kill -0″، reboot/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

نیا تبصرہ شامل کریں