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

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

BusyBoxтун модулдук мүнөзү пакетте ишке ашырылган утилиталардын ыктыярдуу топтомун камтыган бирдиктүү аткарылуучу файлды түзүүгө мүмкүндүк берет (ар бир утилита бул файлга символикалык шилтеме түрүндө жеткиликтүү). Коммуналдык кызматтардын коллекциясынын өлчөмү, курамы жана функционалдуулугу чогултуу жүргүзүлүп жаткан камтылган платформанын муктаждыктарына жана мүмкүнчүлүктөрүнө жараша ар кандай болушу мүмкүн. Пакет өзүнөн өзү камтылган; uclibc менен статикалык түрдө курулганда, Linux ядросунун үстүндө иштөө тутумун түзүү үчүн, сиз /dev каталогунда бир нече түзмөк файлдарын түзүп, конфигурация файлдарын даярдашыңыз керек. Мурунку релиз 1.30 менен салыштырганда, типтүү BusyBox 1.31 жыйынынын RAM керектөө 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 ичиндеги кардарларга статикалык хост атын байланыштыруу үчүн кошумча колдоо;
  • Күл жана үн кабыктары "BASE#nnnn" сандык литералдарын ишке ашырат. Ulimit буйругун ишке ашыруу "-i RLIMIT_SIGPENDING" жана "-q RLIMIT_MSGQUEUE" параметрлерин камтыган bash шайкеш келтирилген. "Wit -n" үчүн колдоо кошулду. Bash-шайкеш EPOCH өзгөрмөлөрү кошулду;
  • Hush shell демейки боюнча иштетилген кабык параметрлерин тизмелеген "$-" өзгөрмөсүн ишке ашырат;
  • Маанилерди шилтеме боюнча өткөрүү коду BC ге жогору агымдан өткөрүлүп берилди, жараксыз функцияларды колдоо жана 36га чейинки ibase маанилери менен иштөө мүмкүнчүлүгү кошулду;
  • brctlде, бардык буйруктар псевдо-FS /sys аркылуу ишке айландырылган;
  • fsync жана синхрондоштуруу утилиталарынын коду бириктирилди;
  • httpd ишке ашыруу жакшыртылды. HTTP аталыштарын иштетүү жана прокси режиминде иштөө жакшыртылды. MIME түрлөрүнүн тизмеси SVG жана JavaScriptти камтыйт;
  • "-c" опциясы Loop түзмөгүнө кошулду (цикл түзмөгүнө байланышкан файлдын өлчөмүн мажбурлап эки жолу текшерүү), ошондой эле бөлүмдөрдү сканерлөө опциясы. mount жана losetup /dev/loop-control аркылуу иштөөгө колдоо көрсөтөт;
  • ntpd ичинде SLEW_THRESHOLD мааниси 0.125тен 0.5ке чейин көбөйтүлдү;
  • sysctlге нөл маанилерин ыйгаруу үчүн кошумча колдоо;
  • Көрүү үчүн "-n SEC" опциясында бөлчөк маанилерге колдоо кошулду;
  • Фондук процесс катары mdevди иштетүү мүмкүнчүлүгү кошулду;
  • Wget утилитасы журналды жазуу үчүн файлды көрсөтүү үчүн “-o” желегин ишке ашырат. Жүктөлүп алуулардын башталышы жана бүтүшү жөнүндө эскертмелер кошулду;
  • Telnetdге AYT IAC буйругун колдоо кошулду;
  • vi'ге 'dG' буйругу кошулду (учурдагы саптан файлдын аягына чейин мазмунду жок кылуу);
  • dd буйругуна 'oflag=append' опциясы кошулду;
  • Жеке жиптерди сканерлөө үчүн "-H" желеги жогорку утилитага кошулду.

Ошондой эле, эки жума мурун алып, бошотуу Toybox 0.8.1, BusyBox аналогу, мурдагы BusyBox тейлөөчүсү тарабынан иштелип чыккан жана таркатылды BSD лицензиясы боюнча. Toyboxтун негизги максаты - өндүрүүчүлөргө модификацияланган компоненттердин баштапкы кодун ачпастан стандарттык утилиталардын минималисттик топтомун колдонуу мүмкүнчүлүгүн берүү. Азырынча Toybox мүмкүнчүлүктөрү боюнча артта калуу BusyBox'тан, бирок пландаштырылган 188 негизги буйруктун 220и аткарылган.

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

  • Тойбокс утилиталарына негизделген чөйрөдө Android түзүүгө жетиштүү болгон функциялык деңгээлге жетишилди.
  • Жаңы mcookie жана devmem буйруктары камтылган жана кайра жазылган tar, gunzip жана zcat буйруктары сыноо бутагынан жылдырылат.
  • Сыноо үчүн vi жаңы ишке ашыруу сунушталды.
  • Find командасы азыр "-wholename/-iwholename" параметрлерин колдойт.
    "-printf" жана "-контекст";

  • grepге “--exclude-dir” опциясы кошулду;
  • Эхо азыр "-E" опциясын колдойт.
  • Монтаждоо үчүн "UUID" колдоосу кошулду.
  • Дата буйругу азыр TZ чөйрө өзгөрмөсүндө көрсөтүлгөн убакыт алкагын эске алат.
  • Салыштырмалуу диапазондор үчүн колдоо кошулду (+N) sed.
  • ps, жогорку жана iotop чыгаруунун жакшыртылган окулушу.

Source: opennet.ru

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