包发布 实施一组标准 UNIX 实用程序,设计为单个可执行文件,并经过优化以最小化系统资源消耗,且集合大小小于 1 MB。 新分支1.32首个版本定位为不稳定,将在1.32.1版本中提供全面稳定,预计一个月左右。 项目代码根据 GPLv2 许可证分发。
BusyBox 的模块化特性允许创建一个包含软件包中实现的任何实用程序集的单一统一可执行文件(每个实用程序都以符号链接的形式指向该文件)。实用程序集的大小、组成和功能可以根据所构建的嵌入式平台的需求和能力进行调整。该软件包是自包含的,可以与 uclibc 静态链接,从而在内核之上创建一个可运行的系统。 Linux 您只需在 /dev 目录下创建几个设备文件并准备好配置文件即可。与之前的 1.31 版本相比,典型的 BusyBox 1.32 构建的 RAM 占用量增加了 3590 字节(从 1011750 字节增加到 1015340 字节)。
BusyBox 是对抗固件中 GPL 违规行为的主要工具。 软件自由保护协会 (SFC) 和软件自由法律中心 (SFLC) 代表 BusyBox 开发者,均通过 , 那样 庭外协议多次成功地影响了那些不提供 GPL 程序源代码访问权限的公司。 与此同时,BusyBox的作者也竭尽全力 反对这种保护——相信这会毁了他的生意。
BusyBox 1.32 中突出显示了以下更改:
- 添加了新命令 从给定的 Mimfile 运行skipts(有点让人想起精简的 make 实用程序);
- find 实用程序添加了“-empty”选项来检查空文件;
- 在 wget 实用程序中,扩展了重定向数量的限制,并实现了对使用 ENABLE_FEATURE_WGET_OPENSSL 检查 TLS 证书的支持;
- 向 grep 添加了对模式列表 (pattern_list) 的正确支持,并添加了“-R”选项(目录内容的递归处理);
- 解决了在 Clang 9 中构建时出现的问题并消除了编译器警告;
- 针对 ash 和 hush 命令 shell 提出了大量修复,旨在提高与其他 shell 的兼容性。 ash 和 hush 中添加了使用选项卡自动完成内置命令的功能。 新的内置命令已在 ash 中稳定下来。
- fdisk 实用程序现在支持 HFS 和 HFS+ 分区;
- init 改进了接收信号时对竞争条件的处理;
- 用于系统参数可视化监控的实用程序 添加了输出格式“%NT”(时间与零对齐);
- 任务集中添加了处理和显示 CPU 列表的功能(选项“-c”);
- 在 tar 中,“-a”选项的行为已更改,它不再启用“lzma”压缩,而是与文件扩展名的自动检测相关联;
- Udhcpc6 添加了对“» 对于 DHCPv6(服务器仅发送网络参数,不分配地址);
- nslookup 现在支持处理没有 RR 记录的响应,并添加了对 SRV 记录的支持;
- brctl 中添加了新命令“showmacs”和“showstp”;
- 添加了对dhcpc“中继服务器”参数的支持;
- 为 syslogd 添加了以毫秒精度显示时间的设置;
- 在httpd中,当以NOMMU模式运行时,允许设置不同的主目录,并且“-h”选项在运行后台进程时起作用;
- xargs 改进了对引号中的参数的处理,并确保“-n”选项的正确行为;
- 修复了 grep、top、dc、gzip、awk、bc、ntpd、pidof、stat、telnet、tftp、whois、unzip、chgrp、httpd、vi、路由实用程序中的错误。
还有,上个月 发布 ,BusyBox 的类似物,由前 BusyBox 维护者开发, 在 BSD 许可下。 Toybox 的主要目的是让制造商能够使用一组简约的标准实用程序,而无需打开修改后的组件的源代码。 根据Toybox目前的能力 来自 BusyBox,但计划的 272 个基本命令中已经实现了 204 个基本命令(68 个完全执行,343 个部分执行)。
在 Toybox 0.8.3 的创新中,我们可以注意到:
- 添加了新命令 rtcwake、blkdiscard、getopt 和 readelf;
- В «make root» обеспечена возможность создание рабочего загрузочного окружения только на основе ядра Linux и утилит Toybox, которое может быть загружено при помощи собственного init-скрипта;
- 添加了对具有单独实现的实用程序(未包含在主 ToyBox 中)的模块的初始支持;
- 命令解释器 toysh 已准备就绪 80%(尚不支持函数、历史记录、终端管理、作业、$((math))、模板);
- 添加了对各种实用程序的附加选项的支持,包括 patch、cal、cp、mv、lsattr、chattr、ls、id、netcat 和 setsid。
来源: opennet.ru
