После шести месяцев разработки состоялся стабильный релиз пакета BusyBox 1.27.1 (версия 1.27.0 была отнесена к категории нестабильных) с реализацией набора стандартных утилит UNIX, оформленных в виде единого исполняемого файла и оптимизированных для минимального потребления системных ресурсов при размере комплекта менее 1 Мб. Код проекта распространяется под лицензией GPLv2.

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

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

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

  • Добавлены новые утилиты: link, setpriv, factor, fallocate, fsfreeze, nproc, nl, partprobe, shred, w (аналог "who -H"), xxd, lsscsi, paste;
  • В ftpd добавлен режим анонимного входа, включаемый опцией "-a ANON_USER". При выполнении команды ls в FTP-сеансе обеспечен вывод каталогов в начале списка;
  • В iproute добавлена поддержка фильтрации по параметру scope;
  • В modprobe обеспечено чтение индекса modules.builtin;
  • Включены по умолчанию опции сборки: DPKG=y, DPKG_DEB=y, FEATURE_USERNAME_COMPLETION=y, INSMOD=y и RMMOD=y;
  • Добавлен скрипт make_single_applets.sh для проверки обособленной сборки утилит;
  • В gzip, bzip2 и lzop добавлена опция "-k" (сохранение исходных файлов после распаковки/упаковки);
  • В cryptpw добавлена поддержка задания раундов в поле с солью ("rounds=NNNNNNN$");
  • В httpd добавлена защита от атак, нацеленных на исчерпание доступной памяти;
  • В iplink добавлена настройка "set promisc on|off";
  • В ip обеспечена возможность выбора отдельных IP-алиасов;
  • В iproute добавлена поддержка опции advmss;
  • В pgrep добавлена опция "-a" (вывод полного содержимого командной строки и идентификатора процесса);
  • Утилиты runsv и sv обновлены для соответствия версии runit 2.1.2;
  • В sendmail добавлена возможность указания символа "+" в поле с адресом получателя;
  • В time обеспечена возможность установки формата вывода (-f FMT), добавлены опции "-o FILE" (вывод в файл) и "-a" (добавление в конец вместо перезаписи);
  • В утилиту wget добавлена опция "-S" (--server-response).


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