Новая версия минималистичного набора системных утилит BusyBox 1.22

Увидел свет релиз пакета BusyBox 1.22.0 с реализацией набора стандартных утилит UNIX, оформленных в виде единого исполняемого файла и оптимизированных для минимального потребления системных ресурсов при размере комплекта менее 1 Мб. Первый выпуск новой ветки 1.22 позиционируется как нестабильный, полная стабилизация будет обеспечена в версии 1.22.1. Код проекта распространяется под лицензией GPLv2. Модульный характер BusyBox даёт возможность сформировать один унифицированный исполняемый файл, содержащий в себе произвольный набор реализованных в пакете утилит (каждая утилита доступна в форме символической ссылки на данный файл). Размер, состав и функциональность коллекции утилит можно варьировать в зависимости от потребностей и возможностей встраиваемой платформы, для которой осуществляется сборка. Пакет самодостаточный, при статической сборке с uclibc для создания рабочей системы поверх ядра Linux требуется лишь создать несколько файлов-устройств в директории /dev и подготовить файлы конфигурации. По сравнению с прошлым выпуском 1.21.1 потребление оперативной памяти типовой сборкой BusyBox 1.22.0 увеличилось на 2 Кб (с 899603 до 901819 байт).

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

В syslogd добавлена возможность определения директории с логами через переменную окружения _PATH_LOG; В утилите date появилась поддержка определения дат в форматах 'yyyy-mm-dd HH' и 'yyyy-mm-dd'; В ping обеспечена проверка доступности хоста при помощи SOCK_DGRAM при запуске без прав root; В командные оболочки ash и hush добавлена поддержка истории работы; В xz добавлена поддержка соединённых потоков .xz; Во wget добавлена возможность задания таймаута; В команду ip link добавлена поддержка VLAN; В volume_id добавлена поддержка файловой системы F2FS; В lsof налажена работа с символическими ссылками; В swapon добавлена поддержка указания «pri=NNN» в fstab; Улучшена реализация утилит sendmail, grep, awk, sed, bootchartd, bunzip2, unzip, dd, vi, find, httpd, less, traceroute, nc, ntpd, udhcp, ps, rpm, tar, fdisk, arp;

© OpenNet