Lage yon seri minimalist nan sèvis piblik BusyBox 1.35

Yo prezante liberasyon BusyBox 1.35 pake a ak aplikasyon yon seri sèvis piblik estanda UNIX, ki fèt kòm yon sèl dosye ègzèkutabl epi ki optimize pou konsomasyon minimòm resous sistèm ak yon gwosè seri mwens pase 1 MB. Premye lage nouvo branch 1.35 la pozisyone kòm enstab; estabilizasyon konplè yo pral bay nan vèsyon 1.35.1, ki espere nan apeprè yon mwa. Kòd pwojè a distribye anba lisans GPLv2.

Nati modilè BusyBox fè li posib pou kreye yon sèl fichye ègzèkutabl inifye ki gen yon seri sèvis piblik abitrè aplike nan pake a (chak sèvis piblik disponib sou fòm yon lyen senbolik nan dosye sa a). Gwosè, konpozisyon ak fonksyonalite koleksyon sèvis piblik yo ka varye selon bezwen ak kapasite platfòm entegre pou asanble a ap fèt. Pake a se endepandan; lè yo bati statikman ak uclibc, pou kreye yon sistèm k ap travay sou tèt nwayo Linux la, ou sèlman bezwen kreye plizyè fichye aparèy nan anyè /dev epi prepare fichye konfigirasyon yo. Konpare ak lage anvan an 1.34, konsomasyon RAM nan asanble BusyBox 1.35 tipik la ogmante pa 1726 bytes (ki soti nan 1042344 a 1044070 bytes).

BusyBox se zouti prensipal la nan batay kont vyolasyon GPL nan firmwèr. Software Freedom Conservancy (SFC) ak Software Freedom Law Center (SFLC), sou non devlopè BusyBox yo, te repete avèk siksè enfliyanse konpayi ki pa bay aksè a kòd sous pwogram GPL yo, tou de atravè tribinal yo ak pa deyò. -akò tribinal yo. An menm tan an, otè a nan BusyBox fòtman objè yo nan pwoteksyon sa yo - kwè ke li kraze biznis li.

Chanjman sa yo make nan 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».

Sous: opennet.ru

Add nouvo kòmantè