<Precedenti | Contenuti | Succ.>
Ottenere il codice sorgente
Per il nostro esercizio di compilazione, compileremo un programma del Progetto GNU chiamato dizioneQuesto è un piccolo e pratico programma che controlla la qualità e lo stile dei file di testo. Per essere un programma semplice, è piuttosto piccolo e facile da compilare.
Seguendo la convenzione, creeremo prima una directory per il nostro codice sorgente denominata
src e poi scaricarvi il codice sorgente tramite ftp:
[io@linuxbox~]$ mkdir src [io@linuxbox~]$ cd src [io@linuxbox src]$ FTP ftp.gnu.org Connesso a ftp.gnu.org.
Server FTP GNU 220 pronto.
Nome (ftp.gnu.org:me): anonimo
230 Accesso riuscito. Il tipo di sistema remoto è UNIX.
Utilizzo della modalità binaria per trasferire file. ftp> cd gnu/dizione
250 Directory modificata correttamente. ftp> ls
Comando 200 PORT eseguito correttamente. Valutare l'utilizzo di PASV.
150 Ecco l'elenco delle directory.
-rw-r--r-- | 1 | 1003 | 65534 | 68940 | Agosto | 28 | 1998 | dizione-0.7.tar.gz |
-rw-r--r-- | 1 | 1003 | 65534 | 90957 | Mar | 04 | 2002 | dizione-1.02.tar.gz |
-rw-r--r-- | 1 | 1003 | 65534 | 141062 | Settembre | 17 | 2007 | dizione-1.11.tar.gz |
226 Invio directory OK.
ftp> ottenere diction-1.11.tar.gz
locale: diction-1.11.tar.gz remoto: diction-1.11.tar.gz
Comando 200 PORT eseguito correttamente. Valutare l'utilizzo di PASV.
150 Apertura della connessione dati in modalità BINARIA per diction-1.11.tar.gz (141062 byte).
226 Invio file riuscito.
141062 byte ricevuti in 0.16 secondi (847.4 kB/s) ftp> ciao
221 Arrivederci. [me@linuxbox src]$ ls dizione-1.11.tar.gz
Nota: Poiché siamo i "manutentori" di questo codice sorgente mentre lo compiliamo, lo manterremo in ~/sorgenteIl codice sorgente installato dalla tua distribuzione verrà installato in / usr / src, mentre il codice sorgente che manteniamo e che è destinato all'uso da parte di più utenti è solitamente installato in /usr/locale/sorgente.
Come possiamo vedere, il codice sorgente viene solitamente fornito sotto forma di file tar compresso. A volte chiamato tarball, questo file contiene il albero di origine, ovvero la gerarchia di directory e file che compongono il codice sorgente. Dopo essere arrivati al sito FTP, esaminiamo l'elenco dei file tar disponibili e selezioniamo la versione più recente per il download. Utilizzando ottenere comando all'interno FTP, copiamo il file dal server ftp alla macchina locale.
Una volta scaricato il file tar, è necessario decomprimerlo. Questo viene fatto con il tar programma:
[io@linuxbox src]$ tar xzf diction-1.11.tar.gz
[io@linuxbox src]$ tar xzf diction-1.11.tar.gz
[io@linuxbox src]$ ls
dizione-1.11 dizione-1.11.tar.gz
[io@linuxbox src]$ ls
dizione-1.11 dizione-1.11.tar.gz
Suggerimento: . dizione Il programma, come tutto il software del Progetto GNU, segue determinati standard per il packaging del codice sorgente. Anche la maggior parte del codice sorgente disponibile nell'ecosistema Linux segue questo standard. Un elemento dello standard è che quando il file tar del codice sorgente viene decompresso, verrà creata una directory contenente l'albero sorgente e che questa directory sarà denominata progetto-x.xx, contenente quindi sia il nome del progetto che il suo numero di versione. Questo schema consente una facile installazione di più versioni dello stesso programma. Tuttavia, spesso è una buona idea esaminare il layout dell'albero prima di decomprimerlo. Alcuni progetti non creeranno la directory, ma consegneranno i file direttamente nella directory corrente. Questo creerà confusione nel vostro sistema altrimenti ben organizzato. src directory. Per evitare ciò, utilizzare il seguente comando per esaminare il contenuto del file tar:
tar tzvf tarfile | testa