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

Gipasa ni pagpagawas sa pakete BusyBox 1.31 uban ang pagpatuman sa usa ka set sa standard UNIX utilities, nga gidisenyo isip usa ka executable file ug gi-optimize alang sa dyutay nga konsumo 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.31 gipahimutang ingon dili lig-on, ang bug-os nga pagpalig-on igahatag sa bersyon 1.31.1, nga gilauman sa hapit usa ka bulan. Ang code sa proyekto giapod-apod ubos sa lisensya sa GPLv2.

ΠœΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹ΠΉ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ BusyBox Π΄Π°Ρ‘Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ исполняСмый Ρ„Π°ΠΉΠ», содСрТащий Π² сСбС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ (каТдая ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° доступна Π² Ρ„ΠΎΡ€ΠΌΠ΅ символичСской ссылки Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ»). Π Π°Π·ΠΌΠ΅Ρ€, состав ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ ΠΌΠΎΠΆΠ½ΠΎ Π²Π°Ρ€ΡŒΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² зависимости ΠΎΡ‚ потрСбностСй ΠΈ возмоТностСй встраиваСмой ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ осущСствляСтся сборка. ΠŸΠ°ΠΊΠ΅Ρ‚ самодостаточный, ΠΏΡ€ΠΈ статичСской сборкС с uclibc для создания Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ систСмы ΠΏΠΎΠ²Π΅Ρ€Ρ… ядра Linux трСбуСтся лишь ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ² устройств Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ /dev ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. По ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΏΡ€ΠΎΡˆΠ»Ρ‹ΠΌ выпуском 1.30 ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠΉ сборкой BusyBox 1.31 ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΠ»ΠΎΡΡŒ Π½Π° 86 Π±Π°ΠΉΡ‚ (с 1008478 Π΄ΠΎ 1008392 Π±Π°ΠΉΡ‚).

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) alang sa mga developer sa BusyBox, pinaagi sa ang hukmanan, ug niining paagiha mga konklusyon Ang mga kasabutan sa gawas sa korte balik-balik nga malampuson nga nakaimpluwensya sa mga kompanya nga wala maghatag ug akses sa source code sa mga programa sa GPL. Sa samang higayon, ang tagsulat sa BusyBox naghimo sa iyang labing maayo sa mga butang batok sa maong panalipod - nagtuo nga kini makaguba sa iyang negosyo.

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

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹: ts (рСализация ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈ сСрвСра для ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° TSP (Time-Stamp Protocol)) ΠΈ i2ctransfer (созданиС ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° сообщСний I2C);
  • Π’ udhcp Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΠΏΡ†ΠΈΠΉ DHCP 100 (свСдСния ΠΎ часовом поясС) ΠΈ 101 (Π½Π°Π·Π²Π°Π½ΠΈΠ΅ часового пояса Π² Π‘Π” TZ) для IPv6;
  • Π’ udhcpd Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° статичСских привязок ΠΈΠΌΡ‘Π½ хостов ΠΊ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ;
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹Ρ… ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°Ρ… ash ΠΈ hush Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ числовыС Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ Β«BASE#nnnnΒ». ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° ΠΊ совмСстимости с bash рСализация ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ulimit, Π² Ρ‚ΠΎΠΌ числС Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΎΠΏΡ†ΠΈΠΈ Β«-i RLIMIT_SIGPENDINGΒ» ΠΈ Β«-q RLIMIT_MSGQUEUEΒ». Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Β«wait -nΒ». Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ совмСстимыС с bash ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ EPOCH;
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ΅ hush Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° пСрСмСнная Β«$-Β«, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ пСрСчислСны Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΎΠΏΡ†ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ;
  • Π’ bc ΠΈΠ· upstream пСрСнСсён ΠΊΠΎΠ΄ для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠΎ ссылкС, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° void-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ со значСниями ibase Π΄ΠΎ 36;
  • Π’ brctl всС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½Ρ‹ Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ с использованиСм псСвдо-Π€Π‘ /sys;
  • ΠžΠ±ΡŠΠ΅Π΄ΠΈΠ½Ρ‘Π½ ΠΊΠΎΠ΄ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ fsync ΠΈ sync;
  • Π£ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½Π° рСализация httpd. Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° HTTP-Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ прокси. Π’ список MIME-Ρ‚ΠΈΠΏΠΎΠ² Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ SVG ΠΈ JavaScript;
  • Π’ losetup Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция Β«-cΒ» (ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΏΠ΅Ρ€Π΅ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Ρ„Π°ΠΉΠ»Π°, связанного c loop-устройством), Π° Ρ‚Π°ΠΊΠΆΠ΅ опция для сканирования Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ². Π’ mount ΠΈ losetup обСспСчСна ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ с использованиСм /dev/loop-control;
  • Π’ ntpd Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ SLEW_THRESHOLD ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΎ с 0.125 Π΄ΠΎ 0.5;
  • Π’ sysctl Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° присвоСния пустых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ;
  • Π’ watch Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π΄Ρ€ΠΎΠ±Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² ΠΎΠΏΡ†ΠΈΠΈ Β«-n SECΒ»;
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ запуска mdev Π² Ρ„ΠΎΡ€ΠΌΠ΅ Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠ³ΠΎ процСсса;
  • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π΅ wget Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Ρ„Π»Π°Π³ Β«-oΒ» для опрСдСлСния Ρ„Π°ΠΉΠ»Π° для записи Π»ΠΎΠ³Π°. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ увСдомлСния ΠΎ Π½Π°Ρ‡Π°Π»Π΅ ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ;
  • Π’ telnetd Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ AYT IAC;
  • Π’ vi Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° β€˜dG'(ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ содСрТимого ΠΎΡ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ строки Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° Ρ„Π°ΠΉΠ»Π°);
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ dd Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция β€˜oflag=append’;
  • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ top Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Ρ„Π»Π°Π³ β€˜-H’ для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ€Π΅ΠΆΠΈΠΌΠ° сканирования ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ².

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π΄Π²Π΅ Π½Π΅Π΄Π΅Π»ΠΈ Π½Π°Π·Π°Π΄ nahitabo buhian Toybox 0.8.1, usa ka analogue sa BusyBox, nga gimugna sa kanhi BusyBox maintainer ug giapod-apod ubos sa lisensya sa BSD. 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. Sumala sa mga kapabilidad sa Toybox hangtod karon naulahi ΠΎΡ‚ BusyBox, Π½ΠΎ ΡƒΠΆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ 188 Π±Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΠ· 220 Π·Π°ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ….

Lakip sa mga inobasyon sa Toybox 0.8.1 atong mamatikdan:

  • Достигнут ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, достаточный для сборки Android Π² ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ Π½Π° Π±Π°Π·Π΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ Toybox.
  • Π’ состав Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ mcookie ΠΈ devmem, ΠΈΠ· тСстовой Π²Π΅Ρ‚ΠΊΠΈ пСрСнСсСны пСрСписанныС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ tar, gunzip ΠΈ zcat.
  • Для тСстирования ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° новая рСализация vi.
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ find Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΠΏΡ†ΠΈΠΉ Β«-wholename/-iwholenameΒ»,
    Β«-printfΒ» ΠΈ Β«-contextΒ»;

  • Π’ grep Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция Β«β€”exclude-dirΒ»;
  • Π’ echo появилась ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΠΏΡ†ΠΈΠΈ Β«-EΒ».
  • Π’ mount Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Β«UUIDΒ».
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ date Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΡƒΡ‡Ρ‘Ρ‚ часового пояса, Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ окруТСния TZ.
  • Π’ sed Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² (+N).
  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π° Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄Π° ps, top ΠΈ iotop.

Source: opennet.ru

Idugang sa usa ka comment