Kuburitswa kweiyo minimalistic seti yezvishandiso zvehurongwa BusyBox 1.35

Kuburitswa kweBusyBox 1.35 package inounzwa nekumisikidzwa kweseti yezvakajairwa UNIX zvinoshandiswa, zvakagadzirirwa senge faira rimwechete rinogoneka uye rakagadziridzwa kushandiswa kushoma kwehurongwa zviwanikwa nehukuru hwakatarwa husingasviki 1 MB. Kuburitswa kwekutanga kwebazi idzva re1.35 kwakaiswa sekusina kugadzikana; kudzikamisa kwakazara kuchapihwa mushanduro 1.35.1, inotarisirwa mukati memwedzi. Iyo kodhi yeprojekiti yakagoverwa pasi peGPLv2 rezinesi.

Iyo modular hunhu hweBusyBox inoita kuti zvikwanise kugadzira imwe yakabatana inotepfenyurwa faira ine inopokana seti yezvishandiso zvinoshandiswa mupakeji (zvese zvinoshandiswa zvinowanikwa muchimiro chechiratidzo chinongedzo kune iyi faira). Saizi, kuumbwa uye kushanda kwekuunganidzwa kwezvishandiso zvinogona kusiyanisa zvichienderana nezvinodiwa uye kugona kwepuratifomu yakamisikidzwa iyo gungano iri kuitirwa. Iyo pasuru inozvimiririra; kana yakavakirwa statically neuclibc, kugadzira iyo inoshanda sisitimu pamusoro peLinux kernel, iwe unongoda kugadzira akati wandei mafaira emudziyo mu / dev dhairekitori uye gadzirira mafaera ekugadzirisa. Kuenzaniswa neyakamboburitswa 1.34, iyo RAM kushandiswa kweyakajairwa BusyBox 1.35 gungano yakawedzera ne1726 bytes (kubva pa1042344 kusvika 1044070 bytes).

BusyBox ndicho chishandiso chikuru mukurwisa kutyorwa kweGPL mune firmware. Iyo Software Freedom Conservancy (SFC) neSoftware Freedom Law Center (SFLC), yakamirira vagadziri veBusyBox, yagara ichipesvedzera makambani asingapi mukana weiyo source code yeGPL zvirongwa, zvese kuburikidza nematare uye kunze kwe - zvibvumirano zvedare. Panguva imwecheteyo, munyori weBusyBox anoramba zvakasimba kudzivirira kwakadaro - achitenda kuti zvinoparadza bhizinesi rake.

Shanduko dzinotevera dzinoratidzwa muBusyBox 1.35:

  • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π΅ find Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° опция Β«-samefile имя» для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ использованиСм Π² Ρ„Π°ΠΉΠ»Π΅ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ inode, Ρ‡Ρ‚ΠΎ ΠΈ Ρƒ Ρ„Π°ΠΉΠ»Π° с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ. Π£Π½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½ ΠΊΠΎΠ΄ для сравнСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΎΠΏΡ†ΠΈΠΈ Β«-aminΒ», Β«-atimeΒ», Β«-cminΒ» ΠΈ Β«-ctimeΒ» для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ доступа ΠΈ создания Ρ„Π°ΠΉΠ»Π°.
  • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ mktemp Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция Β«β€”tmpdirΒ» для указания Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°, ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ ΠΏΡƒΡ‚ΠΈ, связанныС с Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ.
  • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ cpio Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΎΠΏΡ†ΠΈΠΈ Β«β€”ignore-devnoΒ» для игнорирования Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π½ΠΎΠΌΠ΅Ρ€Π° устройства (всСгда записываСтся 0) ΠΈ Β«β€”renumber-inodesΒ» для пСрСнумСрования inode ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ΠΌ Π² Π°Ρ€Ρ…ΠΈΠ².
  • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π΅ awk Π½Π°Π»Π°ΠΆΠ΅Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° выраТСния Β«printf %%Β».
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΠΎΠΊΠΎΠ»ΠΎ дСсятка ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ libbb. Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π° ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ realpath с Π°Π½Π°Π»ΠΎΠ³ΠΎΠΌ ΠΈΠ· Π½Π°Π±ΠΎΡ€Π° coreutils.
  • ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° большая порция исправлСний Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹Ρ… ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°Ρ… ash ΠΈ hush, Π½Π°Ρ†Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π½Π° ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ совмСстимости с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°ΠΌΠΈ. Π’ ash Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° bash-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ERR trap, set -E ΠΈ $FUNCNAME, Π° Ρ‚Π°ΠΊΠΆΠ΅ ускорСно ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ строк ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ выраТСния Β«${s:}Β». Π’ ash ΠΈ hush ускорСно Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Β«${x//\*/|}Β».
  • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π΅ basename Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΎΠΏΡ†ΠΈΠΈ Β«-aΒ» для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΈΠΌΡ‘Π½ ΠΏΡ€ΠΈ ΠΎΠ΄Π½ΠΎΠΌ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΈ Β«-s SUFFIXΒ» для удалСния ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Ρ… символов Β«SUFFIXΒ».
  • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ blkdiscard Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция Β«-fΒ» (force).
  • Π’ httpd ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π° ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² Last-Modified / ETag / Content-Length для страниц с ошибками.
  • Π’ httpd ΠΈ telnetd прСдоставлСна Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ измСнСния сСтСвого ΠΏΠΎΡ€Ρ‚Π° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.
  • Π’ tar устранСна ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ, приводящая ΠΊ Ρ€Π°ΡΡ…ΠΎΠ΄ΠΎΠ²Π°Π½ΠΈΡŽ всСй доступной памяти ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π°Ρ€Ρ…ΠΈΠ²ΠΎΠ² с ΠΎΡ‡Π΅Π½ΡŒ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ².
  • Π’ ΠΊΠΎΠ΄Π΅ TLS ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»Π°Π½Π° рСализация P256 ΠΈ x25519.
  • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π΅ wget Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° опция Β«β€”post-fileΒ» для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ содСрТимоС Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° Content-Type для ΠΎΠΏΡ†ΠΈΠΉ Β«β€”post-dataΒ» ΠΈ Β«β€”post-fileΒ».
  • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ timeout Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΠΏΡ†ΠΈΠΈ Β«-k KILL_SECSΒ» для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ сигнала SIGKILL, Ссли ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠΈΠ»Π°ΡΡŒ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… KILL_SECS сСкунд.
  • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ ip Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° установки ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° netns для устройств.
  • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π΅ cal Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° опция Β«-mΒ» для отобраТСния Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ мСсяца.
  • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°Ρ… date ΠΈ touch Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ смСщСния часового пояса Π² Π΄Π°Ρ‚Π°Ρ….
  • Π’ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ vi Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ„Π°ΠΉΠ»Π° ~/.exrc, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Β«-cΒ» ΠΈ EXINIT.
  • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π΅ ed Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния ΠΊΠΎΠΌΠ°Π½Π΄ read/write ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½ Π² соотвСтствиС со спСцификациСй POSIX-1.2008. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΠΏΡ†ΠΈΠΈ Β«-pΒ».
  • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ cmp Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция Β«-n NΒ» для ограничСния сравнСния N-Π±Π°ΠΉΡ‚Π°ΠΌΠΈ.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, нСсколько Π΄Π½Π΅ΠΉ Π½Π°Π·Π°Π΄ состоялся Ρ€Π΅Π»ΠΈΠ· Toybox 0.8.6, Π°Π½Π°Π»ΠΎΠ³Π° BusyBox, Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ Π±Ρ‹Π²ΡˆΠΈΠΌ мэйнтСйнСром BusyBox ΠΈ распространяСмого ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ 0BSD. ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Toybox являСтся прСдоставлСниС производитСлям возмоТности использования минималистичного Π½Π°Π±ΠΎΡ€Π° стандартных ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ Π±Π΅Π· открытия исходных тСкстов ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². По возмоТностям Toybox ΠΏΠΎΠΊΠ° отстаёт ΠΎΡ‚ BusyBox, Π½ΠΎ ΡƒΠΆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ 296 Π±Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ (217 ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈ 83 частично) ΠΈΠ· 374 Π·Π°ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ….

Из Π½ΠΎΠ²ΡˆΠ΅ΡΡ‚Π² Toybox 0.8.6 ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ скриптов для создания систСмных ΠΎΠ±Ρ€Π°Π·ΠΎΠ², Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ sha256sum, sha224sum, sha384sum, sha512sum, linux32, strace ΠΈ hexdump. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΎΠΏΡ†ΠΈΠΈ Β«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

Voeg