Tso tawm cov txheej txheem minimalistic ntawm cov khoom siv hluav taws xob BusyBox 1.31

Xa los ntawm pob tso tawm BusyBox 1.31 nrog rau kev siv cov txheej txheem UNIX cov khoom siv hluav taws xob, tsim los ua ib cov ntaub ntawv ua tau zoo thiab ua kom zoo rau kev siv tsawg kawg nkaus ntawm cov peev txheej nrog cov txheej txheem tsawg dua 1 MB. Thawj qhov kev tso tawm ntawm ceg tshiab 1.31 yog qhov chaw tsis ruaj khov, kev ruaj khov tag nrho yuav muab rau hauv version 1.31.1, uas xav tau nyob rau ib hlis. Txoj haujlwm code raug faib raws li daim ntawv tso cai GPLv2.

Lub modular xwm ntawm BusyBox ua rau nws muaj peev xwm los tsim ib tug unified executable ntaub ntawv uas muaj ib tug arbitrary set ntawm cov nqi hluav taws xob siv nyob rau hauv lub pob (txhua qhov kev pab cuam muaj nyob rau hauv daim ntawv ntawm ib tug cim txuas rau cov ntaub ntawv no). Qhov loj, muaj pes tsawg leeg thiab kev ua haujlwm ntawm kev sau cov khoom siv hluav taws xob tuaj yeem sib txawv nyob ntawm qhov xav tau thiab muaj peev xwm ntawm lub platform embedded uas lub rooj sib txoos tau ua. Lub pob yog nyob ntawm tus kheej; thaum tsim statically nrog uclibc, los tsim ib qho kev ua haujlwm nyob rau sab saum toj ntawm Linux ntsiav, koj tsuas yog yuav tsum tsim ntau cov ntaub ntawv ntaus ntawv hauv / dev phau ntawv thiab npaj cov ntaub ntawv teeb tsa. Piv nrog rau qhov kev tso tawm dhau los 1.30, qhov kev siv RAM ntawm qhov raug BusyBox 1.31 sib dhos poob los ntawm 86 bytes (los ntawm 1008478 txog 1008392 bytes).

BusyBox yog cov cuab yeej tseem ceeb hauv kev tawm tsam GPL kev ua txhaum cai hauv firmware. Lub Software Freedom Conservancy (SFC) thiab Software Freedom Law Center (SFLC) sawv cev ntawm BusyBox cov neeg tsim khoom, ob qho tib si dhau los ntawm lub tsev hais plaub, thiab txoj kev no Cov lus xaus Cov ntawv cog lus tawm hauv tsev hais plaub tau rov ua tiav cov tuam txhab uas tsis muaj kev nkag mus rau qhov chaws ntawm GPL cov kev pab cuam. Tib lub sijhawm, tus sau BusyBox ua nws qhov zoo tshaj plaws rau khoom tiv thaiv xws li kev tiv thaiv - ntseeg tias nws rhuav tshem nws txoj kev lag luam.

Cov kev hloov pauv hauv qab no tau qhia hauv BusyBox 1.31:

  • Ntxiv cov lus txib tshiab: ts (kev siv cov neeg siv khoom thiab cov neeg rau zaub mov rau TSP (Time-Stamp Protocol) raws tu qauv) thiab i2ctransfer (tsim thiab xa cov lus I2C);
  • Ntxiv kev txhawb nqa rau DHCP cov kev xaiv rau udhcp 100 (lub sijhawm cov ntaub ntawv cheeb tsam) thiab 101 (lub sijhawm cheeb tsam lub npe hauv TZ database) rau IPv6;
  • Ntxiv kev txhawb nqa rau kev sib txuas hostname zoo li qub rau cov neeg siv khoom hauv udhcpd;
  • Cov tshauv thiab hush plhaub siv cov lej lej "BASE#nnnn". Kev ua raws li cov lus txib ulimit tau ua bash sib xws, suav nrog cov kev xaiv "-i RLIMIT_SIGPENDING" thiab "-q RLIMIT_MSGQUEUE". Ntxiv kev txhawb nqa rau "tos -n". Ntxiv bash-compatible EPOCH variables;
  • Lub plhaub hush siv qhov "$-" sib txawv uas teev cov kev xaiv plhaub tau qhib los ntawm lub neej ntawd;
  • Txoj cai hla dhau qhov tseem ceeb los ntawm kev siv tau raug xa mus rau bc los ntawm kev nce toj, kev txhawb nqa rau kev ua haujlwm tsis muaj zog tau ntxiv thiab muaj peev xwm ua haujlwm nrog ibase qhov tseem ceeb mus txog 36;
  • Hauv brctl, tag nrho cov lus txib tau hloov mus ua haujlwm siv pseudo-FS / sys;
  • Cov cai ntawm fsync thiab sync cov khoom siv tau raug muab ua ke;
  • Kev ua tiav ntawm httpd tau raug txhim kho. Txhim kho kev ua haujlwm ntawm HTTP headers thiab ua haujlwm hauv hom npe. Cov npe ntawm MIME hom suav nrog SVG thiab JavaScript;
  • Qhov "-c" kev xaiv tau ntxiv rau losetup (yuav tsum tau kuaj xyuas ob npaug ntawm cov ntaub ntawv loj cuam tshuam nrog lub voj voog), nrog rau kev xaiv rau kev txheeb xyuas cov partitions. mount thiab losetup muab kev txhawb nqa rau kev ua haujlwm siv /dev/loop-control;
  • Hauv ntpd, tus nqi SLEW_THRESHOLD tau nce los ntawm 0.125 txog 0.5;
  • Ntxiv kev txhawb nqa rau kev muab cov nqi null rau sysctl;
  • Ntxiv kev txhawb nqa rau cov txiaj ntsig feem ntau hauv "-n SEC" kev xaiv los saib;
  • Ntxiv lub peev xwm los khiav mdev raws li txheej txheem keeb kwm yav dhau;
  • Cov khoom siv wget siv tus chij "-o" los qhia cov ntaub ntawv los sau lub cav rau. Ntxiv cov ntawv ceeb toom txog kev pib thiab ua tiav ntawm kev rub tawm;
  • Ntxiv kev txhawb nqa rau AYT IAC cov lus txib rau telnetd;
  • Ntxiv 'dG' hais kom ua vi (rho tawm cov ntsiab lus ntawm kab tam sim no mus rau qhov kawg ntawm cov ntaub ntawv);
  • Ntxiv kev xaiv 'oflag = append' rau dd hais kom ua;
  • Tus chij '-H' tau ntxiv rau cov khoom siv saum toj kawg nkaus txhawm rau txhawm rau txheeb xyuas cov xov ntawm tus kheej.

Tsis tas li, ob lub lis piam dhau los coj qhov chaw tso tawm Toybox 0.8.1, ib qho analogue ntawm BusyBox, tsim los ntawm tus qub BusyBox tus tswj hwm thiab faib nyob rau hauv BSD daim ntawv tso cai. Lub hom phiaj tseem ceeb ntawm Toybox yog muab cov chaw tsim khoom siv lub peev xwm los siv cov txheej txheem kev siv hluav taws xob tsawg tsawg yam tsis tau qhib qhov chaws ntawm cov khoom hloov kho. Raws li Toybox muaj peev xwm txog tam sim no poob qab los ntawm BusyBox, tab sis 188 cov lus txib yooj yim tawm ntawm 220 tau npaj tau ua tiav lawm.

Ntawm qhov kev tsim kho tshiab ntawm Toybox 0.8.1 peb tuaj yeem nco ntsoov:

  • Ib theem ntawm kev ua haujlwm tau ua tiav uas txaus los tsim Android hauv ib puag ncig raws li cov khoom siv Toybox.
  • Cov mcookie tshiab thiab devmem cov lus txib raug suav nrog, thiab cov lus rov sau dua tar, gunzip thiab zcat cov lus txib raug txav los ntawm ceg sim.
  • Ib qho kev siv tshiab ntawm vi tau raug npaj rau kev sim.
  • Cov lus txib nrhiav tam sim no txhawb cov kev xaiv "-wholename/-iwholename".
    "-printf" thiab "-context";

  • Ntxiv "--exclude-dir" kev xaiv rau grep;
  • Echo tam sim no txhawb kev xaiv "-E".
  • Ntxiv "UUID" kev txhawb nqa rau mount.
  • Lub hnub hais kom ua tam sim no yuav siv sij hawm rau hauv lub sij hawm cheeb tsam teev nyob rau hauv lub TZ ib puag ncig sib txawv.
  • Ntxiv kev txhawb nqa rau cov txheeb ze (+N) rau sed.
  • Txhim kho kev nyeem ntawv ntawm ps, sab saum toj thiab iotop tso zis.

Tau qhov twg los: opennet.ru

Ntxiv ib saib