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.