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

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

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

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

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

  • Дададзена новая каманда мім для запуску скіптаў з зададзенага файла Mimfile (нечым нагадвае зрэзаную ўтыліту make);
  • Ва ўтыліце find дададзена опцыя "-empty" для праверкі пустых файлаў;
  • Ва ўтыліце wget пашыраны ліміт на лік перанакіраванняў і рэалізавана падтрымка праверкі сертыфікатаў TLS пры збоку з ENABLE_FEATURE_WGET_OPENSSL;
  • У grep дададзена карэктная падтрымка спісу шаблонаў (pattern_list) і дададзена опцыя «-R» (рэкурсіўная апрацоўка змесціва каталога);
  • Вырашаны праблемы, якія выяўляюцца пры зборцы ў Clang 9 і ўхіленыя папярэджанні кампілятара;
  • Прапанавана вялікая порцыя выпраўленняў у камандных абалонках ash і hush, нацэленых на паляпшэнне сумяшчальнасці з іншымі абалонкамі. У ash і hush дададзена магчымасць аўтадапаўнення ўбудаваных каманд табуляцыяй. У ash стабілізаваны новыя ўбудаваныя каманды.
  • Ва ўтыліце fdisk з'явілася падтрымка частак HFS і HFS+;
  • У init палепшана апрацоўка стану гонкі пры паступленні сігналаў;
  • Ва ўтыліту навочнага маніторынгу за параметрамі сістэмы nmeter дададзены фармат вываду «%NT» (выраўнаваны час з нулямі);
  • У taskset дададзена магчымасць апрацоўкі і вываду спісу CPU (опцыя "-c");
  • У tar змененыя паводзіны опцыі "-a", якая замест уключэння сціску "lzma" зараз злучана з аўтавызначэннем па пашырэнні файла;
  • У udhcpc6 дададзеная падтрымка рэжыму «stateless» для DHCPv6 (сервер аддае толькі параметры сеткі, без прызначэння адраса);
  • У nslookup забяспечана апрацоўка адказаў без запісаў RR і дададзена падтрымка запісаў SRV;
  • У brctl дададзены новыя каманды showmacs і showstp;
  • У dhcpc дададзеная падтрымка параметру "relay server";
  • У syslogd дададзена налада для адлюстравання часу з мілісекунднай дакладнасцю;
  • У httpd пры працы ў рэжыме NOMMU дазволеная ўсталёўка іншага хатняга каталога і забяспечана праца опцыі '-h' пры запуску фонавага працэсу;
  • У xargs наладжана апрацоўка аргументаў, заключаных у двукоссі, і забяспечаны карэктныя паводзіны опцыі "-n";
  • Выпраўленыя недапрацоўкі ва ўтылітах grep, top, dc, gzip, awk, bc, ntpd, pidof, stat, telnet, tftp, whois, unzip, chgrp, httpd, vi, route.

Акрамя таго, у мінулым месяцы адбыўся рэліз Toybox 0.8.3, аналага BusyBox, які развіваецца былым мэйнтэйнерам BusyBox і распаўсюджваецца пад ліцэнзіяй BSD. Асноўным прызначэннем Toybox з'яўляецца прадастаўленне вытворцам магчымасці выкарыстання мінімалістычнага набору стандартных утыліт без адкрыцця зыходных тэкстаў мадыфікаваных кампанентаў. Па магчымасцях Toybox пакуль адстае ад BusyBox, але ўжо рэалізавана 272 базавыя каманды (204 цалкам і 68 часткова) з 343 запланаваных.

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

  • Дададзены новыя каманды rtcwake, blkdiscard, getopt і readelf;
  • У "make root" забяспечана магчымасць стварэнне працоўнага загрузнага асяроддзя толькі на аснове ядра Linux і ўтыліт Toybox, якое можа быць загружана пры дапамозе ўласнага init-скрыпту;
  • Дададзена пачатковая падтрымка модуляў з асобнымі рэалізацыямі ўтыліт, якія не ўваходзяць у асноўны склад ToyBox;
  • Камандны інтэрпрэтатар toysh даведзены да гатоўнасці на 80% (пакуль адсутнічае падтрымка функцый, гісторыі, кіравання тэрміналам, job-заданняў, $((math)), шаблонаў);
  • Дададзена падтрымка дадатковых опцый у розныя ўтыліты, уключаючы patch, cal, cp, mv, lsattr, chattr, ls, id, netcat і setsid.

Крыніца: opennet.ru

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