Installare due glibc insieme a debian / ubuntu


15

È possibile installare e utilizzare due diverse versioni di glibc sullo stesso computer. Dove una versione viene utilizzata solo per eseguire software legacy, che si basa su vecchi binari glibc?

È possibile farlo con l'aiuto del gestore dei pacchetti (qualcosa come "installa questo pacchetto e le sue dipendenze, a /opt/old-glibc), invece di gestirlo terribilmente


4
Deve essere, ma ... oh, così tanto dolore.
Tshepang,

Forse, ma dovrai fornire maggiori dettagli. Quale sistema operativo (versione di Debian / Ubuntu) in modo preciso e, cosa più importante, qual è il software legacy e quale versione di libc utilizza? Penso lddche ti direi una cosa. Se possibile, potrebbe essere necessario ricompilare la libreria libc legacy e / o installare / ricompilare i pacchetti di supporto. A seconda dell'età della tua app, questo potrebbe diventare complicato. Vedo che Debian attuale libc6dipende libc-bin (= 2.13-0exp5)e libgcc1, quindi libc6, non ha molte dipendenze, ma potresti comunque riscontrare problemi.
Faheem Mitha,

Risposte:


8

Si è possibile. Dovrai stare molto attento con i percorsi di caricamento delle librerie e potresti dover ricompilare alcune altre librerie.

Come percorso di minor attrito, consiglio di installare una versione precedente di Debian o Ubuntu in un chroot . Cioè, crea una directory, diciamo /old/etch, e installa la distribuzione precedente nell'albero radicato lì; per eseguire quel programma problematico, chiama chrootper limitare la sua vista del filesystem a /old/etch.

Debian (o Ubuntu) viene fornito con un pacchetto per facilitare l'installazione di un altro sistema in un chroot: schroot (successore di dchroot). Innanzitutto, utilizza debootstrap per installare la distribuzione precedente (installa solo il sistema di base e ciò di cui il tuo programma ha bisogno, nessun server). Quindi impostare schroot per eseguire il programma comodamente (con /dev, /proc, /homee altri “satellite” file system di accessibile).

Quindi il piano è: debootstrap, quindi dchroot. In Come si eseguono programmi a 32 bit su un Debian / Ubuntu a 64 bit? , Do un tutorial su un'installazione simile - che tu stia eseguendo versioni diverse della distribuzione, o architetture diverse, o diverse distribuzioni simili a Debian, è solo una questione di selezionare l'origine del pacchetto appropriata, il resto è lo stesso.


Se uno ha già installato la versione più recente, può iniziare da quella e quindi, in aggiunta a quella più recente, installare quella precedente /old/etch?
n611x007,

@naxa Sì, in effetti questa è la situazione descritta qui, ma funziona allo stesso modo se si fa il contrario (nuovo chroot nel vecchio). In effetti ho scritto un tutorial debootstrap / schroot pochi giorni dopo aver scritto questa risposta, ho aggiunto il link.
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.