Wie aktualisiere ich glibc richtig?

10

Die Firmware meines NAS wird mit einer ziemlich alten Version von glibc2.5 geliefert. Um mit einigen vorkompilierten Binärdateien fertig zu werden, die * mit glibc2.15 verknüpft sind , möchte ich sie aktualisieren. Durch einige einfache Tests in einer chrootUmgebung habe ich gelernt, dass durch einfaches Hinzufügen der neueren libc-2.15.sound Aktualisieren des Symlinks libc.so.6ein unbrauchbares System erhalten wird. wahrscheinlich aufgrund libc-2.15.soder Verknüpfung ld-linux.so.3, für die natürlich auch die Version 2.15 anstelle der Version 2.5 erforderlich wäre. Aber bevor ich in zu viel Versuch und Irrtum abtauche,

Was ist das richtige Verfahren, um glibc manuell zu aktualisieren?


* Trotz „statisch“ verbunden ist, sie immer noch eine Verknüpfung zu dynamisch glibc ...

Tobias Kienzler
quelle
"Um mit einigen vorkompilierten Binärdateien fertig zu werden (obwohl sie" statisch "verknüpft sind, werden sie immer noch dynamisch mit glibc verknüpft ...), die mit glibc 2.15 verknüpft sind." Wenn Sie die Klammern herausnehmen, reduziert sich dies auf "Um mit einigen vorkompilierten Binärdateien fertig zu werden, die mit glibc 2.15 verknüpft sind". Ich bin mir nicht sicher, was das bedeutet.
Faheem Mitha
@FaheemMitha Vielen Dank für den Hinweis, ich habe nie bemerkt, dass ich vergessen habe, diesen Satz zu beenden - hoffe, es macht jetzt mehr Sinn
Tobias Kienzler
Ja, es liest sich jetzt besser, obwohl diese eingebettete Klammer nicht zur Klarheit beiträgt. Ich gehe davon aus, dass das Neuerstellen der Firmware mit einer neueren libc keine Option ist.
Faheem Mitha
@FaheemMitha Debracketed jetzt. Nein, die Firmware enthält leider einige proprietäre Komponenten: /
Tobias Kienzler
Nitpick Stadt. Sie markieren Ihren Text mit einem *, verwenden jedoch eine 1 in Ihrer "Fußnote". Ja, das ist (ein Teil des Grundes), warum proprietäre Software scheiße ist. Suchen Sie vielleicht nach kostenloser Firmware von Drittanbietern? Oder entwickeln Sie Ihre eigenen. Leichter gesagt als getan, selbstverständlich.
Faheem Mitha

Antworten:

7

Das Aktualisieren der Standardbibliothek ist riskant, da einige Programme und Bibliotheken möglicherweise von der aktuellen Version abhängen.

Meine Empfehlung, wenn Sie neuere Programme ausführen müssen, ist die Installation einer vollständigen Chrooted- Distribution. Dies erfordert mehr Speicherplatz, ist jedoch viel einfacher und weniger riskant als der Versuch, libc zu aktualisieren. Debian bietet ein Tool zur Erleichterung der Installation in einer Chroot: Debootstrap . Weitere Erklärungen finden Sie unter Installieren von zwei glibc nebeneinander in debian / ubuntu (eine sehr ähnliche Situation). Wie führe ich 32-Bit-Programme auf einem 64-Bit-Debian / Ubuntu aus? für eine vollständige Anleitung in einer etwas anderen Situation.

Gilles 'SO - hör auf böse zu sein'
quelle
2
Ich fürchtete , so viel ... Eigentlich Ich bin zur Zeit eine chrooted Gentoo Installation. Um Out-of-Chroot-Binärdateien zu kompilieren, wäre es wahrscheinlich einfacher, Gentoos Glibc herunterzustufen oder eine ausreichend alte Version zu verwenden ... Andererseits bezweifle ich ernsthaft (oder hoffe zumindest nicht), dass dies die endgültige Antwort ist.
Tobias Kienzler
Was meinst du damit, dass das Upgrade von glibc "riskant" ist? Glibc ist abwärtskompatibel, sollte also generell funktionieren oder habe ich hier etwas nicht verstanden?
Nils
3
@Nils Was Sie vermissen, ist der Unterschied zwischen sollte und tut . Programme hängen manchmal von undokumentiertem Verhalten ab, das sich zwischen den Versionen ändert.
Gilles 'SO - hör auf böse zu sein'