GNU/Linux >> Linux Esercitazione >  >> Linux

Linux – Union Mount su Linux?

Un montaggio union presenta una vista combinata di più directory (rami) in un'unica gerarchia. Ok, ma come si usa in pratica e quale?

Molte tecnologie di montaggio union sono disponibili su un moderno sistema Linux:OverlayFS, aufs, UnionFS, vari filesystem basati su FUSE, …

Dato un caso d'uso, come faccio a decidere quali sono adatti? In particolare:

  • Quali richiedono l'accesso come root su un sistema tipico? (In altre parole, un utente senza privilegi può creare un montaggio union?)
  • Quali possono essere montati su / (con accesso root ovviamente)?
  • Quali supportano la scrittura sui rami sottostanti? (Ad esempio se /foo e /bar sono montati dall'unione su /union , posso scrivere a /foo e /bar ?)
  • Quali supportano criteri configurabili per le scritture? (Ad esempio, posso inviare i file appena creati al ramo B anche se ricevo contenuti dal ramo A quando esiste un file su entrambi i rami?)
  • Quali supportano un ordine di priorità tra i rami che dipende dai file? (Ad esempio, posso sempre ottenere il file più recente tra tutti i rami che lo hanno?)

Sarebbero graditi esempi di utilizzo.

Si prega di evitare risposte che si concentrano su un punto specifico. Sto cercando risposte complete che esaminino il software disponibile (qualcosa di simile a Che cos'è un montaggio bind?). Le buone risposte saranno ricompensate.

Risposta accettata:

Su ciascuno dei punti specifici:

  • Accesso root:se utilizza FUSE, non ha bisogno di root, se non usa FUSE, ha bisogno di root a meno che tu non esegua una configurazione speciale con funzionalità (potenzialmente pericolose) o spazi dei nomi.

  • Montaggio su / :Presumo che tu intenda come filesystem di root all'avvio, nel qual caso qualcuno di essi che viene eseguito in modalità kernel dovrebbe in teoria funzionare, sebbene alcuni siano più affidabili di altri. La maggior parte dei LiveCD lo fa, quindi è qui che suggerirei di cercare informazioni su questo punto particolare.

  • Scrivere ai rami sottostanti:dipende da cosa intendi. Se intendi propagare le scritture alla vista montata fino ai rami inferiori, non ne ho idea. Se intendi scrivere sui rami inferiori fuori banda dal filesystem principale stesso, tecnicamente tutti i tre grandi lo fanno, ma richiedono tutti un rimontaggio per garantire che la modifica venga propagata alla vista montata.

  • Criteri di scrittura configurabili:non lo so in modo specifico, ma penso che i 3 grandi (UnionFS, AUFS e OverlayFS) non lo supportino.

  • Ordine di priorità dipendente dal file:penso che anche questo tipo rientri nella terza sotto-domanda e, come lì, non ne conosco nessuno che lo supporti specificamente.

Per quanto riguarda alcuni dettagli più specifici su ciascuno di essi:

  • UnionFS:Per quanto ne so, questa era l'implementazione originale del filesystem union impilabile per Linux. È in circolazione da secoli ed è utilizzato da molti LiveCD di Linux. Funziona in modalità kernel e richiede l'uso di patch per il kernel upstream.

  • AUFS:Nato come un fork di UnionFS, e poi è diventato una cosa a sé stante. Questo ha tentato di unire la linea principale ed è stato rifiutato per motivi di qualità del codice. Ha sostituito UnionFS in alcune distribuzioni LiveCD, principalmente derivati ​​da Debian e Gentoo. Come UnionFS, funziona in modalità kernel e richiede patch al kernel upstream.

  • OverlayFS:Non so molto dello sviluppo originale di questo, a parte il fatto che è supportato anche su un paio di derivati ​​BSD. È in particolare l'implementazione del filesystem overlay/union upstream nel kernel Linux. Funziona anche in modalità kernel.

  • UnionFS-FUSE:questo progetto dal nome alquanto confuso in realtà non ha nulla a che fare con UnionFS oltre a fornire essenzialmente la stessa funzionalità. È l'implementazione FUSE più utilizzata di un filesystem union, ma questo è tutto ciò che so al riguardo.

  • mhddfs:questo è uno strano valore anomalo che è più simile a un'implementazione RAID-0 di granularità dei file rispetto a un filesystem union convenzionale. Supporta il bilanciamento dei file su più directory di supporto in base all'utilizzo dello spazio. È anche basato su FUSE.

Correlati:Ubuntu - Come creare una shell da mostrare nella propria distribuzione (linux)??

Un paio di cose specifiche da notare che non sono specifiche di una particolare implementazione:

  • Tutte le opzioni del kernel hanno limitazioni su quali possono essere i filesystem di supporto, in particolare non funzionano con filesystem in rete o BTRFS.

  • Tutte le implementazioni di FUSE presentano problemi quando vengono utilizzate come filesystem di root. Questo non è specifico per le implementazioni del filesystem union, ma è più un problema con FUSE in generale.


Linux
  1. Associa i montaggi in Linux

  2. Esempi Linux AuFS:un altro tutorial di Union File System (implementazione UnionFS)

  3. Come montare un file iso in Linux

  4. Opzioni di montaggio NFS comuni in Linux

  5. mount Esempi di comandi in Linux

Come montare un'unità USB su Kali Linux

Linux quale comando

Come montare una condivisione NFS in Linux

Come montare file ISO su Linux

Come montare un'unità su Linux

Come montare il disco NTFS su Linux