Rilaxx ta' sett minimalistiku ta' utilitajiet tas-sistema BusyBox 1.35

Ir-rilaxx tal-pakkett BusyBox 1.35 huwa ppreżentat bl-implimentazzjoni ta 'sett ta' utilitajiet UNIX standard, iddisinjati bħala fajl eżekutibbli wieħed u ottimizzati għal konsum minimu ta 'riżorsi tas-sistema b'daqs stabbilit ta' inqas minn 1 MB. L-ewwel rilaxx tal-fergħa l-ġdida 1.35 hija pożizzjonata bħala instabbli; stabbilizzazzjoni sħiħa se tiġi pprovduta fil-verżjoni 1.35.1, li hija mistennija f'madwar xahar. Il-kodiċi tal-proġett huwa mqassam taħt il-liċenzja GPLv2.

In-natura modulari ta' BusyBox tagħmilha possibbli li jinħoloq fajl eżekutibbli wieħed unifikat li jkun fih sett arbitrarju ta' utilitajiet implimentati fil-pakkett (kull utilità hija disponibbli fil-forma ta' link simboliku għal dan il-fajl). Id-daqs, il-kompożizzjoni u l-funzjonalità tal-ġbir ta 'utilitajiet jistgħu jiġu varjati skond il-ħtiġijiet u l-kapaċitajiet tal-pjattaforma inkorporata li għaliha qed jitwettaq l-assemblaġġ. Il-pakkett huwa awtonomu; meta jinbena b'mod statiku ma' uclibc, biex tinħoloq sistema ta' ħidma fuq il-qalba tal-Linux, għandek bżonn biss li toħloq diversi fajls tal-apparat fid-direttorju /dev u tipprepara fajls ta' konfigurazzjoni. Meta mqabbel mar-rilaxx preċedenti 1.34, il-konsum RAM tal-assemblaġġ tipiku BusyBox 1.35 żdied bi 1726 bytes (minn 1042344 għal 1044070 bytes).

BusyBox hija l-għodda ewlenija fil-ġlieda kontra l-ksur tal-GPL fil-firmware. Is-Software Freedom Conservancy (SFC) u s-Software Freedom Law Centre (SFLC), f’isem l-iżviluppaturi BusyBox, influwenzaw b’suċċess b’mod ripetut kumpaniji li ma jipprovdux aċċess għall-kodiċi sors tal-programmi GPL, kemm permezz tal-qrati kif ukoll permezz ta’ barra. -ftehim tal-qorti. Fl-istess ħin, l-awtur ta 'BusyBox joġġezzjona bil-qawwa għal tali protezzjoni - jemmen li tħassar in-negozju tiegħu.

Il-bidliet li ġejjin huma enfasizzati f'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».

Sors: opennet.ru

Żid kumment