Linux-Mandrake: Manuale di riferimento | ||
---|---|---|
Indietro | Capitolo 16. La compilazione e l'installazione di software libero | Avanti |
Il formato standard[1] per la compressione nei sistemi Unix è il formato gzip, sviluppato dal progetto GNU, che viene considerato uno dei migliori strumenti per la compressione generica dei file.
gzip viene spesso associato con un programma che si chiama tar. tar è il superstite di tempi antidiluviani, quando gli operatori di computer archiviavano i loro dati su nastri. Oggi floppy disk e CD-ROM hanno rimpiazzato i nastri, ma tar viene ancora impiegato per creare archivi. Tutti i file presenti in una directory, ad esempio, possono essere riuniti in un unico file; quest'ultimo può essere facilmente compresso con gzip.
Questo è il motivo per cui gran parte del software libero è disponibile sotto forma di archivi tar, compressi con gzip. La loro estensione, perciò, è .tar.gz (o anche .tgz per brevità).
Per decomprimere un archivio di questo tipo, è possibile usare gzip e poi tar. Ma la versione GNU di tar (gtar) permette di usare gzip "al volo" (ingl. on-the-fly), e di decomprimere un archivio quasi senza accorgersene (e senza il bisogno di spazio aggiuntivo su disco).
L'uso di tar segue questa sintassi:
tar <opzioni file> <.tar.gz file> [file] |
L'opzione <files> non è necessaria. Se omessa, l'operazione richiesta verrà effettuata sull'intero archivio. Questo argomento non dev'essere specificato per estrarre il contenuto di un archivio .tar.gz.
Ad esempio:
$ tar xvfz guile-1.3.tar.gz -rw-r--r-- 442/1002 10555 1998-10-20 07:31 guile-1.3/Makefile.in -rw-rw-rw- 442/1002 6668 1998-10-20 06:59 guile-1.3/README -rw-rw-rw- 442/1002 2283 1998-02-01 22:05 guile-1.3/AUTHORS -rw-rw-rw- 442/1002 17989 1997-05-27 00:36 guile-1.3/COPYING -rw-rw-rw- 442/1002 28545 1998-10-20 07:05 guile-1.3/ChangeLog -rw-rw-rw- 442/1002 9364 1997-10-25 08:34 guile-1.3/INSTALL -rw-rw-rw- 442/1002 1223 1998-10-20 06:34 guile-1.3/Makefile.am -rw-rw-rw- 442/1002 98432 1998-10-20 07:30 guile-1.3/NEWS -rw-rw-rw- 442/1002 1388 1998-10-20 06:19 guile-1.3/THANKS -rw-rw-rw- 442/1002 1151 1998-08-16 21:45 guile-1.3/TODO ... |
Tra le opzioni di tar:
v rende tar prolisso. Questo significa che mostrerà sullo schermo tutti i file che trova nell'archivio. Se questa opzione viene omessa, l'operazione verrà eseguita in modo silenzioso.
f è un'opzione indispensabile: se non è indicata, tar cercherà di usare un nastro invece di un file archivio (e cioè il dispositivo /dev/rmt0).
z vi permette di usare tar con un archivio "gzippato" (cioè compresso con gzip, deve presentare un'estensione .gz). Se vi dimenticate di questa opzione, tar produrrà un messaggio d'errore. Viceversa, questa opzione non dev'essere impiegata con un archivio non compresso.
tar vi consente di eseguire un certo numero di azioni su un archivio (estrazione, lettura, creazione, aggiunta di file...). Un'opzione stabilisce quale azione dev'essere compiuta dal programma:
x: vi permette di estrarre file dall'archivio.
t: elenca il contenuto dell'archivio.
c: vi permette di creare un archivio. Potete usarla per fare una copia di backup dei vostri file personali, ad esempio.
r: consente di aggiungere file al termine dell'archivio. Non può essere usata con un archivio compresso.
Un nuovo formato di compressione, chiamato bzip2, ha cominciato a rimpiazzare gzip nell'uso normale. bzip2 produce archivi più piccoli rispetto a gzip, ma non è ancora diventato uno standard. Le estensioni .tar.bz2 hanno iniziato a diffondersi soltanto in tempi recenti.
bzip2 viene usato anche per mezzo del comando tar, proprio come gzip. L'unico accorgimento da adottare è la sostituzione della lettera z con la y. Ad esempio:
$ tar xvfy foo.tar.bz2 |
Alcune distribuzioni invece usano, o hanno usato, l'opzione I:
$ tar xvfI foo.tar.bz2 |
Un altro metodo (che sembrerebbe più compatibile, ma richiede più tempo per essere digitato!):
$ tar --use-compress-program=bzip2 -xvf foo.tar.bz2 |
bzip2 deve essere installato e incluso nella vostra variabile d'ambiente PATH prima di lanciare tar.
Adesso che siete pronti a decomprimere l'archivio, non dimenticate di eseguire questa operazione in veste di amministratori del sistema (root). Sarà necessario compiere azioni che non sono permesse a un utente normale, e anche se parte di quello che farete è alla portata di quest'ultimo, è più semplice essere root per tutto il tempo.
Il primo passo è quello di spostarsi nella directory /usr/local/src e copiarvi l'archivio. In tal modo, dovreste riuscire sempre a ritrovare l'archivio di partenza se il programma installato dovesse venir rimosso. Se non avete molto spazio a disposizione sul vostro disco rigido, salvate l'archivio su un floppy disk dopo aver installato il programma. Nulla vi vieta di cancellarlo, ma accertatevi di poterlo comunque reperire sul Web nel caso doveste averne bisogno.
La decompressione di un archivio tar, in genere, dovrebbe portare alla creazione di una nuova directory (potete controllare che ciò si verifichi grazie all'opzione t). Una volta creata, spostatevi in tale directory, in modo da esser pronti per continuare.
I sistemi Unix (di cui GNU/Linux e FreeBSD costituiscono validi esempi) sono sistemi sicuri. Questo significa che gli utenti normali non possono né compiere operazioni che possono mettere a rischio il sistema (la formattazione di un disco rigido, ad esempio), né modificare i file di altri utenti. Tale condizione comporta anche un'immunizzazione del sistema per quanto riguarda i virus.
root, d'altra parte, può fare tutto - anche lanciare un programma malevolo. Avere a disposizione il codice sorgente vi permette di esaminarlo per escludere la presenza di codice malevolo (virus o cavalli di Troia). È meglio prestare la massima attenzione a questo problema[2].
Il nostro suggerimento, pertanto, è di creare un utente dedicato a compiti amministrativi (free o admin, ad esempio) usando il comando adduser. Questo utente deve avere il permesso di scrivere nelle seguenti directory: /usr/local/src, /usr/local/bin e /usr/local/lib, come pure tutta la sotto-gerarchia di /usr/man (è anche possibile che debba avere il permesso di copiare file altrove). Vi raccomandiamo di rendere questo utente proprietario delle directory necessarie, oppure di creare un gruppo per lui e di rendere tali directory accessibili in scrittura per il gruppo.
Dopo aver preso queste precauzioni, potete seguire le istruzioni della sezione Il modo più semplice.
[1] | Un nuovo programma, chiamato bzip2, più efficiente nei confronti dei file di testo (e più esigente in materia di potere di calcolo), viene usato sempre più di frequente. Si veda la sezione successiva bzip2 che si occupa specificamente di esso. |
[2] | Un proverbio del mondo BSD dice: "Non fidarti mai di un pacchetto di cui non hai i sorgenti." |