Hoʻokuʻu i kahi hoʻonohonoho minimalistic o nā pono ʻōnaehana BusyBox 1.35

Hōʻike ʻia ka hoʻokuʻu ʻana o ka puʻupuʻu BusyBox 1.35 me ka hoʻokō ʻana i kahi hoʻonohonoho o nā pono UNIX maʻamau, i hoʻolālā ʻia e like me kahi faila hoʻokō hoʻokahi a hoʻopaʻa ʻia no ka liʻiliʻi o ka hoʻohana ʻana i nā kumuwaiwai ʻōnaehana me ka nui o ka liʻiliʻi ma mua o 1 MB. ʻO ka hoʻokuʻu mua ʻana o ka lālā 1.35 hou i hoʻonohonoho ʻia e like me unstable; e hāʻawi ʻia ka hoʻonohonoho piha ʻana ma ka mana 1.35.1, i manaʻo ʻia ma kahi o hoʻokahi mahina. Hāʻawi ʻia ke code papahana ma lalo o ka laikini GPLv2.

ʻO ke ʻano modular o BusyBox ka mea hiki ke hana i hoʻokahi faila hoʻokō i hui pū ʻia me kahi hoʻonohonoho pono ʻole o nā pono hana i hoʻokō ʻia i loko o ka pūʻolo (loaʻa kēlā me kēia pono ma ke ʻano o kahi loulou hōʻailona i kēia faila). Hiki ke hoʻololi ʻia ka nui, ka haku mele a me ka hana o ka hōʻiliʻili ʻana i nā pono ma muli o nā pono a me nā hiki o ka paepae i hoʻokomo ʻia kahi e hana ʻia ai ka hui. Aia ka puʻupuʻu iā ia iho; ke kūkulu ʻia me ka uclibc, e hana i kahi ʻōnaehana hana ma luna o ka kernel Linux, pono ʻoe e hana i kekahi mau faila ma ka papa kuhikuhi / dev a hoʻomākaukau i nā faila hoʻonohonoho. Hoʻohālikelike ʻia i ka hoʻokuʻu mua ʻana 1.34, ua hoʻonui ʻia ka hoʻohana ʻana o RAM o ka hui BusyBox 1.35 maʻamau e 1726 bytes (mai 1042344 a 1044070 bytes).

ʻO BusyBox ka mea hana nui i ka hakakā ʻana i nā hewa GPL ma firmware. ʻO ka Software Freedom Conservancy (SFC) a me Software Freedom Law Center (SFLC), ma ka ʻaoʻao o nā mea hoʻomohala BusyBox, ua hoʻoikaika mau i nā ʻoihana i hāʻawi ʻole i ke komo i ke kumu kumu o nā papahana GPL, ma o nā ʻaha a ma waho. -ʻaelike hoʻokolokolo. I ka manawa like, ke kūʻē ikaika nei ka mea kākau o BusyBox i kēlā pale - me ka manaʻoʻiʻo e hōʻino ana i kāna ʻoihana.

Hōʻike ʻia nā hoʻololi aʻe ma 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».

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka