Kuburitswa kweBusyBox 1.35 package inounzwa nekumisikidzwa kweseti yezvakajairwa UNIX zvinoshandiswa, zvakagadzirirwa senge faira rimwechete rinogoneka uye rakagadziridzwa kushandiswa kushoma kwehurongwa zviwanikwa nehukuru hwakatarwa husingasviki 1 MB. Kuburitswa kwekutanga kwebazi idzva re1.35 kwakaiswa sekusina kugadzikana; kudzikamisa kwakazara kuchapihwa mushanduro 1.35.1, inotarisirwa mukati memwedzi. Iyo kodhi yeprojekiti yakagoverwa pasi peGPLv2 rezinesi.
Iyo modular hunhu hweBusyBox inoita kuti zvikwanise kugadzira imwe yakabatana inotepfenyurwa faira ine inopokana seti yezvishandiso zvinoshandiswa mupakeji (zvese zvinoshandiswa zvinowanikwa muchimiro chechiratidzo chinongedzo kune iyi faira). Saizi, kuumbwa uye kushanda kwekuunganidzwa kwezvishandiso zvinogona kusiyanisa zvichienderana nezvinodiwa uye kugona kwepuratifomu yakamisikidzwa iyo gungano iri kuitirwa. Iyo pasuru inozvimiririra; kana yakavakirwa statically neuclibc, kugadzira iyo inoshanda sisitimu pamusoro peLinux kernel, iwe unongoda kugadzira akati wandei mafaira emudziyo mu / dev dhairekitori uye gadzirira mafaera ekugadzirisa. Kuenzaniswa neyakamboburitswa 1.34, iyo RAM kushandiswa kweyakajairwa BusyBox 1.35 gungano yakawedzera ne1726 bytes (kubva pa1042344 kusvika 1044070 bytes).
BusyBox ndicho chishandiso chikuru mukurwisa kutyorwa kweGPL mune firmware. Iyo Software Freedom Conservancy (SFC) neSoftware Freedom Law Center (SFLC), yakamirira vagadziri veBusyBox, yagara ichipesvedzera makambani asingapi mukana weiyo source code yeGPL zvirongwa, zvese kuburikidza nematare uye kunze kwe - zvibvumirano zvedare. Panguva imwecheteyo, munyori weBusyBox anoramba zvakasimba kudzivirira kwakadaro - achitenda kuti zvinoparadza bhizinesi rake.
Shanduko dzinotevera dzinoratidzwa muBusyBox 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Β».
Source: opennet.ru