È possibile installare e utilizzare due diverse versioni di glibc sulla stessa macchina. Dove una versione viene utilizzata solo per eseguire software legacy, che si basa su vecchi binari glibc?
È possibile farlo con l'aiuto del gestore di pacchetti (qualcosa come "installa questo pacchetto, e le sue dipendenze, su /opt/old-glibc
), invece di gestirlo in modo terribile
Risposta accettata:
Si è possibile. Dovrai fare molta attenzione con i percorsi di caricamento delle librerie e potresti dover ricompilare altre librerie.
Come percorso di minor attrito, consiglio di installare una versione precedente di Debian o Ubuntu in un chroot. Cioè, crea una directory, ad esempio /old/etch
, e installa la distribuzione precedente nell'albero radicato lì; per eseguire quel programma problematico, chiama chroot
per limitare la visualizzazione del filesystem a /old/etch
.
Debian (o Ubuntu) viene fornito con un pacchetto per assistere con l'installazione di un altro sistema in un chroot:schroot (successore di dchroot). Innanzitutto, usa debootstrap per installare la distribuzione precedente (installa solo il sistema di base e ciò di cui ha bisogno il tuo programma, nessun server). Quindi imposta schroot per eseguire il programma comodamente (con /dev
, /proc
, /home
e altri filesystem “satellitari” accessibili).
Quindi il piano è:debootstrap, quindi dchroot. In Come faccio a eseguire programmi a 32 bit su una Debian/Ubuntu a 64 bit?, fornisco un tutorial su una configurazione simile, sia che tu stia eseguendo versioni diverse della distribuzione, architetture diverse o distribuzioni simili a Debian, si tratta solo di selezionare la sorgente del pacchetto appropriata, il resto è lo stesso.