User Tools

Site Tools


doc:appunti:linux:sa:unison

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
doc:appunti:linux:sa:unison [2022/02/05 06:41] niccolodoc:appunti:linux:sa:unison [2022/02/05 07:38] – [Il problema del re-hashing] niccolo
Line 3: Line 3:
 ===== Contenuto della directory .unison ===== ===== Contenuto della directory .unison =====
  
-Per tenere traccia dello stato delle due //repliche// (i due repository da tenere sincronizzati), unison crea dei file nella directory **$HOME/.unison/**. In particolare per ogni coppia di //roots// (sorgente e destinazione) vengono creati due file **ar<hash>** e **fp<hash>**.+Per tenere traccia dello stato delle due //repliche// (i due repository da tenere sincronizzati), unison crea dei file nella directory **$HOME/.unison/**. In particolare per ogni coppia di //roots// (sorgente e destinazione) vengono creati due file **%%ar<hash>%%** e **%%fp<hash>%%**
 + 
 +La coppia di file **%%ar<hash>%%** e **%%fp<hash>%%** viene creata su entrambi gli host, ma con diverso hash. Ogni host fa riferimento a se stesso come //root//, ma indica la stessa coppia sorgente => destinazione.
  
 === File ar* === === File ar* ===
  
-I file **ar** sono **Unison archive format 22**, contengono i metadati di tutti i file presenti nelle repliche (timestamp, hash, ecc.). I metadati verranno usati per determinare se un file è cambiato e deve essere sincronizzato. I file sono di tipo binario, ma le prime tre righe sono leggibili come testo e contengono informazioni del tipo:+I file **ar** sono **Unison archive format 22**, contengono i metadati di tutti i file presenti nelle repliche (timestamp, inode, hash, ecc.). I metadati verranno usati per determinare se un file è cambiato e deve essere sincronizzato. I file sono di tipo binario, ma le prime tre righe sono leggibili come testo e contengono informazioni del tipo:
  
 <code> <code>
 Unison archive format 22 Unison archive format 22
-Archive for root //host1//data/media/music synchronizing roots+Archive for root //host1//data/media/music synchronizing ro
     //host1//data/media/music, //host2//home/media/musica     //host1//data/media/music, //host2//home/media/musica
 Written at 2021-09-13 at  9:45:20 - case sensitive mode Written at 2021-09-13 at  9:45:20 - case sensitive mode
Line 22: Line 24:
 I file **fp** sono **Unison fingerprint cache format 2**. Anche questi file hanno un contenuto binario, ma non è chiaro cosa contengono. Sembra che la loro dimensione non sia direttamente proporzionale al numero dei file presenti nelle repliche. I file **fp** sono **Unison fingerprint cache format 2**. Anche questi file hanno un contenuto binario, ma non è chiaro cosa contengono. Sembra che la loro dimensione non sia direttamente proporzionale al numero dei file presenti nelle repliche.
  
 +===== Il problema del re-hashing =====
 +
 +Alla prima esecuzione di una sincronizzazione, Unison deve fare la scansione di tutti i file in entrambe le repliche per calcolare l'hash (checksum) di tutti i file. Si tratta di una operazione molto onerosa che può richiedere diverse ore; ad esempio con dischi collegati via USB e CPU non troppo performanti la scansione di 800 Gb di file può richiedere fino a dieci ore.
 +
 +In alcune circostanze Unison può essere indotto a ricalcolare tutti gli hash dei file anche se non ce ne sarebbe bisogno. Queste sono alcune delle condizioni:
 +
 +  * Viene cambiato il percorso di una delle due //root//.
 +  * Viene cambiato il disco di una delle due //root//. Non è chiaro se Unison tiene traccia di qualche identificativo del device, oppure è il cambio di inode di ogni file a far scattare il re-hash dei file.
 +
 +Purtroppo al momento non si conoscono metodi per aggiornare i file di configurazione ar e fp in modo da non richiedere il re-hashing dei file. Vedere in proposito questo thread: **[[https://marc.info/?l=unison-users&m=129499672501053|RE: [unison-users] Re: Unison Archive files]]**.
doc/appunti/linux/sa/unison.txt · Last modified: 2022/02/05 07:39 by niccolo