Увидел свет (http://www.busybox.net/news.html) релиз пакета BusyBox 1.25.0 (http://www.busybox.net/) с реализацией набора стандартных утилит UNIX, оформленных в виде единого исполняемого файла и оптимизированных для минимального потребления системных ресурсов при размере комплекта менее 1 Мб. Первый выпуск новой ветки 1.25 позиционируется как нестабильный, полная стабилизация будет обеспечена в версии 1.25.1, которая ожидается примерно через месяц. Код проекта распространяется под лицензией GPLv2.
Модульный характер BusyBox даёт возможность сформировать один унифицированный исполняемый файл, содержащий в себе произвольный набор реализованных в пакете утилит (каждая утилита доступна в форме символической ссылки на данный файл). Размер, состав и функциональность коллекции утилит можно варьировать в зависимости от потребностей и возможностей встраиваемой платформы, для которой осуществляется сборка. Пакет самодостаточный, при статической сборке с uclibc для создания рабочей системы поверх ядра Linux требуется лишь создать несколько файлов устройств в директории /dev и подготовить файлы конфигурации. По сравнению с прошлым выпуском 1.24.2 потребление оперативной памяти типовой сборкой BusyBox 1.25.0 уменьшилось на 689 байт (с 894406 до 893717 байт).
BusyBox является основным инструментом в борьбе с нарушением GPL в прошивках. Организации Software Freedom Conservancy (SFC) и Software Freedom Law Center (SFLC) от лица разработчиков BusyBox как через суд (https://www.opennet.dev/opennews/art.shtml?num=27520), так и путём заключения (https://www.opennet.dev/opennews/art.shtml?num=26883) внесудебных соглашений неоднократно успешно воздействовала на компании, не предоставляющие доступ к исходному коду GPL-программ. Для производителей, которые не желают открывать исходные тексты модифицированных компонентов, в рамках проекта Toybox (http://landley.net/toybox/) развивается аналог BusyBox, распространяемый (https://www.opennet.dev/opennews/art.shtml?num=32952) под лицензией BSD (2 clause). По возможностям Toybox пока отстаёт от BusyBox.
Основные новшества BusyBox 1.25:
- Новые утилиты ubirename, blkdiscard, unshare и nsenter;
- В cpio реализована опция "-R" ("--owner");
- В gunzip добавлена поддержка длинного синтаксиса задания опций ("--имя");
- В gzip добавлена опция "--no-name";
- В nandwrite реализован режим "-n" для чтения/записи без учёто кодов коррекции ошибок;
- Добавлена поддержка команды 'ip neigh';
- В cp добавлены опции "-u"/"--update" и "--remove-destination";
- В iproute добавлена поддержка параметра "scope";
- В mount добавлена опция "nofail";
- Улучшена работа встроенного сервера синхронизации точного времени (ntpd);
- В sed обеспечена работа конструкции 's///w FILE', добавлена поддержка выражения "-f -", обеспечен разбор символов \n, \r и \t в командах "i" и "a";
- В setarch добавлена команда '-R' (отключение рандомизации);
- В setsid добавлена команда "-c";
- В sort налажена обработка конечного символа (ENDCHAR) в выражении "-kSTART,N.ENDCHAR";
- В tar добавлена проверка для защиты от записи в символические ссылки и реализована опция "--strip-components=N";
- В dumpleases добавлена опция "-d" для показа времени в секундах;
- В blkid добавлена поддержка bcache;
- В chpasswd добавлена опция "-c";
- В dd добавлена поддержка выражения "iflag=skip_bytes";
- В tr обеспечена возможность указания восьмеричных диапазонов;
- В ash добавлено ключевое слово 'function', в функциях разрешено использование только локальных переменных;
- Реализована поддержка вызова "busybox утилита" при отключении busybox;
- Обеспечена возможность сборки утилиты stat на системах, отличных от Linux;
- Улучшена поддержка Си-библиотеки musl;
- Устранено переполнение буфера во встроенном HTTP-сервере (httpd);
URL: https://busybox.net/news.html
Новость: http://www.opennet.dev/opennews/art.shtml?num=44643