GNU Coreutils 9.5 及其 Rust 版本的发布

GNU Coreutils 9.5 基本系统实用程序集的稳定版本已经发布,其中包括 sort、cat、chmod、chown、chroot、cp、date、dd、echo、hostname、id、ln、ls 等程序。

关键创新:

  • cp、mv、install、cat 和 split 实用程序已针对写入和读取操作进行了优化。最小可读或可写块大小已从 128KiB 增加到 256KiB,从而导致读取缓存文件时的吞吐量增加 10-20%。
  • env、kill 和 timeout 实用程序中添加了对未命名信号的支持。
  • 通过消除不必要的 MCS/MLS 标签的翻译,提高了在 SELinux 系统中使用时复制操作的效率。
  • 在未指定“-R”选项的情况下,通过停止与 libcrypto 库的动态链接来缩短排序实用程序的启动时间。
  • wc 实用程序的工作在单字节区域设置的环境中显着加速,在多字节区域设置的系统上略有加速。
  • 向 chgrp 实用程序添加了对“--from=OWNER:GROUP”选项的支持,以仅将更改应用于具有指定所有者和组的文件。
  • chmod 实用程序与 chown 和 chmod 实用程序类似,实现“-h”、“-H”、“-L”、“-P”和“--dereference”选项,这些选项为处理符号链接提供了附加选项。
  • 向 cp 实用程序添加了“--keep-directory-symlink”选项以保存并遵循现有目录符号链接。
  • “--update=none-fail”选项已添加到 cp 和 mv 实用程序中,该选项与“--no-clobber”选项类似,只不过如果文件已存在则执行失败。
  • -a (--argv0) 选项已添加到 env 实用程序中,以覆盖命令行空参数(可执行文件的路径)。
  • mv 实用程序中添加了“--exchange”选项,用于交换源和目标的内容(例如,当执行“mv --exchange AB”时,A 和 B 的内容将被交换,即 A 将移动到 B,然后 B 移动到 A)。
  • tail 实用程序通过重复指定多个“-pid”选项添加了对跟踪多个进程输出的支持。

几天前,uutils coreutils 0.0.25 项目也发布了,开发了 GNU Coreutils 包的类似版本,用 Rust 语言重写。 Coreutils 附带了一百多个实用程序,包括 sort、cat、chmod、chown、chroot、cp、date、dd、echo、hostname、id、ln 和 ls。该项目的目标是创建 Coreutils 的跨平台替代实现,能够在 Windows、Redox 和 Fuchsia 平台等上运行。与 GNU Coreutils 不同,Rust 实现是在宽松的 MIT 许可证下分发的,而不是在 Copyleft GPL 许可证下分发的。

新版本的 uutils 使用 GNU Coreutils 9.4 版本作为参考。改进了与 GNU Coreutils 参考测试套件的兼容性,该套件通过了 437 项测试(之前为 422 项),未通过 117 (132) 项测试,并跳过了 50 (50) 项测试。为实用程序提供与 GNU Coreutils 的完全兼容性:base64、basename、cat、chgrp、chmod、chown、dirname、expand、fold、groups、join、ln、mktemp、nice、nl、nproc、paste、pathchk、printenv、realpath、shuf、 sleep、split、sync、unexpand、uniq、wc 等等。

扩展了功能,改进了兼容性,并为实用程序添加了缺失的选项:base32、base64、basenc、basename、cat、chcon、chmod、cksum、cp、csplit、cut、dd、df、du、echo、env、expand、factor、fmt、hashsum 、安装、ln、ls、更多、numfmt、奇数、printf、pr、seq、shuf、排序、分割、stat、tsort、tty、截断、uname 和 uniq。

GNU Coreutils 9.5 及其 Rust 版本的发布


来源: opennet.ru

添加评论