发布一组简约的系统实用程序 BusyBox 1.32

由...所提交 包发布 忙框1.32 实施一组标准 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、路由实用程序中的错误。

还有,上个月 发生了 发布 玩具盒0.8.3,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

添加评论