Come aggiornare correttamente glibc?


10

Il firmware del mio NAS viene fornito con una versione piuttosto vecchia di glibc, vale a dire 2.5. Per far fronte ad alcuni binari precompilati collegati * a glibc2.15, vorrei aggiornarlo. Da alcuni semplici test in un chrootambiente ho imparato semplicemente aggiungendo il più recente libc-2.15.soe aggiornando il collegamento simbolico si libc.so.6otterrà un sistema inutilizzabile; probabilmente a causa libc-2.15.sodell'essere collegato a ld-linux.so.3sua volta, che ovviamente richiederebbe anche la versione 2.15 anziché quella 2.5. Ma prima di scendere in troppi tentativi ed errori,

qual è la procedura corretta per aggiornare manualmente glibc?


* nonostante siano collegati "staticamente", si collegano ancora dinamicamente a glibc ...


"Per far fronte ad alcuni binari precompilati (nonostante siano collegati" staticamente ", si collegano ancora dinamicamente a glibc ...) collegati a glibc 2.15." Eliminando le parentesi, questo si riduce a "Per far fronte ad alcuni binari precompilati collegati a glibc 2.15.". Non sono sicuro di cosa significhi.
— Faheem Mitha,

@FaheemMitha Grazie per averlo sottolineato, non ho mai realizzato di aver dimenticato di finire quella frase - spero che abbia più senso ora
— Tobias Kienzler,

Sì, ora legge meglio, anche se avere quella parentesi incorporata non aiuta con chiarezza. Presumo che ricostruire il firmware con una nuova libc non sia un'opzione?
— Faheem Mitha,

@FaheemMitha Debracketed ora. No, purtroppo il firmware contiene alcuni componenti proprietari: /
— Tobias Kienzler,

Città di Nitpick. Contrassegni il testo con un *, ma stai utilizzando un 1 nella "nota a piè di pagina". Sì, questo è (parte del perché) sofrware proprietario fa schifo. Cerchi un firmware gratuito di terze parti forse? O sviluppa il tuo. Più facile a dirsi che a farsi, scontato.
— Faheem Mitha,

Risposte:


7

L'aggiornamento della libreria standard è rischioso, poiché alcuni programmi e librerie possono dipendere dalla versione corrente.

La mia raccomandazione se è necessario eseguire programmi più recenti è di installare una distribuzione chroot completa . Ciò richiede più spazio su disco, ma è molto più semplice e meno rischioso rispetto al tentativo di aggiornare libc. Debian fornisce uno strumento per facilitare le installazioni in un chroot: debootstrap . Vedi Installazione di due glibc a fianco in debian / ubuntu (una situazione molto simile) per ulteriori spiegazioni e Come posso eseguire programmi a 32 bit su Debian / Ubuntu a 64 bit? per una guida completa in una situazione leggermente diversa.


2
Temevo altrettanto ... Attualmente sto usando un'installazione Gentoo chroot. Al fine di compilare binari out-of-chroot probabilmente sarebbe più facile eseguire il downgrade degli glibc di Gentoo allora, o usare una versione sufficientemente vecchia ... Poi di nuovo dubito fortemente (o almeno spero di no) questa è la risposta finale.
— Tobias Kienzler,

Cosa intendi dicendo che l'aggiornamento di glibc "è rischioso"? Glibc è retrocompatibile, quindi generalmente dovrebbe funzionare o non ho capito qualcosa qui?
— Nils,

3
@Nils Quello che ti manca è la differenza tra dovrebbe e do . I programmi a volte dipendono da comportamenti non documentati che cambiano tra le versioni.
— Gilles 'SO- smetti di essere malvagio' il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.