<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <HTML> <HEAD> <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9"> <TITLE>Building and Installing Software Packages for Linux: Spacchettare i file</TITLE> <LINK HREF="Software-Building-HOWTO-3.html" REL=next> <LINK HREF="Software-Building-HOWTO-1.html" REL=previous> <LINK HREF="Software-Building-HOWTO.html#toc2" REL=contents> </HEAD> <BODY> <A HREF="Software-Building-HOWTO-3.html">Avanti</A> <A HREF="Software-Building-HOWTO-1.html">Indietro</A> <A HREF="Software-Building-HOWTO.html#toc2">Indice</A> <HR> <H2><A NAME="s2">2. Spacchettare i file</A></H2> <P>Avete scaricato o vi siete procurati in altro modo un pacchetto software. Molto probabilmente è archiviato (in formato <EM>tar</EM>) e compresso (in formato <EM>gzip</EM>), e quindi il nome del file terminerà con <CODE>.tar.gz</CODE> o <CODE>.tgz</CODE> (N.d.T: Gli archivi tar compressi, in inglese, vengono colloquialmente detti "tarball", d'ora in poi ci riferiremo ad essi come "pacchetti tar"). Innanzi tutto copiatelo in una directory di lavoro. Poi decomprimetelo (con <EM>gunzip</EM>) e spacchettatelo (con <EM>tar</EM>). Il comando appropriato per farlo è <B>tar xzvf <EM>nomefile</EM></B>, dove <EM>nomefile</EM> è il nome del file, ovviamente. Il processo di dearchiviazione generalmente installerà i file appropriati nelle sottodirectory che avrà creato. Notate che se il nome del pacchetto ha suffisso <EM>.Z</EM>, la procedura su esposta sarà ancora buona, sebbene funzioni anche eseguire <B>uncompress</B>, seguito da <B>tar xvf</B>. Potete vedere un'anteprima di tale processo con <B>tar tzvf nomefile</B>, che elenca i file contenuti nell'archivio senza in effetti estrarli. <P>Il suddetto metodo per spacchettare i pacchetti tar è equivalente ad uno o l'altro dei seguenti: <UL> <LI>gzip -cd nomefile | tar xvf -</LI> <LI>gunzip -c nomefile | tar xvf -</LI> </UL> (Il '-' forza il comando <EM>tar</EM> a prendere il suo input dallo <CODE>stdin</CODE>.) <P>I file sorgenti nel nuovo formato <EM>bzip2</EM> (<CODE>.bz2</CODE>) possono essere estratti con un <B>bzip2 -cd nomefile | tar xvf -</B>, o, più semplicemente, con un <B>tar xyvf nomefile</B>, sempre che <CODE>tar</CODE> sia stato opportunamente corretto con l'apposita patch (riferirsi al <A HREF="ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/mini/Bzip">Bzip2.HOWTO</A> <A HREF="Software-Building-HOWTO-16.html#traduzioni">(tradotto)</A> per i dettagli). La distribuzione Linux di Debian usa una diversa patch per <CODE>tar</CODE>, scritta da Hiroshi Takekawa, che, in quella particolare versione di <CODE>tar</CODE>, usa le opzioni <EM>-I, --bzip2, --bunzip2</EM>. <P>[Grazie tante a R. Brock Lynn e Fabrizio Stefani per le correzioni e gli aggiornamenti sull'informazione sopra citata] <P> <P>A volte i file archiviati devono essere estratti, usando tar, ed installati dalla home directory dell'utente, o magari in una cert'altra directory, tipo <CODE>/</CODE>, <CODE>/usr/src</CODE>, o <CODE>/opt</CODE>, come specificato nelle informazioni di configurazione del pacchetto. Qualora si riceva un messaggio di errore tentando l'estrazione dall'archivio, questa potrebbe esserne la ragione. Leggete i file di documentazione del pacchetto, specialmente i file <CODE>README</CODE> e/o <CODE>Install</CODE>, se presenti, ed editate i file di configurazione e/o i <CODE>Makefile</CODE> come necessario, consistentemente con le istruzioni di installazione. Osservate che di solito <B>non</B> si dovrebbe modificare il file <CODE>Imake</CODE>, poiché ciò potrebbe avere conseguenze impreviste. La maggior parte dei pacchetti permettono di automatizzare questo processo eseguendo <B>make install</B> per mettere i binari nelle appropriate aree di sistema. <P> <UL> <LI>Potreste incontrare file <CODE>shar</CODE>, o <EM>archivi shell</EM>, specialmente sui newsgroup riguardanti il codice sorgente in Internet. Questi vengono ancora usati perché sono in formato testo, e ciò permette ai moderatori dei newsgroup di consultarli e respingere quelli inadatti. Essi possono essere spacchettati col comando <B>unshar nomefile.shar</B>. Altrimenti la procedura per trattarli è la stessa dei pacchetti tar. </LI> </UL> <P> <P> <UL> <LI>Alcuni archivi sorgente sono stati manipolati usando utilità di compressione non standard DOS, Mac o anche Amiga, tipo <EM>zip</EM>, <EM>arc</EM>, <EM>lha</EM>, <EM>arj</EM>, <EM>zoo</EM>, <EM>rar</EM>,e <EM>shk</EM>. Fortunatamente, <A HREF="http://metalab.unc.edu">Sunsite</A> e altri posti hanno delle utilità di decompressione per Linux che possono trattare molti o tutti tali formati. </LI> </UL> <P>Occasionalmente, potrebbe essere necessario aggiungere delle correzioni per dei bug o aggiornare i file sorgenti estratti da un archivio usando un file <CODE>patch</CODE> o <CODE>diff</CODE> che elenca le modifiche. I file di documentazione e/o <CODE>README</CODE> vi informeranno se ciò è necessario. La normale sintassi per invocare la potente utilità di <EM>patch</EM> di Larry Wall è <B>patch < patchfile</B>. <P>Ora potete procedere alla fase di compilazione del processo. <P> <P> <P> <P> <HR> <A HREF="Software-Building-HOWTO-3.html">Avanti</A> <A HREF="Software-Building-HOWTO-1.html">Indietro</A> <A HREF="Software-Building-HOWTO.html#toc2">Indice</A> </BODY> </HTML>