Нашри маҷмӯи минималистии утилитаҳои системавӣ BusyBox 1.35

Нашри бастаи BusyBox 1.35 бо татбиқи маҷмӯи утилитаҳои стандартии UNIX, ки ҳамчун як файли ягонаи иҷрошаванда тарҳрезӣ шудааст ва барои истеъмоли ҳадди ақали захираҳои система бо андозаи муқарраршуда аз 1 МБ оптимизатсия шудааст, пешниҳод карда мешавад. Нашри якуми филиали нави 1.35 ҳамчун ноустувор ҷойгир шудааст; мӯътадилсозии пурра дар версияи 1.35.1 таъмин карда мешавад, ки тақрибан як моҳ интизор аст. Рамзи лоиҳа тибқи иҷозатномаи GPLv2 паҳн карда мешавад.

Хусусияти модулии BusyBox имкон медиҳад, ки як файли ягонаи иҷрошаванда эҷод карда шавад, ки дорои маҷмӯи ихтиёрии утилитаҳои дар баста татбиқшуда мебошад (ҳар як утилита дар шакли истиноди рамзӣ ба ин файл дастрас аст). Андоза, таркиб ва функсияҳои коллексияи хидматрасониҳо вобаста ба ниёзҳо ва имкониятҳои платформаи дарунсохт, ки барои он васлкунӣ анҷом дода мешавад, фарқ кардан мумкин аст. Баста мустақил аст; вақте ки бо uclibc статикӣ сохта шудааст, барои сохтани системаи корӣ дар болои ядрои Linux, шумо танҳо лозим аст, ки дар феҳристи /dev якчанд файлҳои дастгоҳ эҷод кунед ва файлҳои конфигуратсияро омода кунед. Дар муқоиса бо версияи қаблии 1.34, истеъмоли RAM барои маҷмӯи маъмулии BusyBox 1.35 1726 байт зиёд шуд (аз 1042344 то 1044070 байт).

BusyBox воситаи асосӣ дар мубориза бо вайронкунии GPL дар нармафзор мебошад. Conservancy Software Freedom (SFC) ва Center Law Freedom Software (SFLC) аз номи таҳиягарони BusyBox, борҳо ба ширкатҳое таъсир расониданд, ки дастрасӣ ба коди сарчашмаи барномаҳои GPL-ро ҳам тавассути судҳо ва ҳам тавассути берун аз берун таъмин намекунанд. - созишномаҳои судӣ. Ҳамзамон, муаллифи BusyBox ба чунин муҳофизат шадидан эътироз мекунад - боварӣ дорад, ки он тиҷорати ӯро хароб мекунад.

Тағироти зерин дар BusyBox 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».

Манбаъ: opennet.ru

Илова Эзоҳ