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

3 месяца ago admin 0

После шести месяцев разработки состоялся стабильный релиз пакета 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 обеспечен вывод каталогов в начале списка;
  • В 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 onoff»;
  • В ip обеспечена возможность выбора отдельных IP-алиасов;
  • В iproute добавлена поддержка опции advmss;
  • В pgrep добавлена опция «-a»;
  • Утилиты runsv и sv обновлены для соответствия версии runit 2.1.2;
  • В sendmail добавлена возможность указания символа «+» в поле с адресом получателя;
  • В time обеспечена возможность установки формата вывода (-f FMT), добавлены опции «-a» и «-o FILE»;
  • В утилите wget добавлена опция «-S» (—server-response).


Source: pirates.in.ua