Rhyddhau set finimalaidd o gyfleustodau system BusyBox 1.31

A gyflwynwyd gan rhyddhau pecyn Blwch Prysur 1.31 gyda gweithredu set o gyfleustodau UNIX safonol, wedi'u cynllunio fel un ffeil gweithredadwy ac wedi'i optimeiddio ar gyfer y defnydd lleiaf posibl o adnoddau system gyda maint penodol o lai nag 1 MB. Mae datganiad cyntaf y gangen newydd 1.31 wedi'i leoli'n ansefydlog, bydd sefydlogiad llawn yn cael ei ddarparu yn fersiwn 1.31.1, a ddisgwylir mewn tua mis. Mae cod y prosiect yn cael ei ddosbarthu o dan y drwydded GPLv2.

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

BusyBox yw'r prif offeryn yn y frwydr yn erbyn troseddau GPL mewn firmware. Y Gwarchodaeth Rhyddid Meddalwedd (SFC) a'r Ganolfan Cyfraith Rhyddid Meddalwedd (SFLC) ar ran datblygwyr BusyBox, y ddau drwy llys, ac fel hyn casgliadau mae cytundebau y tu allan i'r llys wedi dylanwadu'n llwyddiannus dro ar Γ΄l tro ar gwmnΓ―au nad ydynt yn darparu mynediad at god ffynhonnell rhaglenni GPL. Ar yr un pryd, mae awdur BusyBox yn gwneud ei orau i gwrthrychau yn erbyn amddiffyniad o'r fath - gan gredu ei fod yn difetha ei fusnes.

Amlygir y newidiadau canlynol yn 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’ для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ€Π΅ΠΆΠΈΠΌΠ° сканирования ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ².

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π΄Π²Π΅ Π½Π΅Π΄Π΅Π»ΠΈ Π½Π°Π·Π°Π΄ ddigwyddodd rhyddhau Blwch tegan 0.8.1, analog o BusyBox, a ddatblygwyd gan gyn-gynhaliwr BusyBox a dosbarthu dan drwydded BSD. Prif bwrpas Toybox yw rhoi'r gallu i weithgynhyrchwyr ddefnyddio set finimalaidd o gyfleustodau safonol heb agor cod ffynhonnell cydrannau wedi'u haddasu. Yn Γ΄l galluoedd Toybox hyd yn hyn ar ei hΓ΄l hi ΠΎΡ‚ BusyBox, Π½ΠΎ ΡƒΠΆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ 188 Π±Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΠ· 220 Π·Π°ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ….

Ymhlith datblygiadau arloesol Toybox 0.8.1 gallwn nodi:

  • Достигнут ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, достаточный для сборки 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.

Ffynhonnell: opennet.ru

Ychwanegu sylw