Ukukhishwa kwesethi encane yezinsiza zesistimu i-BusyBox 1.35

Ukukhishwa kwephakheji ye-BusyBox 1.35 kwethulwa ngokusetshenziswa kwesethi yezinsiza ezijwayelekile ze-UNIX, eziklanywe njengefayela elilodwa elisebenzisekayo futhi lenzelwe ukusetshenziswa okuncane kwezisetshenziswa zesistimu ezinosayizi obekiwe ongaphansi kuka-1 MB. Ukukhishwa kokuqala kwegatsha elisha le-1.35 kubekwe njengokungazinzile; ukuzinza okugcwele kuzonikezwa kunguqulo 1.35.1, okulindeleke esikhathini esingangenyanga. Ikhodi yephrojekthi isatshalaliswa ngaphansi kwelayisensi ye-GPLv2.

Imvelo ye-modular ye-BusyBox yenza kube nokwenzeka ukudala ifayela elilodwa elisebenzisekayo elihlangene eliqukethe isethi engafanele yezinsiza ezisetshenziswa kuphakheji (usizo ngalunye lutholakala ngendlela yesixhumanisi esingokomfanekiso saleli fayela). Ubukhulu, ukwakheka kanye nokusebenza kokuqoqwa kwezinsiza kungahlukahluka kuye ngezidingo namandla eplathifomu eshumekiwe lapho umhlangano wenziwa khona. Iphakheji liziqukathe ngokwalo; lapho lakhiwe ngokwezibalo nge-uclibc, ukuze udale isistimu yokusebenza phezu kwe-Linux kernel, udinga kuphela ukudala amafayela amaningana wedivayisi ku-directory ye-dev futhi ulungiselele amafayela wokumisa. Uma kuqhathaniswa nokukhishwa kwangaphambilini kwe-1.34, ukusetshenziswa kwe-RAM komhlangano ojwayelekile we-BusyBox 1.35 kukhuphuke ngamabhayithi angu-1726 (kusuka ku-1042344 kuya ku-1044070 bytes).

I-BusyBox iyithuluzi eliyinhloko ekulweni nokwephulwa kwe-GPL ku-firmware. I-Software Freedom Conservancy (SFC) kanye ne-Software Freedom Law Center (SFLC), egameni labathuthukisi be-BusyBox, baye bathonya ngokuphindaphindiwe ngempumelelo izinkampani ezinganikezeli ngokufinyelela ikhodi yomthombo yezinhlelo ze-GPL, kokubili ezinkantolo nangaphandle kwe -izivumelwano zasenkantolo. Ngesikhathi esifanayo, umbhali we-BusyBox ukuphikisa ngokuqinile ukuvikelwa okunjalo - ekholelwa ukuthi kulimaza ibhizinisi lakhe.

Izinguquko ezilandelayo zigqanyiswe ku-BusyBox 1.35:

  • Insiza yokuthola isebenzisa inketho ethi "-samefile name" ukuhlola ukuthi ifayela lisebenzisa i-inode efanayo nefayela elinegama elishiwo. Ikhodi ehlanganisiwe yokuqhathanisa isikhathi nezinketho ezingeziwe "-amin", "-atime", "-cmin" kanye "-ctime" ukuhlola isikhathi sokufinyelela nokudalwa kwefayela.
  • Insiza ye-mktemp yengeze inketho ethi "--tmpdir" ukuze ucacise uhla lwemibhalo oluyisisekelo oluhlobene nokuthi yiziphi izindlela ezihlotshaniswa namafayela esikhashana abalwa kuzo.
  • Izinketho ze-“-ignore-devno” zengezwe kunsizakalo ye-cpio ukuze uzibe inombolo yedivayisi yangempela (i-0 ihlale ibhaliwe) kanye “no-renumber-inodes” ukuze ubhale kabusha i-inode ngaphambi kokuyigcina kungobo yomlando.
  • Ku-awk utility, isisho esithi "printf %%" silungisiwe.
  • Kwengezwe cishe izinguquko eziyishumi nambili kulabhulali ye-libbb. Ukuhambisana okuthuthukisiwe kwe-realpath nozakwabo kusukela kusethi yama-coreutils.
  • Kuphakanyiswe inani elikhulu lokulungiswa kwamagobolondo omlotha ne-hush, okuhloswe ngawo ukuthuthukisa ukuhambisana namanye amagobolondo. I-Ash yengeze usekelo lwama-bash-like ERR trap, i-set -E ne-$FUNCNAME, kanye nokubuyiswa kweyunithi yezinhlamvu ngokushesha kusetshenziswa isisho esithi "${s:}". Emlotheni nasekuthuleni, ukwenziwa kwemisebenzi ye-"${x//\*/|}" kusheshisiwe.
  • Isisetshenziswa segama lesizinda sisebenzisa izinketho "-a" zokudlulisa amagama amaningi ocingweni olulodwa kanye nokuthi "-s SUFFIX" ukususa izinhlamvu ezilandelanayo "SUFFIX".
  • Kwengezwe inketho ethi "-f" (force) ukuze blkdiscard insiza.
  • I-httpd iyekile ukuthumela izihloko ze-Last-Modified/ETag/Content-Length zamakhasi anamaphutha.
  • I-httpd ne-telnetd zinikeza amandla okushintsha imbobo yenethiwekhi ezenzakalelayo.
  • Kulungiswe ubungozi ku-tar okubangele ukuthi yonke inkumbulo etholakalayo idliwe lapho kucutshungulwa izingobo zomlando ezinamagama amade kakhulu wamafayela.
  • Ukuqaliswa kwe-P256 kanye ne-x25519 kusetshenzwe kabusha kukhodi ye-TLS.
  • Isisetshenziswa se-wget sisebenzisa inketho ethi "--post-file" yokuthumela amafayela futhi ikuvumela ukuthi wenze ngokwezifiso okuqukethwe kwesihloko sohlobo Lokuqukethwe ukuze uthole izinketho "--post-data" kanye "--post-file".
  • Insiza yokuvala isikhathi manje isekela inketho ethi "-k KILL_SECS" yokuthumela isignali ye-SIGKILL uma umyalo ungaqedi phakathi kwamasekhondi e-KILL_SECS angeziwe.
  • Usekelo lokusetha ipharamitha ye-netns yamadivayisi yengezwe kusisetshenziswa se-ip.
  • Insiza ye-cal isebenzisa inketho ethi "-m" ukubonisa inyanga eshiwo.
  • Idethi nezinsiza zokuthinta zivumela ukucacisa indawo yesikhathi yokusetha ngezinsuku.
  • Kumhleli we-vi, usekelo lwefayela elithi ~/.exrc lwengeziwe, futhi nokuphathwa kokuthi “-c” kanye ne-EXINIT kushintshiwe.
  • Kuhlelo lwe-ed, umphumela wokusebenzisa imiyalo yokufunda/ukubhala ulethwa ekuthotshelweni kokucaciswa kwe-POSIX-1.2008. Kwengezwe usekelo lwenketho ethi "-p".
  • Kwengezwe inketho ethi "-n N" ku-cmp ukusetshenziswa ukuze kukhawulwe ukuqhathanisa namabhayithi angu-N.

Ngaphezu kwalokho, ezinsukwini ezimbalwa ezedlule, i-Toybox 0.8.6 yakhululwa, i-analogue ye-BusyBox, eyakhiwe umnakekeli wangaphambili we-BusyBox futhi yasatshalaliswa ngaphansi kwelayisensi ye-0BSD. Injongo eyinhloko ye-Toybox ukunikeza abakhiqizi ikhono lokusebenzisa isethi encane yezinsiza ezijwayelekile ngaphandle kokuvula ikhodi yomthombo yezingxenye eziguquliwe. Ngokwamakhono, i-Toybox isasele ngemuva kwe-BusyBox, kodwa imiyalo eyisisekelo engu-296 isivele isetshenzisiwe (217 ngokuphelele futhi 83 ingxenye) kwengu-374 ehleliwe.

Phakathi kwezinto ezintsha ze-Toybox 0.8.6 singaphawula ukuthuthukiswa kwemibhalo yokudala izithombe zesistimu, ukungezwa kwemiyalo ethi sha256sum, sha224sum, sha384sum, sha512sum, linux32, strace ne-hexdump. Izinketho ezisetshenzisiwe “date -s”, “pmap -p”, “tail -F -s”, “kill -0″, reboot/halt/poweroff -d”, “tail –bytes –lines”, “i2cdetect -q” , "thola -quit -lname -ilname -d", "sika -d $'\n'", "sika -nb", "cpio -ignore-devno -renumber-inodes", "tar -selinux", "split -n", "grep -L".

Source: opennet.ru

Engeza amazwana