Unison e la sincronizzazione di directory
Uniso è un tool molto comodo che risolve uno dei più grandi problemi dei possesori di portatili (dopo il risparmio energetico, ovviamente): la sincronizzazione.
Mi trovo spesso nella situazione in cui un semplice rsync non basta per sincronizzare le directory documenti, dato che ci sono state modifiche da entrambe le parti! Così mi viene in aiuto unison, che permette di gestire questo genere di situazioni.
Unison è utilizzabile sia da interfaccia grafica, sia da riga di comando. In questa guida le affronteremo entrambe!
Installazione
I pacchetti sono due: unison ed unison-gtk:
# apt-get install unison unison-gtk
Utilizzo
L'utilizzo è semplice ed intuitivo; la sintassi da utilizzare è la seguente:
$ unison root1 root2 [opzioni]
il comando permette la sincronizzazione tra le due directory. È possibile indicare la directory di un host remoto utilizzando il protocollo ssh:
ssh://username@server/directory
Supponendo di voler sincronizzare la directory Documenti presente sul dekstop con quella presente sul laptop, possiamo usare il seguente comando:
$ unisoc ssh://username@ipdesktop/Documenti Documenti
Verrà avviato il processo che controllerà lo stato delle due directory; al termine del controllo verranno poste delle domande sul da farsi, come nell'esempio sottostante:
Looking for changes Avis/5 minuti/PER CONOSCERE I NOSTRI ESAMI.doc Avis/Verbali/2004/20040609.pdf Universita/Architettura di Elaboratori/Sis/Introduzione_a_SIS-Algebra_di_Commutazione.pdf Universita/Sistemi Operativi/Slide/filesys-1_x2.pdf Universita/Sistemi Operativi/Slide/synchro-2_x1.pdf Waiting for changes from server Reconciling changes knio local chgd dir <-?-> deleted Avis/DonareAvis []
Si possono individuare 5 colonne:
- host1: stato
- azione
- host2: stato
- File/Directory in questione
- Scelta suggerita
Se inseriamo un '?', otterremo una breve guida sulle opzioni disponibili:
- f
- sostituisci le raccomandazioni di Unison (equivale a premere invio)
- I
- ignora questa directory in modo definitivo
- E
- ignora i file con questa estensione in modo definitivo
- N
- ignora i percorsi che finiscono con questo nome
- m
- effettua un merge tra i due file
- d
- mostra le differenze
- x
- mostra i dettagli
- l
- elenca tutti i cambiamenti suggeriti
- p
- vai alla scelta precedente
- b
- come p
- g
- procedi immediatamente ad applicare i cambiamenti proceed immediately to propagating changes
- q
- esci senza effettuare alcun cambiamento
- /
- salta
- >
- effettua le modifiche da host1 a host2
- .
- come >
< or , propagate from from local to knio