BusyBox 1.31 системийн хэрэгслүүдийн минималист багцыг гаргасан

Оруулсан багц хувилбар BusyBox 1.31 1 МБ-аас бага хэмжээтэй системийн нөөцийн хамгийн бага хэрэглээнд зориулж, нэг гүйцэтгэгдэх файл хэлбэрээр бүтээгдсэн стандарт UNIX хэрэгслүүдийн багцыг хэрэгжүүлснээр. Шинэ салбар 1.31-ын анхны хувилбар нь тогтворгүй гэсэн байр суурьтай байгаа бөгөөд 1.31.1 хувилбарт бүрэн тогтворжуулалт хийгдэх бөгөөд энэ нь нэг сарын дараа хүлээгдэж байна. Төслийн кодыг GPLv2 лицензийн дагуу түгээдэг.

BusyBox-ийн модульчлагдсан шинж чанар нь багцад хэрэгжсэн дурын хэрэглүүрүүдийг агуулсан нэг нэгдмэл гүйцэтгэгдэх файл үүсгэх боломжийг олгодог (хэрэгсэл бүрийг энэ файлын симбол холбоос хэлбэрээр авах боломжтой). Хэрэгслийн цуглуулгын хэмжээ, найрлага, функциональ байдал нь угсрах ажлыг гүйцэтгэж буй суулгагдсан платформын хэрэгцээ, боломжоос хамааран өөр өөр байж болно. Уг багц нь бие даасан бөгөөд uclibc-тэй статик байдлаар бүтээгдсэн тохиолдолд Линуксийн цөм дээр ажиллах систем үүсгэхийн тулд та /dev директорт хэд хэдэн төхөөрөмжийн файл үүсгэж, тохиргооны файлуудыг бэлтгэхэд л хангалттай. Өмнөх хувилбар 1.30-тай харьцуулахад ердийн BusyBox 1.31 угсралтын RAM хэрэглээ 86 байт (1008478-аас 1008392 байт хүртэл) буурсан байна.

BusyBox бол програм хангамжийн GPL зөрчлийн эсрэг тэмцэх гол хэрэгсэл юм. BusyBox хөгжүүлэгчдийн нэрийн өмнөөс Програм хангамжийн эрх чөлөөний хамгаалал (SFC) ба Програм хангамжийн эрх чөлөөний хуулийн төв (SFLC) нь шүүх, мөн энэ замаар дүгнэлт Шүүхээс гадуурх гэрээнүүд нь GPL програмын эх код руу нэвтрэх эрх өгдөггүй компаниудад олон удаа амжилттай нөлөөлсөн. Үүний зэрэгцээ BusyBox-ийн зохиогч чадах бүхнээ хийдэг объектууд ийм хамгаалалтын эсрэг - энэ нь түүний бизнесийг сүйрүүлдэг гэж үздэг.

BusyBox 1.31 дээр дараах өөрчлөлтүүдийг онцлон тэмдэглэв.

  • Шинэ командуудыг нэмсэн: ts (TSP (Time-Stamp Protocol) протоколд зориулсан клиент ба серверийг хэрэгжүүлэх) болон i2ctransfer (I2C мессеж үүсгэх, илгээх);
  • Udhcp-д DHCP сонголтуудын дэмжлэгийг нэмсэн 100 (цагийн бүсийн мэдээлэл) болон 101 (TZ мэдээллийн сан дахь цагийн бүсийн нэр) IPv6;
  • Udhcpd дахь үйлчлүүлэгчдэд статик хостын нэрийг холбох дэмжлэг нэмэгдсэн;
  • Үнс болон чимээгүй бүрхүүлүүд нь "BASE#nnnn" тоон утгыг хэрэгжүүлдэг. “-i RLIMIT_SIGPENDING” болон “-q RLIMIT_MSGQUEUE” сонголтуудыг багтаасан ulimit командын хэрэгжилтийг bash-тай нийцтэй болгосон. "Хүлээх -n"-ийн дэмжлэгийг нэмсэн. Bash-тай нийцтэй EPOCH хувьсагчдыг нэмсэн;
  • Hush shell нь анхдагчаар идэвхжүүлсэн бүрхүүлийн сонголтуудыг жагсаасан "$-" хувьсагчийг хэрэгжүүлдэг;
  • Лавлагаагаар утгуудыг дамжуулах кодыг дээд урсгалаас bc руу шилжүүлж, хүчингүй функцүүдийн дэмжлэгийг нэмж, ibase-ийн утгуудтай ажиллах чадварыг 36 хүртэл болгосон;
  • brctl-д бүх тушаалуудыг псевдо-FS /sys ашиглан ажил болгон хувиргасан;
  • fsync болон синхрончлолын хэрэгслүүдийн кодыг нэгтгэсэн;
  • httpd-ийн хэрэгжилт сайжирсан. HTTP толгойн боловсруулалтыг сайжруулж, прокси горимд ажиллана. MIME төрлийн жагсаалтад SVG болон JavaScript орно;
  • Lotuup-д "-c" сонголтыг нэмсэн (хөгжлийн төхөөрөмжтэй холбоотой файлын хэмжээг албадан шалгах), түүнчлэн хуваалтыг сканнердах сонголт. холбох болон алдах нь /dev/loop-control ашиглан ажиллахад дэмжлэг үзүүлдэг;
  • Ntpd-д SLEW_THRESHOLD утгыг 0.125-аас 0.5 болгон нэмэгдүүлсэн;
  • sysctl-д хоосон утгыг оноох дэмжлэг нэмэгдсэн;
  • Үзэх "-n SEC" сонголт дахь бутархай утгуудын дэмжлэгийг нэмсэн;
  • mdev-ийг суурь процесс болгон ажиллуулах чадварыг нэмсэн;
  • Wget хэрэгсэл нь лог бичих файлыг зааж өгөхийн тулд "-o" тугийг хэрэгжүүлдэг. Татаж авах эхлэл, дууссан тухай мэдэгдлүүд нэмэгдсэн;
  • Telnetd-д AYT IAC командын дэмжлэгийг нэмсэн;
  • 'dG' командыг vi дээр нэмсэн (одоо байгаа мөрөөс файлын төгсгөл хүртэлх агуулгыг устгах);
  • dd тушаалд 'oflag=append' сонголтыг нэмсэн;
  • '-H' тугийг тус тусад нь сканнердах горимыг идэвхжүүлэхийн тулд дээд хэрэгсэлд нэмсэн.

Мөн хоёр долоо хоногийн өмнө болсон суллах Тоглоомын хайрцаг 0.8.1, BusyBox-ын аналог бөгөөд хуучин BusyBox засварлагчийн боловсруулсан тараасан BSD лицензийн дагуу. Toybox-ийн гол зорилго нь үйлдвэрлэгчдэд өөрчлөгдсөн бүрэлдэхүүн хэсгүүдийн эх кодыг нээхгүйгээр минималист стандарт хэрэгслүүдийг ашиглах боломжийг олгох явдал юм. Одоогоор Toybox-ын боломжуудын дагуу хоцорч байна BusyBox-аас, гэхдээ төлөвлөсөн 188 үндсэн тушаалаас 220 нь аль хэдийн хэрэгжсэн.

Toybox 0.8.1-ийн шинэчлэлээс дараахь зүйлийг тэмдэглэж болно.

  • Toybox хэрэгслүүд дээр суурилсан орчинд Android-г бүтээхэд хангалттай функциональ түвшинд хүрсэн.
  • Шинэ mcookie болон devmem командууд багтсан бөгөөд дахин бичсэн tar, gunzip, zcat командуудыг туршилтын салбараас зөөв.
  • Vi-ийн шинэ хувилбарыг туршихаар санал болгов.
  • Find команд нь одоо "-wholename/-iwholename" сонголтыг дэмждэг.
    "-printf" ба "-контекст";

  • grep-д "--exclude-dir" сонголтыг нэмсэн;
  • Echo одоо "-E" сонголтыг дэмждэг.
  • Суулгахад "UUID" дэмжлэг нэмсэн.
  • Огноо команд нь одоо TZ орчны хувьсагчд заасан цагийн бүсийг харгалзан үздэг.
  • Харьцангуй мужуудын (+N) sed хүртэлх дэмжлэгийг нэмсэн.
  • ps, top болон iotop гаралтыг унших чадварыг сайжруулсан.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх