Verëffentlechung vun engem minimalistesche Set vu System Utilities BusyBox 1.35

D'Verëffentlechung vum BusyBox 1.35 Package gëtt mat der Ëmsetzung vun enger Rei vu Standard UNIX Utilities presentéiert, entworf als eenzeg ausführbar Datei an optimiséiert fir de minimale Verbrauch vu Systemressourcen mat enger Set Gréisst vu manner wéi 1 MB. Déi éischt Verëffentlechung vun der neier 1.35 Branche ass als onbestänneg positionéiert; Voll Stabiliséierung gëtt an der Versioun 1.35.1 geliwwert, déi an ongeféier engem Mount erwaart gëtt. De Projet Code gëtt ënner der GPLv2 Lizenz verdeelt.

Déi modulär Natur vu BusyBox mécht et méiglech eng vereenegt ausführbar Datei ze kreéieren déi eng arbiträr Set vun Utilities enthält, déi am Package implementéiert sinn (all Utility ass verfügbar a Form vun engem symbolesche Link op dës Datei). D'Gréisst, d'Zesummesetzung an d'Funktionalitéit vun der Sammlung vun Utilities kënne variéiert ginn ofhängeg vun de Bedierfnesser a Fäegkeeten vun der embedded Plattform fir déi d'Versammlung duerchgefouert gëtt. De Package ass selbstänneg; wann statesch mat uclibc gebaut gëtt, fir en Aarbechtssystem uewen um Linux Kernel ze kreéieren, musst Dir nëmmen e puer Apparatdateien am /dev Verzeechnes erstellen an Konfiguratiounsdateien virbereeden. Am Verglach mat der viregter Verëffentlechung 1.34 ass de RAM Konsum vun der typescher BusyBox 1.35 Versammlung ëm 1726 Bytes eropgaang (vun 1042344 op 1044070 Bytes).

BusyBox ass den Haaptinstrument am Kampf géint GPL Verstouss an der Firmware. D'Software Freedom Conservancy (SFC) a Software Freedom Law Center (SFLC), am Numm vun de BusyBox Entwéckler, hunn ëmmer erëm erfollegräich Firmen beaflosst, déi keen Zougang zum Quellcode vu GPL Programmer ubidden, souwuel duerch d'Geriichter an duerch ausserhalb - Geriicht Accorden. Zur selwechter Zäit ass den Auteur vun BusyBox staark géint esou Schutz - ze gleewen datt et säi Geschäft ruinéiert.

Déi folgend Ännerungen ginn am BusyBox 1.35 beliicht:

  • В утилите 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

Setzt e Commentaire