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

Модульный характер BusyBox даёт возможность сформировать один унифицированный исполняемый файл, содержащий в себе произвольный набор реализованных в пакете утилит (каждая утилита доступна в форме символической ссылки на данный файл). Размер, состав и функциональность коллекции утилит можно варьировать в зависимости от потребностей и возможностей встраиваемой платформы, для которой осуществляется сборка. Пакет самодостаточный, при статической сборке с uclibc для создания рабочей системы поверх ядра Linux требуется лишь создать несколько файлов-устройств в директории /dev и подготовить файлы конфигурации. По сравнению с прошлым выпуском 1.22.1 потребление оперативной памяти типовой сборкой BusyBox 1.23.0 увеличилось на 3 Кб (с 880918 до 883885 байт).

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

Среди заметных улучшений:

  • Добавлены новые команды fatattr и unlink;
  • В ftpd добавлена поддержка аутентификации, обеспечен показ начинающихся с точки файлов в выводе команды LIST, добавлена поддержка команды XPWD;
  • В vi обеспечена поддержка отката изменений (undo);
  • Во wget добавлена поддержка https с использованием "openssl s_client";
  • В df добавлена опция "-T" для вывода типа файловой системы;
  • В find добавлена поддержка конструкции '-exec ... {} +' и опции "-perm /BITS";
  • Реализован фреймворк unit-tests для проведения unit-тестирования;
  • В crond добавлена возможность указания "SHELL=prog" в crontab, упрощён код для ведения лога;
  • В ash и hush увеличено качество случайных значений в переменной $RANDOM, реализована очистка переменной при выполнении "local VAR", добавлена поддержка unicode в выражении ${#var};
  • В awk решены проблемы с обработкой выражений "if ... break ; else ...";
  • В ntpd добавлена поддержка чтения настроек из /etc/ntp.conf, добавлена опция "-I IFACE";
  • В процессе init, при использовании системной библиотеки с поддержкой Unicode, обеспечено выполнение при запуске setlocale(LC_ALL, "");
  • В утилите install реализована опция "-t DIR" для указания целевой директории;
  • В ip link добавлена поддержка "address ETHADDR";
  • В libarchive добавлена поддержка распаковки в mem.buffer;
  • В man добавлен разбор списка директорий в $MANPATH и по умолчанию применена кодировка ascii;
  • В sendmail параметр "-f" переведён в число опциональных (по умолчанию в качестве отправителя указывается текущий логин и домен);
  • В tftpd добавлена поддержка полных 512-байтовых запросов;
  • В xargs добавлена поддержка опций "-I" и "-i" для замены строк;
  • В ping добавлена опция "-p" для указания шаблона заполнения 16-байтовой области данных в пакете;
  • В udhcp добавлена поддержка префикса PXELINUX и возможность тонкой настройки arpping;
  • В ifupdown добавлена поддержка семейства адресов 'link';
  • В wapon добавлена опция "-d" для включения поддержки discard;
  • В su обеспечена задержка после ввода неправильного пароля;
  • Переписана реализация команды which.


Источник: http://www.opennet.ru/opennews/art.shtml?num=41335