Релиз на минималистичния набор от системни утилити BusyBox 1.32

Представено издание на пакета BusyBox 1.32 с реализация на стандартен набор от утилити UNIX, оформени в единствен изпълним файл и оптимизирани за минимално потребление на системни ресурси при размер на пакета под 1 Мб. Първото издание на новата версия 1.32 се позиционира като нестабилно, пълната стабилизация ще бъде осигурена в версия 1.32.1, която се очаква да излезе след около месец. Кодът на проекта се разпространява под лицензия GPLv2.

Модулният характер на BusyBox позволява да бъде съставен един унифициран изпълним файл, съдържащ произволен набор от утилити, реализирани в пакета (всяка утилита е достъпна под формата на символна връзка към този файл). Размерът, съставът и функционалността на колекцията от утилити могат да варират в зависимост от нуждите и възможностите на вградената платформа, за която се прави сборката. Пакетът е самостоятелен, при статична компилация с uclibc, за създаването на работна система над ядрото на Linux е необходимо само да се създадат няколко файла за устройства в директорията /dev и да се подготвят конфигурационните файлове. В сравнение с предишното издание 1.31, потреблението на оперативна памет при типичната сборка на BusyBox 1.32 е увеличено с 3590 байта (от 1011750 до 1015340 байта).

BusyBox е основният инструмент в борбата с нарушенията на GPL в фърмуерите. Организациите Software Freedom Conservancy (SFC) и Software Freedom Law Center (SFLC) от името на разработчиците на BusyBox успешно изиграват роля както чрез съд, така и чрез достигнати извънсъдебни споразумения, многократно оказваха влияние върху компании, които не предоставят достъп до изходния код на GPL-програмите. В същото време авторът на BusyBox изцяло се противопоставя на такава защита — смятайки, че тя му нарушава бизнеса.

В версията BusyBox 1.32 се открояват следните промени:

  • Добавена е нова команда mim за изпълнение на скриптове от зададен файл Mimfile (нещо като опростена утилита make);
  • В утилитата find е добавена опция „-empty“ за проверка на празни файлове;
  • В утилитата wget е разширен лимитът на броя пренасочвания и е реализирана поддръжка на проверка на сертификати TLS при сбой с ENABLE_FEATURE_WGET_OPENSSL;
  • В grep е добавена коректна поддръжка на списък от шаблони (pattern_list) и е добавена опция „-R“ (рекурсивна обработка на съдържанието на директория);
  • Решени са проблеми, проявяващи се при компилация с Clang 9, и са отстранени предупрежденията на компилатора.
  • Предложени са значителни поправки в командните обвивки ash и hush, насочени към подобряване на съвместимостта с други обвивки. В ash и hush е добавена функция за автоматично завършване на вградените команди с табулация. В ash са стабилизирани новите вградени команди.
  • В утилита fdisk е добавена поддръжка на HFS и HFS+ дялове;
  • В init е подобрена обработката на състояния на състезание при получаване на сигнали;
  • В утилитата за визуален мониторинг на параметри на системата nmeter е добавен формат на изхода «%NT» (изравнено време с нули);
  • В taskset е добавена възможност за обработка и изведени списък с CPU (опция «-c»);
  • В tar е променено поведението на опцията «-a», която вместо да активира компресия «lzma», сега е свързана с автоматично определяне на разширение на файла;
  • В udhcpc6 е добавена поддръжка на режим «stateless» за DHCPv6 (сървърът предоставя само параметри на мрежата, без назначаване на адрес);
  • В nslookup е осигурена обработка на отговори без записи RR и е добавена поддръжка на записи SRV;
  • В brctl са добавени нови команди «showmacs» и «showstp»;
  • В dhcpc е добавена поддръжка на параметъра «relay server»;
  • В syslogd е добавена настройка за показване на време с милисекундна точност;
  • В httpd при работа в режим NOMMU е разрешена настройка на друг домашен каталог и е осигурена работа на опцията ‘-h’ при стартиране на фонов процес;
  • В xargs е изгладена обработка на аргументи, заключени в кавички, и е осигурено коректно поведение на опцията «-n»;
  • Коригирани са недостатъците в утилитите grep, top, dc, gzip, awk, bc, ntpd, pidof, stat, telnet, tftp, whois, unzip, chgrp, httpd, vi, route.

Освен това, миналия месец се състоя релиз Toybox 0.8.3, аналог на BusyBox, развиван от бившия поддържащ BusyBox и разпространяем под лиценза BSD. Основното предназначение на Toybox е да предостави на производителите възможността да ползват минималистичен набор от стандартни утилити без да отварят изходния код на модифицираните компоненти. По функционалност Toybox все още отстъпва на BusyBox, но вече са реализирани 272 основни команди (204 напълно и 68 частично) от 343 планирани.

От новините в Toybox 0.8.3 можем да отбележим:

  • Добавени са нови команди rtcwake, blkdiscard, getopt и readelf;
  • В «make root» е осигурена възможността за създаване на работна зареждаща среда само на базата на ядрото на Linux и утилитите Toybox, която може да бъде заредена с помощта на собствен init-скрипт;
  • Добавена начална поддръжка на модули с отделни реализации на утилити, които не са част от основния състав на ToyBox;
  • Командният интерпретатор toysh е готов на 80% (в момента липсва поддръжка на функции, история, управление на терминал, job-задания, $((math)), шаблони);
  • Добавена е поддръжка на допълнителни опции в различни утилити, включително patch, cal, cp, mv, lsattr, chattr, ls, id, netcat и setsid.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster