Ich habe die Libc-Version auf meinem Ubuntu- 64bit
12.10
Rechner durch Eingabe des Befehls überprüft ldd --version
.
Ich habe gesehen, dass Ubuntu eglibc
anstelle von verwendet glibc
. egiblc
Gibt es einen bestimmten Grund, warum Ubuntu es anstelle der Standard-glibc verwendet, wie es bei eingebetteten Maschinen der Fall ist?
Antwort1
Ubuntu basiert auf Debian. Dies ist eine Kurzfassung vonWikipedia:
Am 6. Mai 2009 wurde bekannt gegeben, dass Debian von der GNU C Library zu EGLIBC wechseln würde. Als Grund wurden Probleme beim Entwicklungsprozess von glibc genannt. Debian und mehrere seiner Derivate werden jetzt mit EGLIBC statt glibc ausgeliefert. EGLIBC ist freie Software und unter der GNU LGPL lizenziert.
Dies sind die Gründe (FormularDebian wechselt zu EGLIBC):
EGLIBC ist eine Variante von GLIBC, die Quell- und Binärkompatibilität mit dem ursprünglichen GLIBC aufweist. Obwohl es in erster Linie für eingebettete Architekturen gedacht ist, weist es einige wirklich nette Eigenschaften auf:
- Freundlicherer Upstream (insbesondere im Hinblick auf eingebettete Architekturen): „Fördern Sie Zusammenarbeit, Kommunikation, Höflichkeit und
Respekt unter den Entwicklern“ (im Gegensatz zu diesem).- Stabiler Zweig mit Korrekturen für wichtige Fehler (ein echter, nicht wie der GLIBC-Zweig, der unverändert bleibt).
- Bessere Unterstützung für eingebettete Architekturen.
- Unterstützung für verschiedene Shells (GLIBC unterstützt nur Bash).
- Unterstützung für das Erstellen mit -Os.
- Konfigurierbare Komponenten (brauchen wir wirklich NIS- oder RPC-Unterstützung im Debian-Installer?).
- Bessere Testsuite für optimierte oder Biarch-Pakete.
Antwort2
Außer dass sie jetzt wieder umgeschaltet haben:
Seit Anfang 2014 wird EGLIBC laut der offiziellen Homepage nicht mehr weiterentwickelt, da seine „Ziele nun direkt in GLIBC angegangen werden“ und Debian für die Version Debian 8.0 (Jessie) wieder auf glibc[4] umgestiegen ist. – Wikipedia