Рэліз мінімалістычнага набору сістэмных утыліт BusyBox 1.31

Прадстаўлены рэліз пакета BusyBox 1.31 з рэалізацыяй набору стандартных утыліт UNIX, аформленых у выглядзе адзінага выкананага файла і аптымізаваных для мінімальнага спажывання сістэмных рэсурсаў пры памеры камплекта меней 1 Мб. Першы выпуск новага адгалінавання 1.31 пазіцыянуецца як нестабільны, поўная стабілізацыя будзе забяспечана ў версіі 1.31.1, якая чакаецца прыкладна праз месяц. Код праекту распаўсюджваецца пад ліцэнзіяй GPLv2.

Модульны характар ​​BusyBox дае магчымасць сфарміраваць адзін уніфікаваны выкананы файл, які змяшчае ў сабе адвольны набор рэалізаваных у пакеце ўтыліт (кожная ўтыліта даступная ў форме сімвалічнай спасылкі на дадзены файл). Памер, склад і функцыянальнасць калекцыі ўтыліт можна вар'іраваць у залежнасці ад запатрабаванняў і магчымасцяў убудаванай платформы, для якой ажыццяўляецца зборка. Пакет самадастатковы, пры статычнай зборцы з uclibc для стварэння працоўнай сістэмы па-над ядром Linux патрабуецца толькі стварыць некалькі файлаў прылад у дырэкторыі /dev і падрыхтаваць файлы канфігурацыі. У параўнанні з мінулым выпускам 1.30 спажыванне аператыўнай памяці тыпавой зборкай BusyBox 1.31 паменшылася на 86 байт (з 1008478 да 1008392 байт).

BusyBox з'яўляецца асноўным інструментам у барацьбе з парушэннем GPL у прашыўках. Арганізацыі Software Freedom Conservancy (SFC) і Software Freedom Law Center (SFLC) ад асобы распрацоўшчыкаў BusyBox як праз суд, так і шляхам заключэння пазасудовых пагадненняў неаднаразова паспяхова ўздзейнічала на кампаніі, якія не даюць доступ да зыходнага кода GPL-праграм. У той жа час аўтар BusyBox усяляк пярэчыць супраць такой абароны - лічачы што яна ламае яму бізнэс.

У версіі BusyBox 1.31 вылучаюцца наступныя змены:

  • Дададзены новыя каманды: ts (рэалізацыя кліента і сервера для пратакола TSP (Time-Stamp Protocol)) і i2ctransfer (стварэнне і адпраўка паведамленняў I2C);
  • У udhcp дададзена падтрымка опцый DHCP 100 (звесткі аб часавым поясе) і 101 (назва часавага пояса ў БД TZ) для IPv6;
  • У udhcpd дададзена падтрымка статычных прывязак імён хастоў да кліентаў;
  • У камандных абалонках ash і hush рэалізаваны лікавыя літаралы "BASE#nnnn". Прыведзена да сумяшчальнасці з bash рэалізацыя каманды ulimit, у тым ліку дададзены опцыі "-i RLIMIT_SIGPENDING" і "-q RLIMIT_MSGQUEUE". Дададзена падтрымка "wait -n". Дададзеныя сумяшчальныя з bash зменныя EPOCH;
  • У каманднай абалонцы hush рэалізаваная зменная "$-", у якой пералічаны актываваныя па змаўчанні опцыі каманднай абалонкі;
  • У bc з upstream перанесены код для перадачы значэнняў па спасылцы, дададзена падтрымка void-функцый і магчымасць працы са значэннямі ibase да 36;
  • У brctl усе каманды перакладзены на працу з выкарыстаннем псеўда-ФС /sys;
  • Аб'яднаны код утыліт fsync і sync;
  • Удасканалена рэалізацыя httpd. Палепшана апрацоўка HTTP-загалоўкаў і праца ў рэжыме проксі. У спіс MIME-тыпаў уключаны SVG і JavaScript;
  • У losetup дададзена опцыя "-c" (прымусовая пераправерка памеру файла, звязанага c loop-прыладай), а таксама опцыя для сканавання частак. У mount і losetup забяспечана падтрымка працы з выкарыстаннем /dev/loop-control;
  • У ntpd значэнне SLEW_THRESHOLD павялічана з 0.125 да 0.5;
  • У sysctl дададзеная падтрымка прысваення пустых значэнняў;
  • У watch дададзеная падтрымка дробавых значэнняў у опцыі "-n SEC";
  • Дададзена магчымасць запуску mdev у форме фонавага працэсу;
  • Ва ўтыліце wget рэалізаваны сцяг "-o" для вызначэння файла для запісу лога. Дададзеныя апавяшчэнні аб пачатку і завяршэнні загрузкі;
  • У telnetd дададзена падтрымка каманды AYT IAC;
  • У vi дададзена каманда 'dG'(выдаленне змесціва ад бягучага радка да канца файла);
  • У каманду dd дададзена опцыя 'oflag=append';
  • Ва ўтыліту top дададзены сцяг '-H' для ўключэння рэжыму сканавання асобных струменяў.

Акрамя таго, два тыдні таму адбыўся рэліз Toybox 0.8.1, аналага BusyBox, які развіваецца былым мэйнтэйнерам BusyBox і распаўсюджваецца пад ліцэнзіяй BSD. Асноўным прызначэннем Toybox з'яўляецца прадастаўленне вытворцам магчымасці выкарыстання мінімалістычнага набору стандартных утыліт без адкрыцця зыходных тэкстаў мадыфікаваных кампанентаў. Па магчымасцях Toybox пакуль адстае ад BusyBox, але ўжо рэалізавана 188 базавых каманд з 220 запланаваных.

З навін Toybox 0.8.1 можна адзначыць:

  • Дасягнуты ўзровень функцыянальнасці, дастатковы для зборкі Android у асяроддзі на базе ўтыліт Toybox.
  • У склад уключаны новыя каманды mcookie і devmem, з тэставай галінкі перанесены перапісаныя каманды tar, gunzip і zcat.
  • Для тэсціравання прапанавана новая рэалізацыя vi.
  • У каманду find дададзена падтрымка опцый "-wholename/-iwholename",
    "-printf" і "-context";

  • У grep дададзена опцыя "-exclude-dir";
  • У echo з'явілася падтрымка опцыі "-E".
  • У mount дададзена падтрымка «UUID».
  • У каманду date дададзены ўлік часавага пояса, зададзенага ў зменнай асяроддзі TZ.
  • У sed дададзена падтрымка адносных дыяпазонаў (+N).
  • Палепшана чытальнасць вываду ps, top і iotop.

Крыніца: opennet.ru

Дадаць каментар