Релиз минималистичного набора системных утилит BusyBox 1.27
После шести месяцев разработки состоялся стабильный релиз пакета 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).
© OpenNet