UnionFS: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Dommac (discussione | contributi)
m +cat ed intewiki
Funzionalità collegamenti suggeriti: 3 collegamenti inseriti.
 
(30 versioni intermedie di 26 utenti non mostrate)
Riga 1:
'''UnionFS''' è un ''[[filesystemfile system]]'' [[Linux]] che permette ''union mount'', ossia consente di simulare l'unione di più ''filesystem'' sottostanti, mantenendone la semantica [[Unix]]. Consente, cioè, di sovrapporre in modo trasparente file e cartelle[[directory]] di ''filesystem'' separati, detti ''branch'' (rami), per formare un singolo ''filesystem'' coerente. I contenuti delle cartelledirectory che hanno lo stesso percorso nei rami uniti, saranno visti come se fossero nella stessa cartelladirectory del ''filesystem'' virtuale.
{{da tradurre|inglese}}
UnionFS è ancora un progetto in via di consolidamento, pertanto contiene ancora bug che ne sconsigliano l'uso in ambienti di produzione.
'''UnionFS''' è un ''[[filesystem]]'' [[Linux]] che permette di simulare l'unione di più ''filesystem'' sottostanti. Consente di sovrapporre in modo trasparente file e cartelle di ''filesystem'' separati, detti ''branch'' (rami), per formare un singolo ''filesystem'' coerente. I contenuti delle cartelle che hanno lo stesso percorso nei rami uniti, saranno visti come se fossero nella stessa cartella del ''filesystem'' virtuale.
Questa implementazione delle ''union mount'' è parte del più grande progetto [[FiST]].
 
I vari rami possono essere ''filesystem'' in sola lettura oppure scrivibili. Le operazioni di scrittura nel ''filesystem'' unificato verranno redirette verso uno specifico ''filesystem'' scrivibile. Ciò consente di far apparire un ''filesystem'' come scrivibile, senza permettere la scrittura effettiva (''copy-on-write''): questa è una delle caratteristiche che ne fanno uno strumento utile quando, ad esempio, il supporto non è veramente scrivibile, come nel caso dei [[Compact disc|CD-ROM]], oppure quando si vuole usare una base comune a più filesystem, o infine per motivi di sicurezza. A volte, questa tecnologia viene usata come sistema ''ad hoc'' per la realizzazione di istantanee dello stato del ''filesystem'' (in gergo ''snapshot'').
 
Quando si aggiungono (o montano) rami, bisogna specificare che priorità hanno tra di loro. In questo modo, quando due o più rami contengono un file con lo stesso nome, il ramo con la priorità maggiore riceve le chiamate di lettura e scrittura.
<!--
When mounting branches the priority of one branch over the other is specified. So when both branches contain a file with the same name one gets priority over the other.
 
Nei ''[[liveCD]]'' UnionFS è usato per sovrapporre un ''filesystem'' scrivibile ad un supporto in sola lettura. In [[Knoppix|KNOPPIX Linux]], ad esempio, si può eseguire l'unione del ''filesystem'' nel CD-ROM o nel DVD ed il ''filesystem'' contenuto in un file immagine chiamato knoppix.img in una [[chiavetta USB]]. Quest'ultimo, impostato con una priorità maggiore rispetto al ''filesystem'' in sola lettura del CD-ROM o del DVD, permette di mostrare all'utente un ''filesystem'' logico nel quale si possono aggiungere, modificare o cancellare file ovunque. A [[livello fisico]], se un file che risiede in un ramo in sola lettura viene sostituito, quest'ultimo viene inserito nel file immagine. Poiché il ''filesystem'' logico unisce i due rami trasparentemente, l'utente vedrà semplicemente la nuova versione.
UnionFS in Linux is generally not recommended for production use.
 
UnionFS, più precisamente, è uno stackable filesystem, ossia è un modulo del kernel che si posiziona, quindi, in kernel space tra il [[Virtual File System]] (VFS, tradotto: ''filesystem'' virtuale) ed i ''filesystem'' reali ([[ext2]], [[ext3]], [[ReiserFS]], [[Network File System|NFS]], [[ISO 9660]]), intercettando le chiamate che il primo emette e rielaborandole prima di trasmetterle ai secondi (e viceversa). Opera come se mostrasse al VFS i ''filesystem'' reali sovrapposti come fossero dei lucidi, così che delle aree occupate da più filesystem sia visibile solo l'area di quello a più alta priorità.
On LiveCDs it is used as a way of overlaying a writeable file system on top of read-only media. In KNOPPIX for example the union of the file system on the CD-ROM or DVD may be made with the file system contained in an image file called knoppix.img on a USB memory stick which has priority over the read-only filesystem. The user sees then a logical file system where it is possible to add and change files anywhere. What happens on the physical level is that if a file which resides in the read-only branch is replaced by a new version it is put into the image file. As the union file system merges the two branches transparently the user just sees the new version.
[edit]
 
Oltre a [[Linux]], questa tecnologia è usabile, teoricamente, anche su [[Solaris (sistema operativo)|Solaris]] e su [[FreeBSD]].
Other implementations
 
== Altre implementazioni ==
Plan 9 from Bell Labs operating system uses union mounts extensively to build custom namespaces per user/processes. The same concept, implemented as "union mount" has also been available in BSD, for at least ten years.
 
Il sistema operativo [[Plan 9]] dei [[Bell Labs]] usa gli ''union mount'' estensivamente per ottenere ''namespace'' personalizzati per ogni utente e processo. Lo stesso concetto è stato disponibile in BSD per almeno dieci anni (4.4BSD Union Mount).
Several previous attempts have been made to add this feature to Linux, but none was maintained for long. For quite a while Linux has had the bind mount feature, which allow attaching a directory in more than one ___location in the filesystem, and this feature is present in other operating systems including MSDOS, but this is a completely different concept to union mounts.
[edit]
 
Ci furono vari tentativi precedenti per aggiungere questa funzionalità a Linux, ma nessuno è stato sostenuto a lungo. Alcuni progetti per l'implementazione di questa tecnologia sono 3DFS, TFS e translucency, a cui si aggiungono alcune implementazioni in ''[[user space]]''. Da molto tempo [[Linux]] dispone di una funzionalità del programma "mount" che permette di inserire una directory in più di un posto del ''filesystem''. Questa funzionalità è presente anche in altri [[Sistema operativo|sistemi operativi]], come [[MS-DOS]], ma è un concetto completamente differente dalle ''union mount''.
References
 
== Bibliografia ==
* C. P. Wright et al. (2004). "Versatility and Unix Semantics in a Fan-Out Unification File System (pdf)." (Discusses UnionFS implementations and semantics.)
 
* *{{en}} C. P. Wright et al. (2004). "Versatility and Unix Semantics in a Fan-Out Unification File System (pdf).". (DiscussesTratta le implementazioni di UnionFS implementationse andla semanticssemantica.)
[edit]
 
== Collegamenti esterni ==
External links
 
* {{cita web|http://unionfs.filesystems.org|sito del progetto|lingua=en}}
* http://www.fsl.cs.sunysb.edu/project-unionfs.html
* {{cita web|1=https://bugzilla.filesystems.org|2=database dei bug di UnionFS|lingua=en|accesso=26 giugno 2006|urlarchivio=https://web.archive.org/web/20130825055636/https://bugzilla.filesystems.org/#|dataarchivio=25 agosto 2013|urlmorto=sì}}
* http://www.unionfs.org/ (includes some examples how to set up a union file system)
* https://bugzilla.filesystems.org/ (bug database for Linux UnionFS)
 
{{Portale|Software libero}}
 
-->
 
{{informatica}}
 
[[Categoria:File system]]
[[Categoria:Linux]]
 
[[en:UnionFS]]