GNU/Linux >> Tutoriales Linux >  >> Linux

Linux – ¿Montaje de unión en Linux?

Un montaje de unión presenta una vista combinada de varios directorios (ramas) en una sola jerarquía. Ok, pero ¿cómo uso uno en la práctica y cuál?

Hay muchas tecnologías de unión de montaje disponibles en un sistema Linux moderno:OverlayFS, aufs, UnionFS, varios sistemas de archivos basados ​​en FUSE,...

Dado un caso de uso, ¿cómo decido cuáles son adecuados? En particular:

  • ¿Cuáles requieren acceso raíz en un sistema típico? (En otras palabras, ¿puede un usuario sin privilegios crear un montaje de unión?)
  • Cuáles se pueden montar en / (con acceso de root, por supuesto)?
  • ¿Cuáles admiten escribir en las ramas subyacentes? (Es decir, si /foo y /bar están montados en unión a /union , puedo escribir a /foo y /bar ?)
  • ¿Cuáles admiten políticas configurables para escrituras? (Por ejemplo, ¿puedo enviar archivos recién creados a la rama B aunque obtenga contenido de la rama A cuando existe un archivo en ambas ramas?)
  • ¿Cuáles admiten un orden de prioridad entre sucursales que depende de los archivos? (Por ejemplo, ¿puedo obtener siempre el archivo más nuevo entre todas las sucursales que lo tienen?)

Se agradecerán ejemplos de uso.

Evite las respuestas que se centren en un punto específico. Estoy buscando respuestas completas que revisen el software disponible (algo similar a ¿Qué es un montaje de enlace?). Las buenas respuestas serán recompensadas.

Respuesta aceptada:

Sobre cada uno de los puntos específicos:

  • Acceso raíz:si usa FUSE, no necesita raíz, si no usa FUSE, necesita raíz a menos que realice una configuración especial con capacidades (potencialmente peligrosas) o espacios de nombres.

  • Montaje en / :Supongo que se refiere al sistema de archivos raíz al inicio, en cuyo caso cualquiera de ellos que se ejecute en modo kernel debería funcionar en teoría, aunque algunos son más confiables que otros. La mayoría de los LiveCD hacen esto, por lo que sugeriría buscar información sobre este punto en particular.

  • Escribir en las ramas subyacentes:Esto depende de lo que quieras decir. Si te refieres a propagar escrituras en la vista montada hasta las ramas inferiores, no tengo idea. Si te refieres a escribir en las ramas inferiores fuera de banda desde el propio sistema de archivos principal, técnicamente los tres grandes lo hacen, pero todos requieren un montaje para garantizar que el cambio se propague a la vista montada.

  • Políticas de escritura configurables:no sé específicamente sobre esto, pero creo que los 3 grandes (UnionFS, AUFS y OverlayFS) no lo admiten.

  • Orden de prioridad dependiente del archivo:creo que este también se incluye en la tercera subpregunta, y como allí, no conozco ninguno que lo respalde específicamente.

En cuanto a algunos detalles más sobre cada uno de ellos:

  • UnionFS:Por lo que puedo decir, esta fue la implementación original del sistema de archivos de unión apilable para Linux. Ha existido durante mucho tiempo y es utilizado por muchos LiveCD de Linux. Se ejecuta en modo kernel y requiere parches para el kernel upstream para ser utilizado.

  • AUFS:se originó como una bifurcación de UnionFS, y luego se convirtió en algo propio. Este intentó fusionarse con la línea principal y fue rechazado por motivos de calidad del código. Ha reemplazado a UnionFS en algunas distribuciones LiveCD, en su mayoría derivados de Debian y Gentoo. Al igual que UnionFS, se ejecuta en modo kernel y requiere parches para el kernel anterior.

  • OverlayFS:No sé mucho sobre el desarrollo original de este, aparte de que también es compatible con un par de derivados de BSD. Es notablemente la implementación del sistema de archivos de superposición/unión ascendente en el kernel de Linux. También se ejecuta en modo kernel.

  • UnionFS-FUSE:este proyecto con un nombre un tanto confuso en realidad no tiene nada que ver con UnionFS aparte de proporcionar esencialmente la misma funcionalidad. Es la implementación FUSE más utilizada de un sistema de archivos de unión, pero eso es todo lo que sé al respecto.

  • mhddfs:este es un valor atípico extraño que se parece más a una implementación RAID-0 de granularidad de archivos que a un sistema de archivos de unión convencional. Admite el equilibrio de archivos en varios directorios de respaldo según el uso del espacio. También está basado en FUSE.

Relacionado:Ubuntu:¿cómo hacer que un shell aparezca en la propia distribución (linux)?

Un par de cosas específicas a tener en cuenta que no son específicas de una implementación en particular:

  • Todas las opciones en el kernel tienen limitaciones sobre lo que pueden ser los sistemas de archivos de respaldo, en particular, no funcionan con sistemas de archivos en red o BTRFS.

  • Todas las implementaciones de FUSE tienen problemas cuando se usan como sistema de archivos raíz. Esto no es específico de las implementaciones del sistema de archivos de unión, pero es más un problema con FUSE en general.


Linux
  1. Linux vs Windows:qué sistema operativo es mejor para juegos de PC

  2. Cómo montar y desmontar unidades en Linux

  3. Linux:¿cómo identificar qué distribución de Linux se está ejecutando?

  4. Linux – Virtualbox:¿Montar una carpeta compartida automáticamente en Gentoo?

  5. Opciones comunes de montaje de NFS en Linux

Cómo montar una unidad USB en Kali Linux

Linux qué comando

Cómo montar un recurso compartido NFS en Linux

Cómo montar un archivo ISO en Linux

Cómo montar una unidad en Linux

Cómo montar un disco NTFS en Linux