[>a2322.html>] [<a2320.html<] [^a2.html^]
L'amministrazione di un sistema Unix è da sempre un grosso problema sotto tutti i punti di vista. Il primo tra tutti è quello della salvaguardia dei dati, e al rischio della loro perdita si pone rimedio solo attraverso una corretta gestione delle copie di sicurezza.
Gli strumenti a disposizione per eseguire copie di sicurezza sono molti e si possono distinguere due estremi possibili:
copiare i file e le directory;
copiare una partizione o un disco intero.
La copia di una partizione o di un disco può avere il vantaggio di permettere l'archiviazione della situazione esatta in cui si trova, problemi inclusi. Inoltre, non avendo un processo di lettura sui file, la data di lettura di questi non viene modificata. Lo svantaggio fondamentale di questo tipo di copia è che questa è riferita a un disco particolare (o a una partizione) di una macchina particolare: è molto poco probabile che si possano recuperare dati archiviati in questo modo in un disco fisso diverso. Questa tecnica, più che per eseguire delle copie di sicurezza, viene utilizzata per archiviare dischetti nel loro stato originale.
La copia di file e directory non tiene conto del supporto fisico in cui si trovano e nemmeno del tipo di file system utilizzato. Questo comporta una serie di conseguenze:
i file e le directory vengono scanditi in lettura, alterando quindi le date di lettura;
i collegamenti simbolici vanno copiati come tali e non devono essere copiati gli oggetti a cui questi puntano;
In generale, dal momento che una copia di file e directory è portabile, mentre una copia di un dispositivo intero non lo è (quando non si tratta di un dispositivo standard come i dischetti), dovrebbe essere preferibile la prima di queste due soluzioni.
È intuitiva la ragione per la quale le copie di sicurezza non vanno fatte archiviando un dispositivo intero come se fosse un file unico. La copia pura e semplice dei file e delle directory è una tecnica possibile, ma richiede condizioni particolari:
l'unità di destinazione deve essere in grado di accogliere i dati come sono all'origine, in pratica dovrebbe trattarsi di un disco;
deve trattarsi di unità rimovibili;
la capacità di queste unità deve essere maggiore di quella del file più grande che si ha a disposizione.
Di solito si preferisce la tecnica dell'archiviazione dei dati in un file unico (che rappresenta l'archivio), assieme a tutte le informazioni necessarie per riprodurre i file e le directory originali. In questo modo si possono utilizzare unità di memorizzazione di qualunque tipo, eventualmente suddividendo l'archivio in pezzi più piccoli contenibili al loro interno.
Gli oggetti contenibili in un file system possono essere di vario tipo (file puri e semplici, directory, file di dispositivo, collegamenti, ecc.) e così pure i loro attributi (permessi, date, ecc.). Il sistema di archiviazione che si utilizza deve essere in grado riprodurre correttamente tutti i dati del tipo di file system che si utilizza.
Per esempio, non sarebbe possibile archiviare i dati di un file system Unix in un archivio .zip
che è nato per gli ambienti Dos.
Tra gli attributi dei file, è molto importante l'indicazione degli utenti e dei gruppi proprietari. I programmi di archiviazione potrebbero non essere in grado di memorizzare il numero UID e GID, limitandosi ad annotare solo i nomi degli utenti e dei gruppi. In tal modo, nel momento del recupero, i numeri UID e GID verrebbero riprodotti in base alle caratteristiche del sistema, cioè in base alla particolare configurazione dei file /etc/passwd
e /etc/group
.
Il fatto che il programma di archiviazione memorizzi i numeri UID e GID, oppure che memorizzi i nomi di utenti e gruppi, ha delle implicazioni che si traducono, a seconda delle circostanze, in vantaggi o svantaggi.
Se i dati archiviati devono essere riprodotti in un sistema diverso da quello di origine, in cui ci sono gli stessi nomi di utenti e di gruppi, che però potrebbero corrispondere a numeri UID e GID differenti, diventa conveniente un metodo di archiviazione che ignori i numeri degli utenti e dei gruppi. Tuttavia, se alcuni nomi di utenti o gruppi non sono presenti nel sistema di destinazione, la proprietà di questi file verrebbe assegnata automaticamente all'utente root.
Quando si esegue una copia di sicurezza di un intero sistema, e poi lo si vuole riprodurre altrove, si agisce per mezzo di un sistema operativo minimo, avviato probabilmente attraverso dischetti. In queste condizioni, lo scopo è quello di riprodurre esattamente il sistema originale, e per questo, i numeri UID e GID andrebbero rispettati fedelmente, nell'attesa che sia ripristinato tutto, compresi i file /etc/passwd
e /etc/group
originali.
Quando il programma di archiviazione memorizza entrambe le informazioni, sia UID/GID che i nomi, nel momento del recupero si pone il problema di come comportarsi quando questi non corrispondono. Si presentano queste alternative:
se i numeri corrispondono ai nomi, non si pongono problemi nell'estrazione;
se i numeri e i nomi non sono utilizzati nel sistema di destinazione, si possono estrarre i dati utilizzando i numeri originali, anche se non sono abbinati ad alcun nome;
se i numeri non sono utilizzati nel sistema di destinazione, mentre i nomi sì, si possono cambiare i numeri in modo che corrispondano i nomi;
se i nomi non sono utilizzati nel sistema di destinazione, mentre i numeri corrispondono a nomi differenti, non si può fare altro che recuperare i numeri come solo, assegnando in pratica la proprietà a utenti e gruppi con nomi differenti;
se sia i nomi che i numeri sono presenti, ma non hanno lo stesso abbinamento (cioè i numeri corrispondono a nomi diversi), dovrebbe essere preferibile cambiare i numeri in modo che corrispondano ai nomi.
Quando si intende archiviare una porzione di file system, e quindi solo ciò che si trova a partire da una certa directory in poi, è importante sapere come si comporta il programma di archiviazione al riguardo della registrazione dei percorsi (path). Se si vuole archiviare la directory /home/tizio/esempi/
, il programma di archiviazione potrebbe registrare il suo contenuto in uno dei tre modi seguenti.
/home/tizio/esempi/*
home/tizio/esempi/*
./*
Naturalmente, ciò dipende anche dal modo in cui vengono date le istruzioni al programma stesso.
Nel primo caso, quando dovesse rendersi necessario il recupero dei dati, questi verrebbero collocati esattamente nella directory indicata, in modo assoluto. Nel secondo, verrebbero collocati in modo relativo a partire dalla directory corrente, ottenendo così la directory ./home/tizio/esempi/*
. Nel terzo caso si avrebbe il recupero del contenuto di quella directory senza informazioni sul percorso precedente.
Le copie di sicurezza permettono di conservare la situazione dei dati in un istante determinato, ma i dati sono soggetti a continui aggiornamenti. Per questo occorre una procedura attraverso la quale si possa avere una gestione ordinata e ragionevolmente sicura delle copie.
A parte i rischi connessi con il tipo di supporto utilizzato per le copie e il luogo in cui queste vengono conservate, vanno almeno considerate le modalità sequenziali con cui queste possono essere eseguite. È importante rispettare un paio di regole elementari:
non si riutilizzano i supporti contenenti la copia effettuata la volta precedente;
non si utilizzano supporti in cattive condizioni.
Per distinguere una copia effettuata in un momento rispetto a quella fatta in un altro, si parla di generazione. In pratica, l'ultima copia di sicurezza effettuata è l'ultima generazione, mentre le altre sono tutte generazioni precedenti. Questo termine si riferisce naturalmente a copie fatte sullo stesso insieme di dati.
Il buon senso suggerisce di utilizzare almeno tre generazioni di copie: l'ultima, quella precedente, e quella ancora precedente.
La copia di un file system intero comporta solitamente un impegno consistente, sia in termini di tempo che di supporti impiegati. Il programma che si utilizza per le copie, oppure un gruppetto opportuno di script di shell, potrebbe permettere di effettuare la copia successiva dei soli file che sono stati modificati nel frattempo.
Quando si esegue una copia dei soli file che risultano diversi rispetto all'ultima copia completa, si parla di copia di primo livello; quando se ne esegue un'altra in un momento successivo per le variazioni avvenute dopo quella di primo livello, si parla di secondo livello e così di seguito.
A parte le difficoltà legate alla conservazione dell'informazione sullo stato dei file (di solito si tratta della data di modifica e di creazione), si pongono poi dei problemi nel momento in cui dovesse essere necessario un ripristino dalle copie. Si dovrebbe ripristinare l'ultima copia completa, seguita da tutte quelle aggiuntive dei soli file modificati, nello stesso ordine in cui sono state fatte: dalla più vecchia alla più recente.
Sotto questo aspetto, quando non si vuole ripetere una copia completa troppo frequentemente, si cerca almeno di eseguire copie successive sempre di primo livello (si hanno quindi più generazioni di copie di primo livello). In tal modo, un eventuale recupero richiederebbe solo il ripristino dell'ultima generazione di copia completa e dell'ultima generazione di copia di primo livello.
Questo sistema potrebbe non tenere conto dei file cancellati dopo l'ultima generazione di copia completa: in tal modo, un eventuale recupero dalle copie di sicurezza potrebbe comportare il ripristino di file che non servono più.
In un sistema monoutente, l'unico utilizzatore è anche l'amministratore del proprio sistema, e di conseguenza anche l'unico responsabile. Sarà quindi lui (o lei) a sapere esattamente cosa ha fatto e cosa è necessario copiare per sicurezza.
In un sistema multiutente o comunque quando si condividono dati in gruppo, anche se a prima vista potrebbe sembrare conveniente la gestione delle copie in modo centralizzato, è comunque utile affidarla in parte anche alla responsabilità dei singoli:
periodicamente, un amministratore potrebbe occuparsi di eseguire la copia complessiva di tutto il sistema;
ogni giorno, gli utenti dovrebbero preoccuparsi di eseguire le copie dei dati di loro competenza.
Nel momento in cui dovesse essere necessario, si dovrebbero recuperare i dati dalle copie generali fatte dall'amministratore, e quindi, di seguito, da quelle particolari dei singoli utenti.
Se determinate attività vengono svolte in gruppo, si potrebbe eleggere ugualmente un responsabile all'interno di questo che si occupi delle copie di quell'attività.
Il vantaggio di questo metodo sta nell'alleggerimento delle responsabilità dell'amministratore e nella soluzione più facile di piccoli problemi locali:
se un gruppo di lavoro ha alterato i dati a causa di un'operazione errata, è sufficiente recuperare i dati di quel gruppo senza disturbare l'intero sistema;
la distribuzione della responsabilità aumenta la consapevolezza da parte degli utenti.
La scelta del supporto di conservazione della copia è importante e comporta alcune conseguenze:
il costo;
la disponibilità di unità in grado di utilizzarli;
la facilità o difficoltà nel recupero di porzioni dei dati archiviati.
Il supporto tradizionalmente più economico e più diffuso nel passato è il nastro magnetico. Questo ha però lo svantaggio fondamentale di essere un mezzo di memorizzazione sequenziale: non è possibile estrarre un file se prima non si scorre tutto il nastro (o tutti i nastri) che c'è prima di quel dato. Un altro svantaggio importante sta nella necessità di rileggere il suo contenuto, dopo la copia, per verificare che i dati siano stati registrati correttamente.
Da alcuni anni si possono trovare dischi rimovibili di grandi capacità a prezzi ragionevolmente bassi. Questi hanno il vantaggio di poter essere utilizzati come dischi normali, e come tali, il recupero di dati parziali diventa molto più facile, anche quando la copia di sicurezza avviene per mezzo di un'archiviazione tradizionale.
Anche i CD-R sono diventati un ottimo mezzo di archiviazione, data l'economicità dei supporti: anche se è possibile una sola registrazione, il prezzo di un CD vergine è molto contenuto. La preparazione di un CD-ROM richiede molto spazio su disco per la preparazione dell'immagine prima dell'operazione di «incisione» (burn), e richiede anche l'investimento del masterizzatore. Si tratta di soldi ben spesi: una copia di sicurezza fatta su CD-ROM può essere letta ovunque ci sia un lettore, e questo è ormai un accessorio standard degli elaboratori; inoltre, il CD-ROM ha una vita media molto lunga, garantendo la durata delle copie di sicurezza. Esiste tuttavia un problema nuovo: si deve essere prudenti con le copie obsolete. Infatti, quando le copie di sicurezza sono molto vecchie, e non servono più, si può essere tentati di conservare i CD o di donarli a qualcuno, magari per gioco, o perché li usi come un addobbo. È evidente che si tratta di un'idea sbagliata: dal momento che questi CD-ROM sono stati usati per delle copie di sicurezza, contengono potenzialmente informazioni delicate e riservate.
I CD-ROM contenenti copie di sicurezza obsolete vanno distrutti prima di essere gettati nel cassonetto del riciclaggio del materiale plastico! Per distruggere un CD, basta tagliarlo a metà con una forbice normale. |
Quando i dati da archiviare sono pochi, può convenire l'utilizzo dei soliti dischetti: sono sicuramente una scelta economica e le unità a dischetti sono disponibili ovunque. Per quanto riguarda la facilità di estrazione dei dati, questo dipende dal modo con cui questi vengono usati: se si registrano i dati al loro interno senza fare uso di alcun file system, si ottiene un comportamento equivalente ai nastri; se si utilizzano con file system, è necessario che l'archivio sia contenibile all'interno di un solo dischetto.
Il problema della dimensione dei dati da archiviare può essere ridotto parzialmente con l'aiuto della compressione. La tecnica della compressione può essere applicata all'archiviazione in due modi possibili:
prima della costruzione dell'archivio, ottenendo così un'archivio di file compressi;
dopo la costruzione dell'archivio, ottenendo così un archivio compresso.
La differenza è enorme. La compressione introduce un elemento di rischio maggiore nella perdita di dati: se una copia di sicurezza viene danneggiata parzialmente, l'effetto di questo danno si riflette in una quantità di dati maggiore (spesso è compromesso tutto l'archivio).
I programmi di archiviazione compressa maggiormente diffusi negli ambienti Dos (sia shareware che freeware) utilizzano la tecnica della compressione prima dell'archiviazione. È questo il caso degli archivi .zip
, .arj
, .lzh
e di altri ancora. Tale sistema ha il vantaggio di permettere una facile scansione dell'archivio alla ricerca di file da estrarre (e decomprimere) o un ampliamento dell'archivio in un momento successivo alla sua creazione. Un altro vantaggio è la minore sensibilità alla perdita dei dati: se una parte dell'archivio è danneggiato, dovrebbe essere possibile ripristinare almeno il resto. Lo svantaggio principale è che la compressione fatta in questo modo, a piccoli pezzi, non è molto efficiente.
La compressione fatta dopo l'archiviazione elimina ogni possibilità di accedere ai dati in esso contenuti e di poterlo ampliare, se non dopo averlo prima decompresso. Questo significa anche che un danneggiamento parziale dell'archivio implica la perdita di tutti i dati da quel punto in poi.
Un altro tipo di problema deriva dalla difficoltà di distribuire un archivio compresso suddividendolo su più unità di memorizzazione. In questo caso però, l'efficienza della compressione è massima. Negli ambienti Unix, di fatto, è questa la scelta preferita.
La coppia tar e gzip rappresenta lo standard nell'archiviazione dei dati: tar genera un archivio non compresso che può comprendere anche collegamenti simbolici e file speciali; gzip lo comprime generando un archivio più piccolo.
La coppia funziona così bene che tar è in grado di utilizzare gzip direttamente senza dover far uso di pipeline, purché il risultato dell'archiviazione non debba essere suddiviso su più supporti.
L'origine del nome tar è Tape ARchive, ma questo programma permette ugualmente di gestire qualunque altro tipo di sistema di memorizzazione.
La versione GNU di tar (quella utilizzata normalmente nelle distribuzioni GNU/Linux), non memorizza percorsi assoluti.
I programmi tar e gzip sono descritti rispettivamente nelle sezioni 61.1.2 e 61.2.1. Nelle sezioni seguenti sono riportati alcuni esempi.
Negli esempi seguenti si immagina di dover archiviare il contenuto della directory |
Negli esempi si cerca di utilizzare la forma tradizionale per l'indicazione delle opzioni standard di tar. Alcune di queste possono fare a meno del trattino iniziale, come nel caso di c e x. Altre opzioni hanno quel trattino, ma possono essere aggregate in un'unica serie di lettere, come nel caso di czvf, dove si ha l'unione di: c, -z, -v e -f.
L'archiviazione attraverso la registrazione diretta sui dispositivi utilizza completamente il supporto di memorizzazione destinatario, anche se la quantità di dati da archiviare è molto piccola.
Quello sotto indicato è un esempio di archiviazione in un nastro magnetico singolo: l'opzione c sta per Create; -f sta per File e permette di definire la destinazione dell'archiviazione; -z attiva la compressione attraverso gzip. Dal momento che si utilizza la compressione, l'archiviazione multivolume non è ammissibile.
#
tar czf /dev/ftape ~/lettere
I dischetti possono essere utilizzati come i nastri, in modo sequenziale, ma questo lo si fa solo quando l'archivio generato non è contenibile in un solo dischetto: si ha quindi una copia multivolume, e in tal caso non è ammissibile l'uso della compressione.
#
tar cf /dev/fd0u1440 -M ~/lettere
In questo caso, l'opzione -M sta proprio per Multivolume indicando quindi la possibilità che il supporto di destinazione non sia in grado di contenere l'intero archivio. In tal modo, tar si prende cura di sospendere l'archiviazione ogni volta che viene raggiunta la capienza massima. tar non è in grado di determinare da solo questa capacità: in questo caso, il dispositivo del dischetto è stato indicato in modo da riconoscerne la geometria, ma in alternativa si poteva utilizzare l'opzione -L seguita dalla dimensione, come nell'esempio seguente:
#
tar cf /dev/fd0 -M -L 1440 ~/lettere
Quando si utilizzano i dischetti in questo modo, questi non contengono un file system e di conseguenza non possono essere montati. La lettura del loro contenuto avviene nello stesso modo della scrittura, attraverso il nome del dispositivo.
L'archiviazione su dischetti, attraverso il dispositivo, richiede comunque che questi siano già stati inizializzati (a basso livello) secondo il formato che viene indicato. Non conta che siano vuoti: è importante che ci siano le tracce e i settori come previsto. |
Quando l'archiviazione può essere fatta su dischi (con file system ) di dimensione sufficiente a contenere l'archivio intero, invece di utilizzare l'opzione -f per specificare un file di dispositivo, si può indicare direttamente un normalissimo file al loro interno, come nell'esempio seguente:
$
tar cf /mnt/mo1/lettere.tar ~/lettere
In pratica, nel caso appena visto, si utilizza un disco montato nella directory /mnt/mo1/
e si crea il file lettere.tar
al suo interno.
L'archiviazione compressa, con l'utilizzo di gzip, può essere ottenuta semplicemente con l'opzione -z, come nell'esempio seguente:
$
tar czf /mnt/mo1/lettere.tar.gz ~/lettere
In tal caso l'estensione standard utilizzata (ma non obbligatoria) è .tar.gz
che rende esplicito il fatto che la compressione è stata fatta dopo l'archiviazione. In alternativa si può usare anche .tgz
, diffusa nei sistemi Dos.
Gli esempi seguenti, pur archiviando gli stessi dati, mostrano un modo diverso di registrare i percorsi all'interno dell'archivio. La directory di lavoro nel momento in cui si avvia il comando, è /home/tizio/
, corrispondente alla directory personale dell'utente.
/home/tizio$
tar czf /mnt/mo1/lettere.tar.gz ~/lettere
/home/tizio$
tar czf /mnt/mo1/lettere.tar.gz /home/tizio/lettere
/home/tizio$
tar czf /mnt/mo1/lettere.tar.gz lettere
/home/tizio$
tar czf /mnt/mo1/lettere.tar.gz ./lettere
Nei primi due esempi, viene archiviata l'indicazione del percorso precedente, e pur essendo stato dato in modo assoluto (/home/tizio/lettere
), questo viene reso relativo da tar, eliminando la prima barra obliqua che si riferisce alla directory radice.
Negli ultimi due esempi, viene archiviata l'indicazione della sola directory lettere/
, e in modo relativo.
I file sono forniti di informazioni orarie. In base a queste è possibile eseguire delle copie di sicurezza riferite a dei periodi. Le copie di sicurezza a più livelli possono essere ottenute in modo semplificato attraverso l'uso dell'opzione -N seguita da una data di partenza: si ottiene l'archiviazione di quanto variato a partire da una certa data; di solito si utilizza quella dell'ultima archiviazione completa.
$
tar czf /mnt/mo1/lettere.tar.gz -N 19970801 ~/lettere
In questo caso, la data che segue l'opzione -N rappresenta la mezzanotte del primo agosto 1997.
$
tar czf /mnt/mo1/lettere.tar.gz -N "19970801 15:30" ~/lettere
Quest'ultimo esempio aggiunge alla data l'indicazione di un'ora particolare, 15.30, e per evitare che sia interpretato in maniera errata, il gruppo data-orario viene racchiuso tra virgolette.
Quando si eseguono delle copie di sicurezza, è probabile che si voglia archiviare solo la situazione di una certa unità di memorizzazione (partizione o directory condivisa in rete). In tal caso si deve indicare precisamente questo limite con l'opzione -l (Limit).
Quando si accede all'archivio per estrarne il contenuto o per compararlo con i dati originali, entra in gioco il problema dei percorsi. I dati vengono estratti normalmente nella directory corrente, oppure vengono comparati utilizzando come punto di partenza la directory corrente. Quindi, se l'archivio contiene la directory degli esempi precedenti, registrata a partire dalla radice (ma come già spiegato, senza l'indicazione della radice stessa), questi verranno estratti in ./home/tizio/lettere/
, oppure comparati con i dati contenuti a partire da questo percorso.
Se in fase di estrazione o comparazione si vuole fare riferimento a percorsi assoluti, si può utilizzare l'opzione -P. In questo modo si afferma esplicitamente che i percorsi indicati nell'archivio vanno considerati come discendenti dalla directory radice.
Questo particolare della gestione dei percorsi è molto importante quando si fanno le copie di sicurezza: spesso si hanno dischi montati su punti di innesto provvisori, e in tal caso non è molto conveniente memorizzare anche il percorso su cui sono montati.
Per poter effettuare un recupero di dati da un archivio è necessario conoscere in particolare il modo in cui questo era stato creato: normale, compresso, multivolume.
In generale, per recuperare dati da un archivio si utilizza l'opzione x (eXtract) al posto di c, e a essa si devono eventualmente aggiungere -z nel caso di estrazione da un archivio compresso con gzip o -M nel caso di un archivio multivolume.
Durante il recupero di una copia di sicurezza è importante fare in modo che i dati riprodotti mantengano gli stessi attributi originali (permessi e proprietà). Per questo si aggiungono le opzioni -p (riproduce i permessi) e --same-owner (riproduce le proprietà: UID e GID).
L'esempio seguente mostra un recupero da un archivio multivolume su dischetti.
~$
tar x -M -p --same-owner -f /dev/fd0u1440
L'esempio seguente mostra un recupero con percorso assoluto: i percorsi indicati all'interno dell'archivio vengono aggiunti alla directory radice.
$
tar xz -P -p --same-owner -f /mnt/mo1/lettere.tar.gz
Il recupero parziale del contenuto di un archivio tar può essere fatto per file singoli o per directory, oppure attraverso l'uso di caratteri jolly. In quest'ultimo caso però, occorre fare attenzione a evitare che la shell esegua l'espansione: è compito di tar determinare a cosa corrispondano all'interno dei suoi archivi.
Valgono le regole solite: l'asterisco rappresenta un insieme di caratteri qualunque; il punto interrogativo rappresenta un carattere qualsiasi; le parentesi quadre rappresentano un carattere a scelta tra un insieme o tra un intervallo determinato.
Quando si indicano nomi di file o directory, o quando si utilizzano i caratteri jolly, occorre tenere presente che si sta facendo riferimento ai dati contenuti nell'archivio, con i percorsi memorizzati originariamente. Inoltre, se con i caratteri jolly si determina la corrispondenza con una directory, si ottiene l'estrazione del contenuto complessivo di quella.
L'esempio seguente mostra in che modo potrebbero essere recuperate le lettere contenute nella directory home/tizio/lettere/nuove/
(l'esempio appare diviso su due righe, a causa della sua lunghezza).
$
tar xz -P -p --same-owner -f /mnt/mo1/lettere.tar.gz (segue)
home/tizio/lettere/nuove
L'esempio seguente mostra l'estrazione di tutti i file e delle directory corrispondenti a home/tizio/lettere/ve*
. Gli apici sono necessari per evitare che intervenga la shell a espandere l'asterisco.
$
tar xz -P -p --same-owner -f /mnt/mo1/lettere.tar.gz (segue)
'home/tizio/lettere/ve*'
Per ottenere un elenco del contenuto di un archivio e per compararne il contenuto con i dati originali, valgono le stesse regole del recupero dei dati. In particolare, al posto dell'opzione x si deve utilizzare t (lisT) per gli elenchi e d (Diff) per la comparazione.
L'archiviazione di un file system intero, va fatta considerando le caratteristiche di questo, in particolare della sua struttura fisica: partizioni e condivisione attraverso la rete. In generale dovrebbe essere conveniente l'archiviazione separata per ogni partizione e per ogni file system condiviso in rete.
Oltre a questo occorre evitare di archiviare anche l'archivio che si sta creando: quando la destinazione dell'archiviazione è un file su disco, questo deve essere montato da qualche parte e per questo si potrebbe creare un circolo vizioso.
Ci sono directory che, per la loro natura, non conviene o non devono essere archiviate: per /tmp/
non conviene; con /proc/
non si deve. In questi casi si deve solo ricordare di ricreare queste directory, nel momento in cui fosse necessario il recupero.
L'archiviazione di copie di sicurezza non è sufficiente a garantirsi contro gli incidenti: in che modo si può avviare un elaboratore in cui è appena stato sostituito il disco fisso? Evidentemente, occorre essere più previdenti e predisporre in anticipo gli strumenti necessari per preparare le partizioni di un nuovo disco fisso e per recuperare i dati archiviati precedentemente.
Questo argomento viene trattato nei prossimi capitoli.
Appunti di informatica libera 2000.07.31 --- Copyright © 2000 Daniele Giacomini -- daniele @ swlibero.org1) Ci sono programmi di archiviazione che si comportano così anche se non subiscono compressioni successive.
2) Questo comportamento riguarda almeno il programma tar di GNU.
3) Il concetto di variazione, in questo caso, si deve intendere come variazione del contenuto o degli attributi. Quindi si tratta della data di modifica o della data di «creazione».
4) Questo è un po' quello che accade a find con l'opzione -name: è find stesso ad analizzare i caratteri jolly.
5) Non bisogna dimenticare i permessi: /tmp/
1777 e /proc/
0555.