Kev tso tawm ntawm pob BusyBox 1.35 tau nthuav tawm nrog kev siv ntawm 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 ntawm cov peev txheej nrog cov txheej txheem tsawg dua 1 MB. Thawj qhov kev tso tawm tshiab 1.35 ceg yog qhov chaw tsis ruaj khov; tag nrho kev ruaj ntseg yuav muab rau hauv version 1.35.1, uas xav tau nyob rau hauv 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.34, qhov kev siv RAM ntawm qhov raug BusyBox 1.35 sib dhos tau nce los ntawm 1726 bytes (los ntawm 1042344 txog 1044070 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, tau rov ua tiav kev cuam tshuam rau cov tuam txhab uas tsis muab kev nkag mus rau qhov chaws ntawm GPL cov kev pab cuam, ob qho tib si los ntawm cov tsev hais plaub thiab los ntawm kev tawm mus. - tsev hais plaub cog lus. Nyob rau tib lub sijhawm, tus sau ntawm BusyBox tau pom zoo rau qhov kev tiv thaiv zoo li no - ntseeg tias nws rhuav tshem nws txoj kev lag luam.
Cov kev hloov pauv hauv qab no tau qhia hauv BusyBox 1.35:
- Π ΡΡΠΈΠ»ΠΈΡΠ΅ find ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΎΠΏΡΠΈΡ Β«-samefile ΠΈΠΌΡΒ» Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π² ΡΠ°ΠΉΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΆΠ΅ inode, ΡΡΠΎ ΠΈ Ρ ΡΠ°ΠΉΠ»Π° Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ. Π£Π½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½ ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΎΠΏΡΠΈΠΈ Β«-aminΒ», Β«-atimeΒ», Β«-cminΒ» ΠΈ Β«-ctimeΒ» Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π΄ΠΎΡΡΡΠΏΠ° ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»Π°.
- Π ΡΡΠΈΠ»ΠΈΡΡ mktemp Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΡ Β«βtmpdirΒ» Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΡ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°, ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π²ΡΡΠΈΡΠ»ΡΡΡΡΡ ΠΏΡΡΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ.
- Π ΡΡΠΈΠ»ΠΈΡΡ cpio Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΎΠΏΡΠΈΠΈ Β«βignore-devnoΒ» Π΄Π»Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π½ΠΎΠΌΠ΅ΡΠ° ΡΡΡΡΠΎΠΉΡΡΠ²Π° (Π²ΡΠ΅Π³Π΄Π° Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ 0) ΠΈ Β«βrenumber-inodesΒ» Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π½ΡΠΌΠ΅ΡΠΎΠ²Π°Π½ΠΈΡ inode ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π² Π°ΡΡ ΠΈΠ².
- Π ΡΡΠΈΠ»ΠΈΡΠ΅ awk Π½Π°Π»Π°ΠΆΠ΅Π½Π° ΡΠ°Π±ΠΎΡΠ° Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Β«printf %%Β».
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΠΎΠΊΠΎΠ»ΠΎ Π΄Π΅ΡΡΡΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ libbb. Π£Π»ΡΡΡΠ΅Π½Π° ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ realpath Ρ Π°Π½Π°Π»ΠΎΠ³ΠΎΠΌ ΠΈΠ· Π½Π°Π±ΠΎΡΠ° coreutils.
- ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π±ΠΎΠ»ΡΡΠ°Ρ ΠΏΠΎΡΡΠΈΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ°Ρ ash ΠΈ hush, Π½Π°ΡΠ΅Π»Π΅Π½Π½ΡΡ Π½Π° ΡΠ»ΡΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ°ΠΌΠΈ. Π ash Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° bash-ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ERR trap, set -E ΠΈ $FUNCNAME, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΠΊΠΎΡΠ΅Π½ΠΎ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Β«${s:}Β». Π ash ΠΈ hush ΡΡΠΊΠΎΡΠ΅Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Β«${x//\*/|}Β».
- Π ΡΡΠΈΠ»ΠΈΡΠ΅ basename ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ ΠΎΠΏΡΠΈΠΈ Β«-aΒ» Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΈΠΌΡΠ½ ΠΏΡΠΈ ΠΎΠ΄Π½ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅ ΠΈ Β«-s SUFFIXΒ» Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Β«SUFFIXΒ».
- Π ΡΡΠΈΠ»ΠΈΡΡ blkdiscard Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΡ Β«-fΒ» (force).
- Π httpd ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½Π° ΠΎΡΠΏΡΠ°Π²ΠΊΠ° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² Last-Modified / ETag / Content-Length Π΄Π»Ρ ΡΡΡΠ°Π½ΠΈΡ Ρ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ.
- Π httpd ΠΈ telnetd ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
- Π tar ΡΡΡΡΠ°Π½Π΅Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ, ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΠ°Ρ ΠΊ ΡΠ°ΡΡ ΠΎΠ΄ΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ΅ΠΉ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ Π°ΡΡ ΠΈΠ²ΠΎΠ² Ρ ΠΎΡΠ΅Π½Ρ Π΄Π»ΠΈΠ½Π½ΡΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ².
- Π ΠΊΠΎΠ΄Π΅ TLS ΠΏΠ΅ΡΠ΅Π΄Π΅Π»Π°Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ P256 ΠΈ x25519.
- Π ΡΡΠΈΠ»ΠΈΡΠ΅ wget ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΎΠΏΡΠΈΡ Β«βpost-fileΒ» Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° Content-Type Π΄Π»Ρ ΠΎΠΏΡΠΈΠΉ Β«βpost-dataΒ» ΠΈ Β«βpost-fileΒ».
- Π ΡΡΠΈΠ»ΠΈΡΡ timeout Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΎΠΏΡΠΈΠΈ Β«-k KILL_SECSΒ» Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΡΠΈΠ³Π½Π°Π»Π° SIGKILL, Π΅ΡΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π΅ Π·Π°Π²Π΅ΡΡΠΈΠ»Π°ΡΡ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ KILL_SECS ΡΠ΅ΠΊΡΠ½Π΄.
- Π ΡΡΠΈΠ»ΠΈΡΡ ip Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° netns Π΄Π»Ρ ΡΡΡΡΠΎΠΉΡΡΠ².
- Π ΡΡΠΈΠ»ΠΈΡΠ΅ cal ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΎΠΏΡΠΈΡ Β«-mΒ» Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΡΠ°.
- Π ΡΡΠΈΠ»ΠΈΡΠ°Ρ date ΠΈ touch ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°ΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ° Π² Π΄Π°ΡΠ°Ρ .
- Π ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ vi Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°ΠΉΠ»Π° ~/.exrc, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Β«-cΒ» ΠΈ EXINIT.
- Π ΡΡΠΈΠ»ΠΈΡΠ΅ ed ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ read/write ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ POSIX-1.2008. ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΎΠΏΡΠΈΠΈ Β«-pΒ».
- Π ΡΡΠΈΠ»ΠΈΡΡ cmp Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΡ Β«-n NΒ» Π΄Π»Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ N-Π±Π°ΠΉΡΠ°ΠΌΠΈ.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π½Π΅ΠΉ Π½Π°Π·Π°Π΄ ΡΠΎΡΡΠΎΡΠ»ΡΡ ΡΠ΅Π»ΠΈΠ· Toybox 0.8.6, Π°Π½Π°Π»ΠΎΠ³Π° BusyBox, ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ Π±ΡΠ²ΡΠΈΠΌ ΠΌΡΠΉΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠΌ BusyBox ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ 0BSD. ΠΡΠ½ΠΎΠ²Π½ΡΠΌ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ Toybox ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΠΈΡΡΠΈΡΠ½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΡΡΠΈΠ»ΠΈΡ Π±Π΅Π· ΠΎΡΠΊΡΡΡΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ΅ΠΊΡΡΠΎΠ² ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ². ΠΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌ Toybox ΠΏΠΎΠΊΠ° ΠΎΡΡΡΠ°ΡΡ ΠΎΡ BusyBox, Π½ΠΎ ΡΠΆΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ 296 Π±Π°Π·ΠΎΠ²ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ (217 ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΈ 83 ΡΠ°ΡΡΠΈΡΠ½ΠΎ) ΠΈΠ· 374 Π·Π°ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ .
ΠΠ· Π½ΠΎΠ²ΡΠ΅ΡΡΠ² Toybox 0.8.6 ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ ΡΠ»ΡΡΡΠ΅Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠΎΠ² Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ
ΠΎΠ±ΡΠ°Π·ΠΎΠ², Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ sha256sum, sha224sum, sha384sum, sha512sum, linux32, strace ΠΈ hexdump. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ ΠΎΠΏΡΠΈΠΈ Β«date -sΒ», Β«pmap -pΒ», Β«tail -F -sΒ», Β«kill -0β³, reboot/halt/poweroff -dΒ», Β«tail βbytes βlinesΒ», Β«i2cdetect -qΒ», Β«find -quit -lname -ilname -dΒ», Β«cut -d $β\n'Β», Β«cut -nbΒ», Β«cpio βignore-devno βrenumber-inodesΒ», Β«tar βselinuxΒ», Β«split -nΒ», Β«grep -LΒ».
Tau qhov twg los: opennet.ru