為什麼 Ubuntu 使用eglibc 而不是glibc?

為什麼 Ubuntu 使用eglibc 而不是glibc?

64bit 12.10我透過發出命令來檢查我的 Ubuntu 機器上的 libc 版本ldd --version

我看到 Ubuntu 使用eglibc而不是glibc.與嵌入式機器一樣egiblc,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)。
  • 支援使用 -O 進行建置。
  • 可設定元件(我們真的需要 debian-installer 中的 NIS 或 RPC 支援嗎?)。
  • 用於優化或 biarch 套件的更好的測試套件。

答案2

但他們現在又改回來了:

自 2014 年初以來,官方主頁聲明不再開發 EGLIBC,因為它的“目標現在直接在 GLIBC 中解決”,並且 Debian 在 Debian 8.0 (Jessie) 版本中已切換回 glibc[4]。 ——維基百科

相關內容