pkg://Ftape-HOWTO.html.tgz:50081/Ftape-HOWTO-7.html
downloads
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
<TITLE>The Linux Ftape-HOWTO: Archiviare e ripristinare i dati</TITLE>
<LINK HREF="Ftape-HOWTO-8.html" REL=next>
<LINK HREF="Ftape-HOWTO-6.html" REL=previous>
<LINK HREF="Ftape-HOWTO.html#toc7" REL=contents>
</HEAD>
<BODY>
<A HREF="Ftape-HOWTO-8.html">Avanti</A>
<A HREF="Ftape-HOWTO-6.html">Indietro</A>
<A HREF="Ftape-HOWTO.html#toc7">Indice</A>
<HR>
<H2><A NAME="s7">7. Archiviare e ripristinare i dati</A></H2>
<P>
<P>Questa sezione descrive alcune semplici utilizzi di <CODE>tar</CODE> ed
<CODE>mt</CODE>. Altri esempi si possono trovare nell'<CODE>ftape-manual</CODE> del
pacchetto <CODE>ftape-doc</CODE>. L'<CODE>ftape-tools</CODE> contiene alcuni semplici
ambienti di test automatizzati tipo <CODE>DejaGnu</CODE>
<BLOCKQUOTE>Pacchetto
per scrivere test automatizzati.</BLOCKQUOTE>
Vedere la sezione
<A HREF="Ftape-HOWTO-4.html#getting">Procurarsi Ftape</A> per informazioni su dove
scaricare questi pacchetti addizionali.
<P>
<H2><A NAME="write-backup"></A> <A NAME="ss7.1">7.1 Scrivere un archivio su di un nastro</A>
</H2>
<P>
<P>È possibile utilizzare ``<CODE>tar</CODE>'', ``<CODE>ttdd</CODE>'', ``<CODE>cpio</CODE>'' e
``<CODE>afio</CODE>''. Ci sarà bisogno di utilizzare ``<CODE>mt</CODE>'' per ottenere
il massimo dalle potenzialità dai nastri e dal driver <CODE>ftape</CODE>. Per
cominciare consiglio <CODE>tar</CODE>, in quanto permette di archiviare molte
directory e di estrarre successivamente file separati dall'archivio.
<CODE>cpio</CODE> crea archivi piú piccoli ed è generalmente piú flessibile di
<CODE>tar</CODE>, ma gli mancano alcuni caratteristiche come l'etichettamento
dei volumi. <CODE>afio</CODE> crea backup nei quali ogni file è compresso
individualmente e poi concatenato. Questo permette di accedere ai
file ``dopo'' il punto di errore. Se si utilizzano file archiviati
con <CODE>tar</CODE> e compressi con <CODE>gzip</CODE>, tutti i dati dopo il punto di
errore sono persi! (secondo me, questa è una buona ragione per
<EM>non</EM> utilizzare la compressione sui backup). Quale sia la scelta
piú opportuna dipende dalla situazione e dalle caratteristiche diverse
da programma a programma. Consiglio di dare un'occhiata ad ogni
programma ed a rivedere le opzioni che ognuno di essi fornisce. È
possibile che questo HOWTO possa fornire maggiori dettagli al riguardo
in futuro.
<P>Ci sono ulteriori link che puntano a programmi di backup all'indirizzo
<A HREF="http://www-math.math.rwth-aachen.de/~LBFM/claus/ftape/">http://www-math.math.rwth-aachen.de/~LBFM/claus/ftape/</A> nella
sezione <CODE>software</CODE> della pagina.
<P>Per eseguire il backup del proprio albero dei sorgenti del kernel
utilizzando <CODE>tar</CODE>, impartire i seguenti comandi (dove si assume che
i sorgenti si trovino in <CODE>/usr/src/linux</CODE>):
<BLOCKQUOTE><CODE>
<PRE>
# cd /usr/src
# tar cf /dev/ftape linux
</PRE>
</CODE></BLOCKQUOTE>
<P>Questo non comprime i file, ma fa girare un po' il nastro. Se si
vuole la compressione (e si possiede il <CODE>tar</CODE> 1.11.2), è
sufficiente aggiungere il flag <CODE>-z</CODE>
<BLOCKQUOTE><CODE>tar</CODE> assume che il
primo argomento sia un'opzione, cosicché il ``<CODE>-</CODE>'' non è
necessario, cioè i seguenti due comandi eseguono la stessa operazione:
``<CODE>tar xzf /dev/ftape</CODE>'' e ``<CODE>tar -xzf /dev/ftape</CODE>''</BLOCKQUOTE>
cioè: ``<CODE>tar czf /dev/ftape linux </CODE>''.
<P>Per maggiori istruzione su come utilizzare <CODE>tar</CODE>, <CODE>dd</CODE> ed <CODE>mt</CODE>
consultare le <I>man-page</I> e i file <I>texinfo</I> ottenuti con le
rispettive distribuzioni.
<P>
<P>
<H2><A NAME="ss7.2">7.2 Ripristinare un archivio</A>
</H2>
<P>
<P>Va bene, ora ripristiniamo il backup dei sorgenti del kernel
effettuato alla sezione precedente
<A HREF="#write-backup">Scrivere un archivio su di un nastro</A>. Per fare questo
digitare semplicemente:
<P>
<BLOCKQUOTE><CODE>
<PRE>
tar xf /dev/ftape
</PRE>
</CODE></BLOCKQUOTE>
<P>Se si è utilizzata la compressione, si dovrà digitare:
<P>
<BLOCKQUOTE><CODE>
<PRE>
tar xzf /dev/ftape
</PRE>
</CODE></BLOCKQUOTE>
<P>Quando si utilizza la compressione, <CODE>gzip</CODE> si lamenterà di dati
ridondanti subito dopo la fine dell'archivio (e ciò condurrà ad un
messaggio di ``broken pipe''). Tutto ciò può essere tranquillamente
ignorato.
<P>Per altri programmi di utilità, consultare la pagina di manuale.
<P>
<P>
<H2><A NAME="ss7.3">7.3 Provare un archivio</A>
</H2>
<P>
<P><CODE>tar</CODE> possiede un'opzione (<CODE>-d</CODE>) per rilevare le differenze fra
due archivi. Per testare il proprio backup dei sorgenti del kernel
digitare:
<P>
<BLOCKQUOTE><CODE>
<PRE>
tar df /dev/ftape
</PRE>
</CODE></BLOCKQUOTE>
<P>Se non si possiede la <I>man-page</I> di <CODE>tar</CODE>, non tutto è perduto
(ancora); <CODE>tar</CODE> possiede un'opzione interna per listare i flag
disponibili: provare con ``<CODE>tar --help 2>&1 | less</CODE>''.
<P>
<H2><A NAME="ss7.4">7.4 Mettere piú di un backup su di un nastro</A>
</H2>
<P>
<P>Per mettere piú di un backup su di un nastro si deve possedere
l'utility <CODE>mt</CODE>. Probabilmente è già installata sul sistema se si
possiede una delle distribuzioni principali (cioè Slackware o Debian).
<P>Programmi come <CODE>tar</CODE> e <CODE>cpio</CODE> generano un singolo archivio per
il nastro (Tape ARchive) e non sanno nulla circa l'utilizzo di piú
file o il posizionamento di un nastro. Non fanno altro che leggere o
scrivere su di un file di periferica. <CODE>mt</CODE> sa perfettamente come
muovere il nastro avanti ed indietro, ma non sa assolutamente come
estrarre i dati dal nastro. Come probabilmente si avrà già intuito,
la combinazione di <CODE>tar</CODE> o <CODE>cpio</CODE> con <CODE>mt</CODE> permette il
trucco.
<P>Utilizzando il device <CODE>nqft[0-3]</CODE> (<CODE>nftape</CODE>), è possibile
posizionare il nastro con <CODE>mt</CODE> al posto giusto (``<CODE>mt -f
/dev/nqft0 fsf 2</CODE>'' indica di andare avanti di due ``marcatori di
file'', cioè di due file <CODE>tar</CODE>) e poi utilizzare <CODE>tar</CODE> o
<CODE>cpio</CODE> per leggere o scrivere i dati rilevanti.
<P>L'utilizzo piú comune delle periferiche non-riavvolgenti è quello di
aggiungere un altro backup ad un nastro esistente. Qui di seguito ci
sono i passi dettagliati con una breve spiegazione per una
comprensione migliore.
<P>
<UL>
<LI>Inserire il nastro nell'unità. Su alcune unità questo potrebbe
causare il riavvolgimento del nastro.
</LI>
<LI>Impartire un comando di ``fine nastro'' (End-of-Tape) alle
periferiche <EM>non</EM>-riavvolgenti.
<BLOCKQUOTE><CODE>
<PRE>
mt -f /dev/n???? eof
</PRE>
</CODE></BLOCKQUOTE>
Il nastro dovrebbe essere ora posizionato alla fine dei dati
(End-of-Data o <B>EOD</B>). Il nastro non si muoverà finché:
<UL>
<LI>un programma non aprirà la periferica;</LI>
<LI>la periferica riavvolgente verrà chiusa;</LI>
<LI>il modulo di ftape verrà rimosso dalla memoria kernel (rmmod);</LI>
<LI>il nastro verrà espulso.</LI>
</UL>
L'utilizzo di ``<CODE>mt eof</CODE>'' dovrebbe risultare piú veloce con i
nastri QIC.
</LI>
<LI>L'operazione successiva comincerà dal marcatore EOD. Se si
vuole intraprendere un'operazione di scrittura, questa aggiungerà un
nuovo ``file''. Se si intraprende un'operazione di lettura, questa
fallirà con un EOF. Il marcatore di EOD per molti formati di nastro
è, in effetti, due marcatori di EOF consecutivi, anche se, dalla
versione 3.<I>xx</I>, <CODE>ftape</CODE> utilizza la tavola di volume, come
specificato nello standard <CODE>QIC-113</CODE>, per emulare i marcatori di
file, cosicché non ci sono due marcatori di file consecutivi nel punto
di EOD. La scrittura dei marcatori di EOF viene effettuata o dal
driver o dall'hardware nel momento in cui riceve un close().
</LI>
<LI>Questo è il momento in cui vengono effettivamente scritti i dati
sul nastro.
</LI>
<LI>Questo punto è importante. <B>Ora riavvolgere il nastro</B>.
<CODE>ftape</CODE> mantiene nella propria cache alcune informazioni inerenti i
segmenti di intestazione del nastro che vengono aggiornati <B>solo
quando il nastro viene riavvolto</B>. L'utilizzo della cache è
necessario in quanto il riavvolgimento del nastro e l'aggiornamento
dei segmenti di intestazione richiede una notevole quantità di tempo.
L'altra faccia della medaglia è che si perderanno informazioni se si
esegue un'operazione di scrittura e non si riavvolge il nastro.
</LI>
</UL>
<P>
<P>
<H2><A NAME="ss7.5">7.5 Aggiungere file ad un archivio</A>
</H2>
<P>
<P>«C'è un modo per espandere un archivio mettendo un file sul nastro e,
successivamente. aggiungerne altri?»
<P>No. La documentazine di <CODE>tar</CODE> dice di utilizzare ``<CODE>tar -Ar</CODE>'',
ma non funziona. Questa è una limitazione del driver <CODE>ftape</CODE>
corrente.
<P>
<P>
<H2><A NAME="ss7.6">7.6 Eseguire il mount o l'unmount dei nastri</A>
</H2>
<P>
<P>Poiché un nastro non ha un ``filesystem'' su di esso, non si esegue il
mount o l'unmount di un nastro. Per effettuare un backup, inserire
semplicemente il nastro ed impartire i comandi di <CODE>tar</CODE> (o
qualsiasi altro comando si utilizzi per accedere al nastro).
<P>
<P>
<P>
<P>
<P>
<HR>
<A HREF="Ftape-HOWTO-8.html">Avanti</A>
<A HREF="Ftape-HOWTO-6.html">Indietro</A>
<A HREF="Ftape-HOWTO.html#toc7">Indice</A>
</BODY>
</HTML>