User Tools

Site Tools


doc:appunti:linux:sa:unionfs

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:unionfs [2010/01/24 16:41] niccolodoc:appunti:linux:sa:unionfs [2010/01/24 20:42] niccolo
Line 1: Line 1:
 ====== Unionfs ====== ====== Unionfs ======
  
-Esistono molte implementazioni di Unionfs:+Esistono molte implementazioni di Unionfs, in kernel space e in user space.
  
-**unionfs**+==== unionfs ====
  
-L'implementazione di **[[http://www.filesystems.org/|www.filesystems.org]]**, si tratta di un modulo kernel che tuttavia non è incluso nel kernel ufficiale. È disponibile per kernel recenti (anche l'ultimo 2.6.32) ed è alla sua seconda versione. **Debian** lo ha incluso fino alla versione **4 Etch** con il pacchetto **%%unionfs-modules-*%%**, il relativo **unionfs-tools** e **unionfs-source**. Il pacchetto è stato abbandonato in favore di aufs con questo annuncio.+L'implementazione di **[[http://www.filesystems.org/|www.filesystems.org]]**, si tratta di un modulo kernel che tuttavia non è incluso nel kernel ufficiale. È disponibile per kernel recenti (anche l'ultimo 2.6.32) ed è alla sua seconda versione. **Debian** lo ha incluso fino alla versione **4 Etch** con il pacchetto **%%unionfs-modules-*%%**, il relativo **unionfs-tools** e **unionfs-source**. Il pacchetto è stato abbandonato in favore di aufs con il bug [[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=484842|#484842]].
  
-**aufs**+==== aufs ====
  
 L'implementazione [[http://aufs.sourceforge.net/|aufs.sourceforge.net]], anch'essa alla versione 2, è nata come fork di unionfs versione 1. **Debian 5 Lenny** include i pacchetti **%%aufs-modules-*%%**, **aufs-tools** e **aufs-source**. Anche in questo caso Linus ha rifiutato l'inclusione nel kernel ufficiale. L'implementazione [[http://aufs.sourceforge.net/|aufs.sourceforge.net]], anch'essa alla versione 2, è nata come fork di unionfs versione 1. **Debian 5 Lenny** include i pacchetti **%%aufs-modules-*%%**, **aufs-tools** e **aufs-source**. Anche in questo caso Linus ha rifiutato l'inclusione nel kernel ufficiale.
  
-**unionfs-fuse**+==== unionfs-fuse ====
  
 [[http://podgorny.cz/moin/UnionFsFuse|unionfs-fuse]] implementazione di unionfs in user-space tramite **fuse**. [[http://podgorny.cz/moin/UnionFsFuse|unionfs-fuse]] implementazione di unionfs in user-space tramite **fuse**.
  
-**funionfs**+==== funionfs ====
  
 [[http://funionfs.apiou.org/|funionfs.apiou.org]] [[http://funionfs.apiou.org/|funionfs.apiou.org]]
 +
 +===== Esempio con unionfs =====
 +
 +Supponiamo che esistano le directory **''/opt/data_ro''** e **''/opt/data_rw''** che vogliamo montare in **''/media/union''**, la componente ''data_ro'' sarà montata in sola lettura, tutte le modifiche andranno in ''data_rw''.
 +
 +Ecco il comando da eseguire:
 +
 +<code>
 +mount -t unionfs -o dirs=/opt/data_rw=rw:/opt/data_ro=ro unionfs /media/union
 +</code>
 +
 +oppure la corrispondente riga da aggiungere in ''/etc/fstab'':
 +
 +<file>
 +none  /media/union unionfs rw,dirs=/opt/data_rw=rw:/opt/data_ro=ro 0 0
 +</file>
 +
 +===== I file nascosti .wh. =====
 +
 +Nella componente read/write montata più in alto nella pila unionfs si possono trovare diversi file nascosti il cui nome inizia per **''%%.wh.%%''**, si tratta di flag che indicano se un file deve essere //whited out// (nascosto), oppure indica se una directory deve essere //opaca// (''%%.wh.__dir_opaque%%'') cioè nascondere altri oggetti sottostanti.
 +
 +//Unionfs On Disk Format// (ODF) è una versione migliorata; le meta-informazioni sui file eliminati ecc. vengono memorizzate in una partizione separata, senza inquinare i filesystem sottostanti. Altri dettagli in [[http://filesystems.org/unionfs-odf.txt|ODF: On Disk Format for Unionfs 2.x]].
 +
 +===== Scrivere direttamente nelle componenti di uno unionfs =====
 +
 +Pare che non ci siano problemi a modificare il contenuto delle directory componenti mentre l'unionfs è montato, sia che si tratti di componenti **ro** che componenti **rw**. Vale la semantica dello unionfs, compresi i file nascosti **''.wh.''**.
 +
doc/appunti/linux/sa/unionfs.txt · Last modified: 2010/02/07 21:52 by niccolo