REALTA' DI UN TAR.GZ

Precedente
Programma
Seguente
Bastard Operator From Hell!
./configure --help
  Per richiamare le varie opzioni del comando configure
 
./configure --prefix=/usr
  Con l'opzione --prefix si decide il prefisso del path di installazione (default /usr/local/).
Ad esempio i binari verranno installati in /usr/bin o /usr/sbin
 
Tips & Tricks

In alcuni casi per poter lanciare il make install bisogna essere root

Per poter verificare le opzioni di installazione leggere il Makefile. less Makefile

In un tar.gz con sorgenti è convenzione trovare un file README con informazioni sul software allegato e un INSTALL con istruzioni sulle procedure di installazioni. E' sempre consigliabile leggere questi file prima di procedere alla compilazione.

Generalmente su una stazione Linux sono installati di default tutte le utility e le librerie necessarie per compilare un programma direttamente dai suoi sorgenti (escluse eventuali librerie specifiche che vengono utilizzate dal programma stesso).
In genere i tools necessari per compilare sono:
gcc suite (GNU C Compler e librerie correlate);
make utilities (make, pmake, automake...)
ncurses (librerie, necessarie fra l'altro per la configurazione del kernel).

Che cos'è un tar.gz?

Un file tar.gz è uno dei tanti modi pratici per archiviare dei sorgenti.
L'archivio dei sorgenti, comunemente chiamato tarball, molto spesso si presenta con una vera e propria struttura che contiene oltre i file sorgenti, la documentazione per la compilazione e l'utilizzo del software, file binari e script che aiutano l'utente nelle procedure di installazione.
Esistono altri modi per archiviare dei file (bz2, zip) ma senza dubbio questo è il più utilizzato in ambito Unix.

Ovviamente questa libertà di compilare i propri programmi o direttamente il kernel del proprio OS, è prerogativa dei sistemi open source, per i queli si possono ottenere e volendo modificare i sorgenti.


L'importanza dei sorgenti

Poter installare software e compilare lo stesso kernel tramite i sorgenti ha dei grandi vantaggi che l'installazione diretta di binari non offre.
- Aumento delle performance, tramite ottimizzazioni e razionalizzazioni,
- Possibilità di customizzazione,
- Possibilità di correzione di bugs tramite patch
- Possibilità di eseguire aggiornamenti in modo rapido, appena sul sito del produttori appaiono i sorgenti di una nuova versione.

In particolare per il kernel la necessità di compilazione è quasi d'obbligo su sistemi in produzione per i quali non si vogliano mantenere kernel generici e con supporto di innumerevoli moduli come quelli comunemente forniti nelle distribuzioni standard.


Comandi Principali per la compilazione dei sorgenti
Poichè non esiste una vera e propria procedura standard per la compilazione dei sorgenti è importantissimo leggere la documentazione distribuita insieme ai sorgenti, comunque di seguito vengono riportati i comandi comunemente utilizzati
configure [ opzioni ] Verifica le dipendenze e crea il Makefile
make [ opzioni ] Attraverso il Makefile creato precedentemente compila i sorgenti e installa

Tipicamente la procedura di installazione di un tar.gz si riassume in questi passi (leggere sempre i file INSTALL o README per le effettive istruzioni di installazione) :
tar -zxvf package.tar.gz
cd package/
./configure
make
make install