我一直在考虑停止在我的 Linux 系统上使用 GNU Coreutils,但说实话,与许多其他 GNU 组件不同,我想不出任何替代方案(在 Linux 上)。 GNU coreutils 有哪些替代品?我需要多个包裹吗?项目的链接是必须的,是命名发行版包的加分项。
另外请不要提出建议,除非你知道他们在 Linux 上工作,并且可以参考说明。我怀疑我很快就会切换内核,而且我太懒了,除了简单的./configure; make; make install
.我当然不会为了它而破解C。
警告:如果您的发行版使用 coreutils,则删除它们可能会破坏您的发行版的功能。然而,不让它们成为你的第一个$PATH
不应该破坏事情,因为大多数脚本应该使用绝对路径。
答案1
busybox
嵌入式Linux系统的最爱。
BusyBox 将许多常见 UNIX 实用程序的微型版本组合到一个小型可执行文件中。它提供了您通常在 GNU fileutils、shellutils 等中找到的大多数实用程序的替代品。BusyBox 中的实用程序通常比其全功能的 GNU 同类程序具有更少的选项;然而,其中包含的选项提供了预期的功能,并且行为与 GNU 对应选项非常相似。 BusyBox 为任何小型或嵌入式系统提供了相当完整的环境。
BusyBox 在编写时考虑到了大小优化和有限的资源。它也非常模块化,因此您可以在编译时轻松包含或排除命令(或功能)。这使得您可以轻松定制嵌入式系统。要创建一个工作系统,只需在 /dev 中添加一些设备节点,在 /etc 中添加一些配置文件和一个 Linux 内核。
您几乎可以将任何 coreutil 名称设置为 busybox 二进制文件的链接,并且它将起作用。你也可以运行busybox <command>
,它会起作用。示例:如果您使用的是 Gentoo 并且尚未安装vi
,则可以运行busybox vi filename
并进入 vi。它是
答案2
我意识到,这是一个较旧的话题。然而,这个解决方案从未被提及,并且在谷歌上的“Linux with bsd userland”中出现得相对较高。
还有另一个解决方案:传家宝。我知道它可以在 Arch 上运行,并且它被打包在 AUR 中(例如,看看 gnu2sysv)。这将取代 Arch 的 coreutils 包并提供传家宝等价物。您可以在 arch 的 wiki 上阅读整个内容:https://wiki.archlinux.org/index.php/Base2heirloom
答案3
查看实用程序。
这是用 Rust 编写的 GNU coreutils 的跨平台实现。它获得了麻省理工学院的许可。在撰写此答案时,它尚未 100℅ 完成(缺少一些关键的内容,例如ls
和cp
),但许多其他内容已经完成。
答案4
我怀疑您很难摆脱 GNU Coreutils,但是,总是有等效的 BSD 工具,尽管它们不是 GNU 工具的直接替代品。