Релиз минималистичного набора системных утилит BusyBox 1.26
После шести месяцев разработки состоялся релиз пакета BusyBox 1.26.0 с реализацией набора стандартных утилит UNIX, оформленных в виде единого исполняемого файла и оптимизированных для минимального потребления системных ресурсов при размере комплекта менее 1 Мб. Первый выпуск новой ветки 1.26 позиционируется как нестабильный, полная стабилизация будет обеспечена в версии 1.26.1, которая ожидается примерно через месяц. Код проекта распространяется под лицензией GPLv2.
Модульный характер BusyBox даёт возможность сформировать один унифицированный исполняемый файл, содержащий в себе произвольный набор реализованных в пакете утилит (каждая утилита доступна в форме символической ссылки на данный файл). Размер, состав и функциональность коллекции утилит можно варьировать в зависимости от потребностей и возможностей встраиваемой платформы, для которой осуществляется сборка. Пакет самодостаточный, при статической сборке с uclibc для создания рабочей системы поверх ядра Linux требуется лишь создать несколько файлов устройств в директории /dev и подготовить файлы конфигурации. Потребление оперативной памяти типовой сборкой BusyBox составляет приблизительно 900 Кб.
BusyBox является основным инструментом в борьбе с нарушением GPL в прошивках. Организации Software Freedom Conservancy (SFC) и Software Freedom Law Center (SFLC) от лица разработчиков BusyBox как через суд, так и путём заключения внесудебных соглашений неоднократно успешно воздействовала на компании, не предоставляющие доступ к исходному коду GPL-программ. В тоже время автор BusyBox всячески возражает против такой защиты — считая что она ломает ему бизнес. Для производителей, которые не желают открывать исходные тексты модифицированных компонентов, в рамках проекта Toybox развивается аналог BusyBox, распространяемый под лицензией BSD (2 clause). По возможностям Toybox пока отстаёт от BusyBox.
В версии BusyBox 1.26 в основном отмечается устранение ошибок. Из изменений выделяется:
- В getopt32 реализован новый синтаксис выражений 'o:+' и 'o:*' для опций »-o NUM» и »-o LIST»;
- Значительная порция исправлений и переработок в ash, направленных на сокращение различий с кодовой базой ash из upstream;
- Большая порция исправлений и оптимизаций в hush;
- В df реализована поддержка формата опций »-B n{suff} и »-B {suff}»;
- В init решены проблемы с открытием консоли во FreeBSD;
- Добавлен пример настройки DHCP-сервера;
- Улучшена совместимость с библиотекой musl;
- В mdev добавлена возможность создания устройств из /sys/dev;
- В tar реализована обработка добавленных через pax имён файлов и символических ссылок в кодировке utf8;
- В утилиту whois добавлена опция »-i» (поиск по имени атрибута);
- В volume_id добавлена поддержка UBIFS;
- В утилите strings реализован режим »-t radix».
© OpenNet