为什么 Ubuntu 使用 eglibc 而不是 glibc?

为什么 Ubuntu 使用 eglibc 而不是 glibc?

64bit 12.10我通过发出命令检查了我的 Ubuntu 机器上的 libc 版本ldd --version

我看到 Ubuntu 使用eglibc而不是glibcegiblc对于嵌入式机器,Ubuntu 使用它而不是标准 glibc 是否有特定原因。

答案1

Ubuntu 基于 Debian。这是维基百科

2009 年 5 月 6 日,Debian 宣布将从 GNU C 库迁移到 EGLIBC,原因是 glibc 的开发过程存在问题。Debian 及其多个衍生产品现在都使用 EGLIBC 而不是 glibc。EGLIBC 是 GNU LGPL 许可的免费软件。

这些是原因(形式Debian 正在转向 EGLIBC):

EGLIBC 是 GLIBC 的一个变体,它与原始 GLIBC 保持源代码和二进制兼容。虽然它主要针对嵌入式架构,但它确实有一些优点:

  • 更友好的上游(特别是在嵌入式架构方面):“鼓励
    开发人员之间的合作、沟通、文明和尊重”(与此相反)。
  • 稳定分支修复了重要的错误(真正的错误,不像 GLIBC 那样保持不变)。
  • 更好地支持嵌入式架构。
  • 支持不同的shell(GLIBC仅支持bash)。
  • 支持使用 -Os 进行构建。
  • 可配置组件(我们真的需要 debian-installer 中的 NIS 或 RPC 支持吗?)。
  • 针对优化或 biarch 包的更好的测试套件。

答案2

只不过他们现在已经改回来了:

自 2014 年初以来,官方主页声明 EGLIBC 不再开发,因为其“目标现在直接在 GLIBC 中解决”,并且 Debian 已在 Debian 8.0(Jessie)版本中切换回 glibc[4]。——维基百科

相关内容