Релиз минималистичного набора системных утилит 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».
Источник: http://www.opennet.ru/opennews/art.shtml? num=55662
© OpenNet