Rakirina komek mînîmalîst a karûbarên pergalê BusyBox 1.31

Nasandin serbestberdana pakêtê BusyBox 1.31 bi pêkanîna komek karûbarên standard UNIX, ku wekî pelek yekane ya îcrakar hatî sêwirandin û ji bo vexwarina hindiktirîn a çavkaniyên pergalê bi pîvanek ji 1 MB kêmtir ve hatî xweş kirin. Daxuyaniya yekem a şaxê nû 1.31 wekî bêîstiqrar tête cih kirin, stabîlkirina tam dê di guhertoya 1.31.1 de, ku di nav mehekê de tête hêvî kirin, were peyda kirin. Koda projeyê di bin lîsansa GPLv2 de tê belav kirin.

Xwezaya modular a BusyBox gengaz dike ku meriv pelek yekgirtî ya bikêrhatî biafirîne ku tê de komek karûbarên kêfî yên ku di pakêtê de hatine bicîh kirin (her amûrek di forma girêdanek sembolîk a vê pelê de heye). Mezinahî, pêkhate û fonksiyona berhevoka karûbaran dikare li gorî hewcedarî û kapasîteyên platforma pêvekirî ya ku civîn ji bo wê tê çêkirin ve girêdayî be. Pakêt bi xwe têr e; dema ku bi uclibc re statîk were çêkirin, ji bo ku hûn pergalek xebitandinê li ser kernel Linux-ê biafirînin, hûn tenê hewce ne ku di pelrêça / dev de çend pelên cîhazê biafirînin û pelên vesazkirinê amade bikin. Li gorî serbestberdana berê 1.30, mezaxtina RAM-ê ya civîna tîpîk BusyBox 1.31 bi 86 byte (ji 1008478 ber 1008392 bytes) kêm bû.

BusyBox di şerê dijî binpêkirinên GPL-ê de di firmware de amûra sereke ye. Parastina Azadiya Nermalavê (SFC) û Navenda Hiqûqê ya Azadiya Nermalavê (SFLC) li ser navê pêşdebirên BusyBox, hem jî bi riya dadgeh, û bi vî awayî encamên peymanên derveyî dadgehê gelek caran bi serkeftî bandor li pargîdaniyên ku gihandina koda çavkaniyê ya bernameyên GPL peyda nakin. Di heman demê de, nivîskarê BusyBox çêtirîn xwe dike objects li dijî parastinek weha - bawer dike ku ew karsaziya wî xera dike.

Guhertinên jêrîn di BusyBox 1.31 de têne destnîşan kirin:

  • Fermanên nû lê zêde kirin: ts (pêkanîna xerîdar û serverê ji bo TSP (Protokola Dem-Stamp)) û i2ctransfer (çêkirin û şandina peyamên I2C);
  • Ji bo vebijarkên DHCP piştgirî ji udhcp re zêde kir 100 (agahdariya devera demjimêr) û 101 (navê devera demjimêr di databasa TZ de) ji bo IPv6;
  • Piştgiriyek ji bo girêdanên navên mêvandar ên statîk bi xerîdaran re di udhcpd de zêde kir;
  • Kevirên ax û hûşî tîpên jimarî "BASE#nnnn" pêk tînin. Pêkanîna fermana ulimit bi bash re lihevhatî bûye, di nav de vebijarkên "-i RLIMIT_SIGPENDING" û "-q RLIMIT_MSGQUEUE". Piştgiriya ji bo "li bendê -n" zêde kir. Guherbarên EPOCH-ê yên lihevhatî yên bash zêde kirin;
  • Hush shell guhêrbarek "$-" pêk tîne ku vebijarkên şêlê ku ji hêla xwerû ve hatine çalak kirin navnîş dike;
  • Koda derbaskirina nirxan ji hêla referansê ve ji bc ji jorîn ve hate veguheztin, piştgirî ji bo fonksiyonên valahiyê hate zêdekirin û şiyana ku bi nirxên ibase re heya 36 bixebite;
  • Di brctl de, hemî ferman bi karanîna pseudo-FS /sys veguherandine xebatê;
  • Koda karûbarên fsync û hevdemkirinê hatine yek kirin;
  • Pêkanîna httpd çêtir bûye. Pêvajoya pêşkeftî ya sernavên HTTP û di moda proxy de xebitîn. Di navnîşa celebên MIME de SVG û JavaScript hene;
  • Vebijarka "-c" li losetup-ê hate zêdekirin (kontrolkirina ducarî ya mezinahiya pelê ya ku bi cîhaza lûkê ve girêdayî ye), û her weha vebijarkek ji bo şopandina dabeşan. mount û losetup ji bo xebatê bi karanîna /dev/loop-control piştgirî peyda dikin;
  • Di ntpd de, nirxa SLEW_THRESHOLD ji 0.125 ber 0.5 zêde bûye;
  • Ji bo destnîşankirina nirxên null ji sysctl re piştgirî zêde kir;
  • Di vebijarka "-n SEC" de ji bo temaşekirinê piştgirî ji bo nirxên perçeyî zêde kir;
  • Kapasîteya xebitandina mdev wekî pêvajoyek paşîn lê zêde kir;
  • Karsaziya wget ala "-o" bicîh tîne da ku pelê destnîşan bike ku têketinê li ser binivîse. Agahiyên di derbarê destpêk û qedandina dakêşan de zêde kirin;
  • Piştgiriya fermana AYT IAC ji telnetd re zêde kir;
  • Fermana 'dG' li vi zêde kir (naverokên ji rêza heyî heya dawiya pelê jêbirin);
  • Vebijarka 'oflag=append' li fermana dd zêde kir;
  • Ala '-H' li kargêriya jorîn hate zêdekirin da ku moda şopandinê ji bo mijarên kesane çalak bike.

Her weha, du hefte berê pêk hat berdan Toybox 0.8.1, analogek BusyBox, ku ji hêla parêzgerê berê yê BusyBox ve hatî pêşve xistin û belav kirin di bin lîsansa BSD de. Armanca sereke ya Toybox ev e ku ji hilberîneran re şiyana karanîna komek mînîmalîst a karûbarên standard bêyî vekirina koda çavkaniyê ya pêkhateyên guhezbar peyda bike. Li gorî kapasîteyên Toybox-ê heya nuha li paş mane ji BusyBox, lê 188 fermanên bingehîn ji 220 plansazkirî berê hatine bicîh kirin.

Di nav nûbûnên Toybox 0.8.1 de em dikarin destnîşan bikin:

  • Asta fonksiyonê hatî bidestxistin ku ji bo avakirina Android-ê li hawîrdorek li ser bingeha karûbarên Toybox-ê têr dike.
  • Fermanên nû yên mcookie û devmem tê de hene, û emrên tar, gunzip û zcat ji nû ve hatine nivîsandin ji şaxê ceribandinê têne derxistin.
  • Ji bo ceribandinê pêkanînek nû ya vi hate pêşniyar kirin.
  • Fermana lêgerînê nuha vebijarkên "-wholename/-iwholename" piştgirî dike.
    "-printf" û "-context";

  • Vebijarka "--exclude-dir" li grep zêde kir;
  • Echo naha vebijarka "-E" piştgirî dike.
  • Piştgiriya "UUID" ji bo lêdanê zêde kir.
  • Fermana tarîxê naha qada demjimêrê ya ku di guhêrbara hawîrdora TZ de hatî destnîşan kirin digire.
  • Piştgiriyek ji bo rêzikên têkildar (+N) li sed zêde kir.
  • Xwendina çêtir a ps, top û iotop encam.

Source: opennet.ru

Add a comment