מעלדונג פון אַ מינימאַליסטיק גאַנג פון סיסטעם יוטילאַטיז BusyBox 1.35

די מעלדונג פון די BusyBox 1.35 פּעקל איז דערלאנגט מיט די ימפּלאַמענטיישאַן פון אַ סכום פון נאָרמאַל UNIX יוטילאַטיז, דיזיינד ווי אַ איין עקסעקוטאַבלע טעקע און אָפּטימיזעד פֿאַר מינימאַל קאַנסאַמשאַן פון סיסטעם רעסורסן מיט אַ סכום גרייס פון ווייניקער ווי 1 מב. דער ערשטער מעלדונג פון די נייַ 1.35 צווייַג איז פּאַזישאַנד ווי אַנסטייבאַל; פול סטייבאַלאַזיישאַן וועט זיין צוגעשטעלט אין ווערסיע 1.35.1, וואָס איז געריכט אין וועגן אַ חודש. די פּרויעקט קאָד איז פונאנדערגעטיילט אונטער די GPLv2 דערלויבעניש.

די מאַדזשאַלער נאַטור פון BusyBox מאכט עס מעגלעך צו שאַפֿן איין יונאַפייד עקסעקוטאַבלע טעקע מיט אַ אַרביטראַריש גאַנג פון יוטילאַטיז ימפּלאַמענאַד אין דעם פּעקל (יעדער נוצן איז בנימצא אין דער פאָרעם פון אַ סימבאָליש לינק צו דעם טעקע). די גרייס, זאַץ און פאַנגקשאַנאַליטי פון די זאַמלונג פון יוטילאַטיז קענען זיין וועריד דיפּענדינג אויף די באדערפענישן און קייפּאַבילאַטיז פון די עמבעדיד פּלאַטפאָרמע פֿאַר וואָס די פֿאַרזאַמלונג איז דורכגעקאָכט. דער פּעקל איז זיך-קאַנטיינד; ווען געבויט סטאַטיקלי מיט uclibc, צו שאַפֿן אַ ארבעטן סיסטעם אויף שפּיץ פון די לינוקס קערן, איר נאָר דאַרפֿן צו שאַפֿן עטלעכע מיטל טעקעס אין די / דעוו וועגווייַזער און צוגרייטן קאַנפיגיעריישאַן טעקעס. קאַמפּערד צו די פריערדיקע מעלדונג 1.34, די באַראַן קאַנסאַמשאַן פון די טיפּיש BusyBox 1.35 פֿאַרזאַמלונג געוואקסן מיט 1726 ביטעס (פון 1042344 צו 1044070 ביטעס).

BusyBox איז די הויפּט געצייַג אין דעם קאַמף קעגן GPL ווייאַליישאַנז אין פירמוואַרע. די ווייכווארג פרייהייט קאָנסערוואַנסי (SFC) און ווייכווארג פרייהייט געזעץ צענטער (SFLC), אויף ביכאַף פון די בוסיבאָקס דעוועלאָפּערס, האָבן ריפּיטידלי הצלחה ינפלואַנסט קאָמפּאַניעס וואָס טאָן ניט צושטעלן אַקסעס צו די מקור קאָד פון 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

לייגן אַ באַמערקונג