BusyBox 1.32 системалык утилиттеринин минималисттик топтомун чыгаруу

киргизилген пакетти чыгаруу Bilkbox 1.32 бирдиктүү аткарылуучу файл катары иштелип чыккан жана белгиленген өлчөмү 1 МБдан аз системалык ресурстарды минималдаштыруу үчүн оптималдаштырылган стандарттуу UNIX утилиталарынын комплексин ишке ашыруу менен. Жаңы 1.32 бутагынын биринчи релизи туруксуз болуп жайгаштырылган, толук турукташтыруу 1.32.1 версиясында камсыздалат, ал болжол менен бир айдан кийин күтүлүүдө. Долбоордун коду GPLv2 лицензиясы боюнча таратылат.

BusyBoxтун модулдук мүнөзү пакетте ишке ашырылган утилиталардын ыктыярдуу топтомун камтыган бирдиктүү аткарылуучу файлды түзүүгө мүмкүндүк берет (ар бир утилита бул файлга символикалык шилтеме түрүндө жеткиликтүү). Коммуналдык кызматтардын коллекциясынын өлчөмү, курамы жана функционалдуулугу чогултуу жүргүзүлүп жаткан камтылган платформанын муктаждыктарына жана мүмкүнчүлүктөрүнө жараша ар кандай болушу мүмкүн. Пакет өзүнөн өзү камтылган; uclibc менен статикалык түрдө курулганда, Linux ядросунун үстүндө иштөө тутумун түзүү үчүн, сиз /dev каталогунда бир нече түзмөк файлдарын түзүп, конфигурация файлдарын даярдашыңыз керек. Мурунку релиз 1.31 менен салыштырганда, типтүү BusyBox 1.32 жыйынынын RAM керектөө 3590 байтка көбөйдү (1011750дөн 1015340 байтка чейин).

BusyBox микропрограммадагы GPL бузууларга каршы күрөштүн негизги куралы. Software Freedom Conservancy (SFC) жана Software Freedom Law Center (SFLC) BusyBox иштеп чыгуучулардын атынан, экөө тең аркылуу сот, ошол жол тыянактар соттон тышкаркы келишимдер бир нече жолу ийгиликтүү GPL программаларынын баштапкы кодуна кирүүнү камсыз кылбаган компанияларга таасир эткен. Ошол эле учурда, BusyBox автору колунан келгендин баарын жасайт объектилер мындай коргоого каршы - бул анын бизнесин талкалайт деп эсептейт.

Төмөнкү өзгөртүүлөр BusyBox 1.32де белгиленген:

  • Жаңы буйрук кошулду Мим берилген Mimfileден skippts иштетүү (бир аз өчүрүлгөн make утилитасын эске салат);
  • Find утилитасы бош файлдарды текшерүү үчүн "-empty" опциясын кошту;
  • wget утилитасында кайра багыттоолордун санынын чеги кеңейтилген жана ENABLE_FEATURE_WGET_OPENSSL менен TLS сертификаттарын текшерүү үчүн колдоо ишке ашырылган;
  • grep үлгүлөрүнүн тизмесине (pattern_list) туура колдоо кошулду жана "-R" опциясын кошту (каталогдун мазмунун рекурсивдүү иштетүү);
  • Clang 9 курууда пайда болгон көйгөйлөр чечилди жана компилятордун эскертүүлөрү жок кылынды;
  • Башка снаряддар менен шайкештикти жакшыртууга багытталган күл жана тытыштык командалык снаряддар үчүн көп сандагы оңдоолор сунушталды. Өтмөктөр менен орнотулган буйруктарды автоматтык түрдө толтуруу мүмкүнчүлүгү күл жана жымжырттыкка кошулду. Жаңы орнотулган командалар күлдө турукташтырылды.
  • fdisk утилитасы азыр HFS жана HFS+ бөлүмдөрүн колдойт;
  • init сигналдар кабыл алынганда жарыш шарттарын башкарууну жакшыртты;
  • Системанын параметрлерине визуалдык мониторинг жүргүзүү үчүн программага nmeter кошумча чыгаруу форматы "%NT" (нөл менен тегизделген убакыт);
  • Процессорлордун тизмесин иштеп чыгуу жана көрсөтүү мүмкүнчүлүгү тапшырмалар топтомуна кошулду («-c» опциясы);
  • tarда "-a" опциясынын жүрүм-туруму өзгөртүлдү, ал "lzma" кысуусун иштетүүнүн ордуна, эми файл кеңейтүүсү боюнча автотаануу менен байланышкан;
  • Udhcpc6 " үчүн колдоо коштужарандыгы жок» DHCPv6 үчүн (сервер даректи дайындабастан, тармактын параметрлерин гана жөнөтөт);
  • nslookup азыр RR жазуулары жок жоопторду иштетүүнү колдойт жана SRV жазууларына колдоо кошот;
  • brctlге "showmacs" жана "showstp" жаңы буйруктары кошулду;
  • dhcpcге "релейлик сервер" параметрин колдоо кошулду;
  • Убакытты миллисекунддук тактык менен көрсөтүү үчүн syslogd параметри кошулду;
  • httpdде, NOMMU режиминде иштеп жатканда, башка үй каталогун коюуга уруксат берилет жана фон процессин иштеткенде "-h" опциясы иштейт;
  • xargs тырмакчага алынган аргументтерди иштетүүнү жакшыртты жана “-n” вариантынын туура жүрүм-турумун камсыз кылды;
  • grep, top, dc, gzip, awk, bc, ntpd, pidof, stat, telnet, tftp, whois, unzip, chgrp, httpd, vi, маршруттук программалардагы мүчүлүштүктөр оңдолду.

Ошондой эле, өткөн айда алып, бошотуу Toybox 0.8.3, BusyBox аналогу, мурдагы BusyBox тейлөөчүсү тарабынан иштелип чыккан жана таркатылды BSD лицензиясы боюнча. Toyboxтун негизги максаты - өндүрүүчүлөргө модификацияланган компоненттердин баштапкы кодун ачпастан стандарттык утилиталардын минималисттик топтомун колдонуу мүмкүнчүлүгүн берүү. Азырынча Toybox мүмкүнчүлүктөрү боюнча артта калуу BusyBox'тан, бирок пландаштырылган 272дөн 204 негизги буйрук (68 толугу менен жана 343 жарым-жартылай) аткарылган.

Toybox 0.8.3 инновацияларынын ичинен төмөнкүлөрдү белгилей алабыз:

  • Rtcwake, blkdiscard, getopt жана readelf жаңы буйруктары кошулду;
  • "root жасоо" Linux ядросуна жана Toybox утилиталарына гана негизделген жумушчу жүктөө чөйрөсүн түзүү мүмкүнчүлүгүн берет, аны өзүнүн башталгыч скрипти аркылуу жүктөй алат;
  • Негизги ToyBoxка кирбеген утилиталарды өзүнчө ишке ашыруу менен модулдар үчүн баштапкы колдоо кошулду;
  • Команда котормочу toysh 80% даяр (функциялар, тарых, терминалды башкаруу, жумуш орундары, $((математика)), шаблондор үчүн колдоо жок;
  • Ар кандай утилиталарга, анын ичинде patch, cal, cp, mv, lsattr, chattr, ls, id, netcat жана setsid үчүн кошумча опциялар үчүн колдоо кошулду.

Source: opennet.ru

Комментарий кошуу