Релиз минималистичного набора системных утилит BusyBox 1.34

Представлен релиз пакета BusyBox 1.34 с реализацией набора стандартных утилит UNIX, оформленных в виде единого исполняемого файла и оптимизированных для минимального потребления системных ресурсов при размере комплекта менее 1 Мб. Первый выпуск новой ветки 1.34 позиционируется как нестабильный, полная стабилизация будет обеспечена в версии 1.34.1, которая ожидается примерно через месяц. Код проекта распространяется под лицензией GPLv2.

Модульный характер BusyBox даёт возможность сформировать один унифицированный исполняемый файл, содержащий в себе произвольный набор реализованных в пакете утилит (каждая утилита доступна в форме символической ссылки на данный файл). Размер, состав и функциональность коллекции утилит можно варьировать в зависимости от потребностей и возможностей встраиваемой платформы, для которой осуществляется сборка. Пакет самодостаточный, при статической сборке с uclibc для создания рабочей системы поверх ядра Linux требуется лишь создать несколько файлов устройств в директории /dev и подготовить файлы конфигурации. По сравнению с прошлым выпуском 1.33 потребление оперативной памяти типовой сборкой BusyBox 1.34 увеличилось на 9620 байт (с 1032724 до 1042344 байт).

BusyBox является основным инструментом в борьбе с нарушением GPL в прошивках. Организации Software Freedom Conservancy (SFC) и Software Freedom Law Center (SFLC) от лица разработчиков BusyBox как через суд, так и путём заключения внесудебных соглашений неоднократно успешно воздействовала на компании, не предоставляющие доступ к исходному коду GPL-программ. В то же время автор BusyBox всячески возражает против такой защиты — считая что она ломает ему бизнес.

В версии BusyBox 1.34 выделяются следующие изменения:

  • Добавлена новая утилита ascii c интерактивной таблицей имён ASCII-символов.
  • Добавлена новая утилита crc32 для подсчёта контрольных сумм.
  • Во встроенном http-сервере реализована поддержка методов DELETE, PUT и OPTIONS.
  • В udhcpc предоставлена возможность смены имени сетевого интерфейса по умолчанию.
  • В реализации протоколов TLS появилась поддержка эллиптических кривых secp256r1 (P256)
  • Продолжено развитие командных оболочек ash и hush. В hush обработка команды ^D приведена в соответствие с поведением ash и bash, реализована специфичная для bash конструкция $’str’, проведена оптимизация операций замены ${var/pattern/repl}.
  • Внесена большая порция исправлений и улучшений в реализацию утилиты awk.
  • В утилиты base32 и base64 добавлена опция «-i» для игнорирования некорректных символов.
  • В утилитах bc и dc обработка переменных окружения BC_LINE_LENGTH и DC_LINE_LENGTH приближена к утилитам GNU.
  • В утилиту blockdev добавлены опции —getra и —setra.
  • В утилиты chattr и lsattr добавлена опция «-p». В lsattr расширено число поддерживаемых флагов ФС ext2.
  • В утилиту cp добавлены опции «-n» (запрет перезаписи) и «-t DIR» (задание целевого каталога).
  • В cpio налажена работа конструкции «cpio -d -p A/B/C».
  • В утилиту df добавлена опция «-t TYPE» (ограничение вывода определённым типом ФС).
  • В утилиту du добавлена опция -b (эквивалент ‘—apparent-size —block-size=1’).
  • В утилиту env добавлена опция «-0» (завершение каждой строки символом с нулевым кодом).
  • В утилиту free добавлена опция «-h» (вывод в читаемом виде).
  • В утилиту ionice добавлена опция «-t» (игнорирование сбоев).
  • В утилите login реализована поддержка переменной окружения LOGIN_TIMEOUT.
  • В утилиту mv добавлены опции «-t» (определение целевого каталога для перемещения) и «-T» (обработка второго аргумента как файла).
  • В утилиту shred добавлена опция «-s SIZE» (число очищаемых байт).
  • В утилиту taskset добавлена опция «-a» (применение привязки к CPU для всех потоков процесса).
  • В утилитах timeout, top, watch и ping реализована поддержка нецелых значений (NN.N).
  • В утилиту uniq добавлена опция «-z» (использование символа с нулевым кодом в качестве разделителя).
  • В утилиту unzip добавлена опция «-t» (проверка архива).
  • В редакторе vi разрешено использование регулярных выражений в команде ‘:s’. Добавлен параметр expandtab. Улучшены реализации перемещения между параграфами, выбора диапазонов и отката изменений.
  • В утилите xxd реализованы опции -i (вывод в стиле Си) и «-o DISPLAYOFFSET».
  • В утилите wget разрешена обработка кодов HTTP 307/308 для редиректа. Добавлена опция FEATURE_WGET_FTP для включения/отключения поддержки FTP.
  • В утилите dd добавлена опция «iflag=count_bytes».
  • В утилите cut реализованы совместимые с инструментарием toybox опции «-O OUTSEP», «-D» и «-F LIST».

Источник: opennet.ru

Добавить комментарий