UnionFS: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Gerlo (discussione | contributi)
Completamento traduzione. mancano wikilink
Gerlo (discussione | contributi)
wikilink + ampliamento
Riga 1:
'''UnionFS''' è un ''[[filesystem]]'' [[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 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.
{{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.
 
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.
 
Nei ''[[liveCD]]'' UnionFS è usato per sovrapporre un ''filesystem'' scrivibile ad un supporto in sola lettura. In [[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]], [[NFS]], [[ISO9660]]), 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à.
 
 
== Altre implementazioni ==
 
Il sistema operativo [[Plan_9|Plan 9]] dei [[Bell_Labs|Bell Labs]] usa igli mount''union unitimount'' estensivamente per ottenere ''namespace'' personalizzati per ogni utente e processo. Lo stesostesso concetto, implementato come "union mount" è 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. Da molto tempo Linux dispone di una finzionalità 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 dai mount uniti.
 
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 finzionalità 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 daidalle mount''union unitimount''.
 
 
Riga 25 ⟶ 26:
== Collegamenti esterni ==
 
* {en} http://www.fsl.cs.sunysb.edu/project-unionfs.html il sito del progetto
* {en} http://www.unionfs.org/ contiene esempi su come ottenere un filesystem unito
* {en} https://bugzilla.filesystems.org/ database dei bug di UnionFS
 
<!--
UnionFS in Linux is generally not recommended for production use.
 
-->
 
{{informatica}}