Paglabas ng isang minimalistic na hanay ng mga utility ng system BusyBox 1.31

Ipinasa ni paglabas ng pakete BusyBox 1.31 sa pagpapatupad ng isang hanay ng mga karaniwang UNIX utilities, na idinisenyo bilang isang solong executable na file at na-optimize para sa minimal na pagkonsumo ng mga mapagkukunan ng system na may nakatakdang laki na mas mababa sa 1 MB. Ang unang release ng bagong branch 1.31 ay nakaposisyon bilang hindi matatag, ang buong stabilization ay ibibigay sa bersyon 1.31.1, na inaasahan sa halos isang buwan. Ang code ng proyekto ay ipinamamahagi sa ilalim ng lisensya ng GPLv2.

Ang modular na katangian ng BusyBox ay ginagawang posible na lumikha ng isang pinag-isang executable na file na naglalaman ng isang arbitrary na hanay ng mga utility na ipinatupad sa package (bawat utility ay magagamit sa anyo ng isang simbolikong link sa file na ito). Ang laki, komposisyon at pag-andar ng koleksyon ng mga kagamitan ay maaaring iba-iba depende sa mga pangangailangan at kakayahan ng naka-embed na platform kung saan isinasagawa ang pagpupulong. Ang package ay self-contained; kapag binuo gamit ang uclibc, upang lumikha ng isang gumaganang sistema sa ibabaw ng Linux kernel, kailangan mo lamang lumikha ng ilang mga file ng aparato sa direktoryo ng /dev at maghanda ng mga file ng pagsasaayos. Kung ikukumpara sa nakaraang release 1.30, ang pagkonsumo ng RAM ng karaniwang BusyBox 1.31 na pagpupulong ay bumaba ng 86 bytes (mula 1008478 hanggang 1008392 bytes).

Ang BusyBox ay ang pangunahing tool sa paglaban sa mga paglabag sa GPL sa firmware. Ang Software Freedom Conservancy (SFC) at Software Freedom Law Center (SFLC) sa ngalan ng mga developer ng BusyBox sa pamamagitan ng hukuman, at sa ganitong paraan mga konklusyon Ang mga kasunduan sa labas ng korte ay paulit-ulit na matagumpay na naiimpluwensyahan ang mga kumpanyang hindi nagbibigay ng access sa source code ng mga programa ng GPL. Kasabay nito, ginagawa ng may-akda ng BusyBox ang kanyang makakaya mga bagay laban sa gayong proteksyon - paniniwalang sinisira nito ang kanyang negosyo.

Ang mga sumusunod na pagbabago ay naka-highlight sa BusyBox 1.31:

  • Nagdagdag ng mga bagong command: ts (pagpapatupad ng client at server para sa TSP (Time-Stamp Protocol) protocol) at i2ctransfer (paglikha at pagpapadala ng mga mensahe ng I2C);
  • Nagdagdag ng suporta para sa mga opsyon sa DHCP sa udhcp 100 (impormasyon ng time zone) at 101 (pangalan ng time zone sa database ng TZ) para sa IPv6;
  • Nagdagdag ng suporta para sa mga static na hostname binding sa mga kliyente sa udhcpd;
  • Ang ash at hush shell ay nagpapatupad ng mga numeric literal na "BASE#nnnn". Ang pagpapatupad ng ulimit command ay ginawang bash compatible, kasama ang mga opsyon na β€œ-i RLIMIT_SIGPENDING” at β€œ-q RLIMIT_MSGQUEUE”. Nagdagdag ng suporta para sa "wait -n". Nagdagdag ng mga bash-compatible na variable ng EPOCH;
  • Ang hush shell ay nagpapatupad ng "$-" na variable na naglilista ng mga opsyon sa shell na pinagana bilang default;
  • Ang code para sa pagpasa ng mga halaga sa pamamagitan ng sanggunian ay inilipat sa bc mula sa upstream, idinagdag ang suporta para sa mga void function at ang kakayahang magtrabaho kasama ang mga halaga ng ibase hanggang 36;
  • Sa brctl, ang lahat ng mga utos ay na-convert upang gumana gamit ang pseudo-FS /sys;
  • Ang code ng fsync at sync utility ay pinagsama;
  • Ang pagpapatupad ng httpd ay napabuti. Pinahusay na pagproseso ng mga header ng HTTP at gumagana sa proxy mode. Kasama sa listahan ng mga uri ng MIME ang SVG at JavaScript;
  • Ang opsyong "-c" ay idinagdag sa losetup (sapilitang pag-double check sa laki ng file na nauugnay sa loop device), pati na rin ang isang opsyon para sa pag-scan ng mga partisyon. mount at losetup ay nagbibigay ng suporta para sa pagtatrabaho gamit ang /dev/loop-control;
  • Sa ntpd, ang halaga ng SLEW_THRESHOLD ay nadagdagan mula 0.125 hanggang 0.5;
  • Nagdagdag ng suporta para sa pagtatalaga ng mga null na halaga sa sysctl;
  • Nagdagdag ng suporta para sa mga fractional na halaga sa opsyong β€œ-n SEC” na panoorin;
  • Nagdagdag ng kakayahang magpatakbo ng mdev bilang proseso sa background;
  • Ang wget utility ay nagpapatupad ng "-o" na flag upang tukuyin ang file kung saan isusulat ang log. Nagdagdag ng mga abiso tungkol sa pagsisimula at pagkumpleto ng mga pag-download;
  • Nagdagdag ng suporta para sa AYT IAC command sa telnetd;
  • Idinagdag ang command na 'dG' sa vi (tanggalin ang mga nilalaman mula sa kasalukuyang linya hanggang sa dulo ng file);
  • Nagdagdag ng opsyon na 'oflag=append' sa dd command;
  • Ang '-H' na bandila ay idinagdag sa nangungunang utility upang paganahin ang pag-scan ng mga indibidwal na thread.

Gayundin, dalawang linggo na ang nakalipas naganap pakawalan Toybox 0.8.1, isang analogue ng BusyBox, na binuo ng dating tagapangasiwa ng BusyBox at ipinamahagi sa ilalim ng lisensya ng BSD. Ang pangunahing layunin ng Toybox ay upang bigyan ang mga tagagawa ng kakayahang gumamit ng isang minimalistic na hanay ng mga karaniwang kagamitan nang hindi binubuksan ang source code ng mga binagong bahagi. Ayon sa mga kakayahan ng Toybox sa ngayon nahuhuli mula sa BusyBox, ngunit 188 pangunahing mga utos mula sa 220 na binalak ay naipatupad na.

Kabilang sa mga inobasyon ng Toybox 0.8.1 maaari nating tandaan:

  • Nakamit ang isang antas ng functionality na sapat upang bumuo ng Android sa isang kapaligiran batay sa mga utility ng Toybox.
  • Ang bagong mcookie at devmem command ay kasama, at ang rewritten tar, gunzip at zcat command ay inilipat mula sa test branch.
  • Isang bagong pagpapatupad ng vi ang iminungkahi para sa pagsubok.
  • Sinusuportahan na ngayon ng find command ang "-wholename/-iwholename" na mga opsyon.
    "-printf" at "-context";

  • Idinagdag ang opsyong "--exclude-dir" sa grep;
  • Sinusuportahan na ngayon ng Echo ang opsyong "-E".
  • Idinagdag ang suportang "UUID" sa pag-mount.
  • Isinasaalang-alang na ngayon ng command ng petsa ang time zone na tinukoy sa TZ environment variable.
  • Nagdagdag ng suporta para sa mga kamag-anak na hanay (+N) sa sed.
  • Pinahusay na pagiging madaling mabasa ng ps, top at iotop na output.

Pinagmulan: opennet.ru

Magdagdag ng komento