
Zero Install, zero problemi! Programmi? Installali così
D’ora in poi gestire il software non incluso nella propria distribuzione non sarà più un tormento. Parola di Linux Magazine
(pagina 1 di 4)
Quando si inizia a utilizzare GNU/Linux, uno dei concetti più difficili
da comprendere è l’obbligo di reperire i pacchetti software, con le
relative dipendenze, compilati in modo da essere compatibili con la
distribuzione in uso. La ragione di questa legge fondamentale nasce
dalla modalità di compilazione dei programmi, i quali utilizzano delle
librerie condivise invece di integrare tutto il codice binario
necessario nel solo eseguibile. Al termine della fase di compilazione,
l’eseguibile viene “linkato”
alle librerie presenti nel sistema. Questa operazione associa i simboli
esterni (funzioni, variabili, ecc...) delle librerie utilizzate nel
codice sorgente del programma con le loro versioni compilate. Durante
l’esecuzione del programma,
il sistema provvederà a caricare in memoria i file delle librerie
condivise
necessarie. Questo sistema permette di risparmiare spazio su disco e di
evitare la ricompilazione in caso di correzioni o aggiornamenti minimi
alle librerie. Purtroppo, però, la perfezione non esiste. Questo
sistema, infatti, non permette l’utilizzo dell’eseguibile in sistemi
con librerie la cui versione non è compatibile o è compilata con
opzioni diverse rispetto a quella utilizzata nella fase di compilazione
del programma. Per questo motivo è impossibile usare un programma
compilato per CentOS su Debian GNU/Linux e viceversa, anche se si
stratta dello stesso codice sorgente. Problemi analoghi si hanno in uno
stesso sistema quando si vuole utilizzare un programma che richiede
librerie o altre dipendenze, la cui installazione porterebbe a
conflitti fastidiosi con il software già installato.