UnionFS: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Gerlo (discussione | contributi)
aggiunta progetto FiST
Funzionalità collegamenti suggeriti: 3 collegamenti inseriti.
 
(27 versioni intermedie di 25 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.
UnionFS è ancora un progetto in via di consolidamento, pertanto contiene ancora bug che ne sconsigliano l'uso in ambienti di produzione.
Questa implementazione delle ''union mount'' è parte del più grande progetto [[FiST]].
Riga 7:
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.
 
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|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, più precisamente, è uno stackable filesystem, ossia è un modulo del kernel che si posiziona, quindi, in kernel space tra il [[Virtual_File_System|Virtual File System]] (VFS, tradotto: ''filesystem'' virtuale) ed i ''filesystem'' reali ([[ext2]], [[ext3]], [[ReiserFS]], [[Network File System|NFS]], [[ISO9660ISO 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à.
 
Oltre a [[Linux]], questa tecnologia è usabile, teoricamente, anche su [[Solaris]] e su [[FreeBSD]].
 
Oltre a [[Linux]], questa tecnologia è usabile, teoricamente, anche su [[Solaris (sistema operativo)|Solaris]] e su [[FreeBSD]].
 
== Altre implementazioni ==
 
Il sistema operativo [[Plan_9|Plan 9]] dei [[Bell_Labs|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).
 
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|user space]]''. Da molto tempo [[Linux]] dispone di una funzionalità del programma "mount" che permette di inserire una cartella in più di un posto del ''filesystem''. Questa funzionalità è presente anche in altri sistemi operativi, come [[MSDOS]], ma è un concetto completamente differente dalle ''union mount''.
 
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|user space]]''. Da molto tempo [[Linux]] dispone di una funzionalità del programma "mount" che permette di inserire una cartelladirectory in più di un posto del ''filesystem''. Questa funzionalità è presente anche in altri [[Sistema operativo|sistemi operativi]], come [[MSDOSMS-DOS]], ma è un concetto completamente differente dalle ''union mount''.
 
== Bibliografia ==
 
* {{en}} C. P. Wright et al. (2004). "Versatility and Unix Semantics in a Fan-Out Unification File System (pdf).". Tratta le implementazioni di UnionFS e la semantica.
 
 
== Collegamenti esterni ==
 
* {en}{cita web|http://wwwunionfs.fslfilesystems.cs.sunysb.edu/project-unionfs.html il org|sito del progetto|lingua=en}}
* {{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ì}}
* {en} http://www.unionfs.org/ contiene esempi su come ottenere un filesystem unito
* {en} https://bugzilla.filesystems.org/ database dei bug di UnionFS
 
{{Portale|Software libero}}
 
{{informatica}}
 
[[Categoria:File system]]
[[Categoria:Linux]]
 
[[en:UnionFS]]