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

Xa los ntawm pob tso tawm BusyBox 1.32 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.32 yog qhov chaw tsis ruaj khov, kev ruaj khov tag nrho yuav muab rau hauv version 1.32.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 cov ntaub ntawv uas muaj ib tug arbitrary set ntawm cov nqi hluav taws xob siv nyob rau hauv lub pob (txhua qhov hluav taws xob 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 kernel, 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.31, qhov kev siv RAM ntawm qhov raug BusyBox 1.32 sib dhos tau nce los ntawm 3590 bytes (los ntawm 1011750 txog 1015340 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.32:

  • Cov lus txib tshiab ntxiv uas mim khiav skippts los ntawm qhov muab Mimfile (me ntsis reminiscent ntawm stripped-down ua utility);
  • Cov cuab yeej nrhiav tau ntxiv qhov "-empty" kev xaiv los kuaj xyuas cov ntaub ntawv khoob;
  • Hauv wget utility, qhov txwv ntawm tus naj npawb ntawm redirections tau nthuav dav thiab kev txhawb nqa rau kev kuaj TLS daim ntawv pov thawj nrog ENABLE_FEATURE_WGET_OPENSSL tau ua tiav;
  • Ntxiv kev txhawb nqa kom raug rau cov npe ntawm cov qauv (pattern_list) rau grep thiab ntxiv qhov "-R" kev xaiv (rov ua dua ntawm cov ntsiab lus ntawm cov npe);
  • daws teeb meem uas tshwm sim thaum lub tsev nyob rau hauv Clang 9 thiab tshem tawm cov lus ceeb toom compiler;
  • Ib tug loj tus naj npawb ntawm fixes tau npaj rau cov tshauv thiab hush hais kom ua shells, aimed ntawm kev txhim kho compatibility nrog rau lwm yam plhaub. Lub peev xwm los ua kom tiav cov lus txib built-in nrog tabs tau ntxiv rau cov tshauv thiab hush. Tshiab built-in commands tau stabilized nyob rau hauv tshauv.
  • Cov khoom siv fdisk tam sim no txhawb nqa HFS thiab HFS + muab faib;
  • init tau txhim kho kev tuav ntawm haiv neeg tej yam kev mob thaum cov teeb liab tau txais;
  • Rau kev siv hluav taws xob rau kev saib xyuas qhov system parameters nmeter ua ntxiv cov zis hom "% NT" (lub sij hawm ua raws li xoom);
  • Lub peev xwm los ua thiab tso saib cov npe ntawm CPUs tau ntxiv rau cov haujlwm (xaiv "-c");
  • Nyob rau hauv tar, tus cwj pwm ntawm "-a" kev xaiv tau raug hloov, uas, es tsis txhob ntawm enabling "lzma" compression, yog tam sim no txuam nrog autodetection los ntawm cov ntaub ntawv extension;
  • Udhcpc6 ntxiv kev txhawb nqa rau "tsis muaj tebchawsΒ» rau DHCPv6 (tus neeg rau zaub mov xa tsuas yog lub network tsis muaj, tsis tau muab qhov chaw nyob);
  • nslookup tam sim no txhawb kev ua cov lus teb yam tsis muaj RR cov ntaub ntawv thiab ntxiv kev txhawb nqa rau SRV cov ntaub ntawv;
  • Cov lus txib tshiab "showmacs" thiab "showstp" tau ntxiv rau brctl;
  • Ntxiv kev txhawb nqa rau "relay server" parameter rau dhcpc;
  • Ntxiv qhov chaw rau syslogd los tso saib lub sijhawm nrog millisecond precision;
  • Hauv httpd, thaum khiav hauv NOMMU hom, teeb tsa cov npe sib txawv hauv tsev tau tso cai thiab qhov kev xaiv '-h' ua haujlwm thaum khiav cov txheej txheem keeb kwm yav dhau;
  • xargs tau txhim kho kev tuav cov lus sib cav nyob rau hauv cov lus hais thiab ua kom tus cwj pwm raug ntawm qhov kev xaiv "-n";
  • Kho cov kab mob hauv grep, sab saum toj, dc, gzip, awk, bc, ntpd, pidof, stat, telnet, tftp, whois, unzip, chgrp, httpd, vi, txoj kev siv hluav taws xob.

Tsis tas li ntawd, lub hli tas los coj qhov chaw tso tawm Toybox 0.8.3, 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 272 cov lus txib tseem ceeb tau ua tiav (204 tag nrho thiab 68 ib nrab) tawm ntawm 343 tau npaj tseg.

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

  • Ntxiv cov lus txib tshiab rtcwake, blkdiscard, getopt thiab readelf;
  • "ua hauv paus" muab lub peev xwm los tsim ib qho chaw ua haujlwm khau raj raws li Linux ntsiav thiab Toybox cov khoom siv, uas tuaj yeem thauj khoom siv nws tus kheej init tsab ntawv;
  • Ntxiv kev txhawb nqa thawj zaug rau cov qauv nrog cais kev siv cov khoom siv hluav taws xob uas tsis suav nrog hauv lub ntsiab ToyBox;
  • Cov lus txib txhais lus ua si yog 80% npaj txhij (tsis muaj kev txhawb nqa rau kev ua haujlwm, keeb kwm, kev tswj hwm davhlau ya nyob twg, haujlwm, $(( lej)), cov qauv tsis tau);
  • Ntxiv kev txhawb nqa rau kev xaiv ntxiv rau ntau yam khoom siv, suav nrog thaj, cal, cp, mv, lsattr, chattr, ls, id, netcat thiab setsid.

Tau qhov twg los: opennet.ru

Ntxiv ib saib