Pagpagawas sa usa ka minimalistic nga set sa mga utilities sa sistema BusyBox 1.35

Ang pagpagawas sa BusyBox 1.35 nga pakete gipresentar sa pagpatuman sa usa ka set sa standard UNIX utilities, nga gidisenyo isip usa ka executable file ug gi-optimize alang sa gamay nga pagkonsumo sa mga kapanguhaan sa sistema nga adunay gitakda nga gidak-on nga ubos sa 1 MB. Ang una nga pagpagawas sa bag-ong sanga 1.35 gipahimutang ingon dili lig-on, ang bug-os nga pagpalig-on igahatag sa bersyon 1.35.1, nga gilauman sa hapit usa ka bulan. Ang code sa proyekto giapod-apod ubos sa lisensya sa GPLv2.

Ang modular nga kinaiya sa BusyBox nagpaposible sa paghimo og usa ka unified executable file nga adunay sulod nga arbitraryong set sa mga utilities nga gipatuman sa package (matag utility anaa sa porma sa simbolikong link niini nga file). Ang gidak-on, komposisyon ug gamit sa pagkolekta sa mga utilities mahimong lainlain depende sa mga panginahanglan ug kapabilidad sa naka-embed nga plataporma diin ang asembliya gihimo. Ang package kay self-contained; sa dihang gitukod nga statically gamit ang uclibc, aron makamugna ug working system sa ibabaw sa Linux kernel, kinahanglan ka lang maghimo ug daghang device files sa /dev directory ug mag-andam ug configuration files. Kung itandi sa miaging pagpagawas nga 1.34, ang pagkonsumo sa RAM sa kasagaran nga BusyBox 1.35 nga asembliya misaka sa 1726 bytes (gikan sa 1042344 hangtod 1044070 bytes).

Ang BusyBox mao ang nag-unang himan sa pagpakig-away batok sa mga paglapas sa GPL sa firmware. Ang Software Freedom Conservancy (SFC) ug Software Freedom Law Center (SFLC), sa ngalan sa mga developer sa BusyBox, balik-balik nga malampusong nag-impluwensya sa mga kompanya nga wala maghatag ug access sa source code sa mga programa sa GPL, pinaagi sa mga korte ug sa gawas. - mga kasabutan sa korte. Sa samang higayon, ang tagsulat sa BusyBox kusganong misupak sa maong panalipod - nagtuo nga kini makaguba sa iyang negosyo.

Ang mosunod nga mga pagbag-o gipasiugda sa BusyBox 1.35:

  • Ang find utility nagpatuman sa "-samefile name" nga kapilian aron masusi kung ang usa ka file naggamit sa parehas nga inode sa file nga adunay gipiho nga ngalan. Nahiusa nga code alang sa pagtandi sa oras ug gidugang nga mga kapilian "-amin", "-atime", "-cmin" ug "-ctime" aron masusi ang oras sa pag-access ug paghimo sa file.
  • Ang mktemp utility nagdugang ug "--tmpdir" nga opsyon para ipiho ang base nga direktoryo nga may kalabotan kung asa nga mga dalan nga nalangkit sa temporaryo nga mga file ang kalkulado.
  • Ang mga kapilian nga "-ignore-devno" gidugang sa cpio utility aron dili ibalewala ang tinuod nga numero sa aparato (0 ang kanunay nga gisulat) ug "-renumber-inodes" aron mabag-o ang numero sa inode sa wala pa kini itago sa archive.
  • Sa awk utility, ang ekspresyon nga "printf %%" gi-adjust.
  • Gidugang mga usa ka dosena nga mga pagbag-o sa librarya sa libbb. Gipauswag nga pagkaangay sa realpath kauban ang katugbang niini gikan sa set sa coreutils.
  • Daghang mga pag-ayo ang gisugyot alang sa mga shell sa abo ug hush command, nga gitumong sa pagpauswag sa pagkaangay sa ubang mga kabhang. Nagdugang ang abo og suporta para sa bash-like ERR traps, set -E ug $FUNCNAME, ug mas paspas nga pagbawi sa string gamit ang "${s:}" nga ekspresyon. Sa abo ug kahilum, ang pagpatuman sa "${x//\*/|}" nga mga operasyon gipaspasan.
  • Ang basename nga utility nagpatuman sa mga opsyon nga "-a" sa pagpasa sa daghang mga ngalan sa usa ka tawag ug "-s SUFFIX" aron matangtang ang nagsunod nga "SUFFIX" nga mga karakter.
  • Gidugang ang "-f" (puwersa) nga kapilian sa blkdiscard utility.
  • Ang httpd mihunong sa pagpadala sa Last-Modified/ETag/Content-Length nga mga ulohan para sa mga panid nga adunay mga sayop.
  • Ang httpd ug telnetd naghatag ug abilidad sa pag-usab sa default network port.
  • Giayo ang usa ka pagkahuyang sa tar nga hinungdan nga ang tanan nga magamit nga panumduman mahurot sa pagproseso sa mga archive nga adunay taas kaayo nga mga ngalan sa file.
  • Ang pagpatuman sa P256 ug x25519 gi-rework sa TLS code.
  • Ang wget utility nagpatuman sa "--post-file" nga opsyon para sa pagpadala sa mga file ug nagtugot kanimo sa pag-customize sa sulod sa Content-Type header para sa "--post-data" ug "--post-file" nga mga opsyon.
  • Ang timeout utility karon nagsuporta sa "-k KILL_SECS" nga opsyon para magpadala ug SIGKILL signal kung ang command dili makompleto sulod sa dugang KILL_SECS segundos.
  • Ang suporta alang sa pagtakda sa netns parameter alang sa mga himan gidugang sa ip utility.
  • Ang cal utility nagpatuman sa "-m" nga kapilian aron ipakita ang gitakda nga bulan.
  • Ang date ug touch utilities nagtugot sa pagtino sa usa ka time zone offset sa mga petsa.
  • Sa vi editor, gidugang ang suporta sa ~/.exrc file, ug ang pagdumala sa β€œ-c” ug EXINIT nausab.
  • Sa ed utility, ang resulta sa pagpatuman sa read/write commands gidala ngadto sa pagsunod sa POSIX-1.2008 specification. Gidugang nga suporta alang sa "-p" nga kapilian.
  • Gidugang ang "-n N" nga kapilian sa cmp utility aron limitahan ang pagtandi sa N bytes.

Dugang pa, pipila ka adlaw ang milabay, ang Toybox 0.8.6 gibuhian, usa ka analogue sa BusyBox, nga gimugna sa usa ka kanhi nga tigdumala sa BusyBox ug giapod-apod ubos sa lisensya sa 0BSD. Ang nag-unang katuyoan sa Toybox mao ang paghatag sa mga tiggama og abilidad sa paggamit sa usa ka minimalistic nga set sa standard utilities nga walay pag-abli sa source code sa giusab nga mga sangkap. Sa mga termino sa kapabilidad, ang Toybox naa gihapon sa likod sa BusyBox, apan ang 296 nga mga batakang sugo napatuman na (217 kompleto ug 83 partially) gikan sa 374 nga giplano.

Lakip sa mga inobasyon sa Toybox 0.8.6 atong mamatikdan ang pag-uswag sa mga script alang sa paghimo sa mga imahe sa sistema, ang pagdugang sa mga sugo sha256sum, sha224sum, sha384sum, sha512sum, linux32, strace ug hexdump. Gipatuman nga mga opsyon "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

Idugang sa usa ka comment