我64bit 12.10通过发出命令检查了我的 Ubuntu机器上的 libc 版本ldd --version。
我看到 Ubuntu 使用eglibc而不是glibc. 由于egiblc是嵌入式设备,是否有为什么Ubuntu使用它,而不是标准的glibc的具体原因。
cha*_*aos 14
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 包的更好的测试套件。
小智 7
除了他们现在已经切换回来:
自 2014 年初以来,官方主页声明不再开发 EGLIBC,因为它的“目标现在正在 GLIBC 中直接解决”,并且 Debian 已为 Debian 8.0 (Jessie) 版本切换回 glibc[4]。-- 维基百科