GNU/Linux >> Tutoriales Linux >  >> Linux

Linux:¿qué puntos de montaje existen en un sistema Linux típico?

Tengo 2 preguntas.

  1. Durante la instalación de Linux, especificamos el espacio de memoria para 2 puntos de montaje:raíz e intercambio. ¿Se han creado otros puntos de montaje sin que los usuarios se den cuenta?
  2. ¿Es correcta esta afirmación:“el montaje entra en escena solo cuando se trata de particiones diferentes. es decir, no puede montar, digamos, /proc a menos que sea una partición diferente”?

Respuesta aceptada:

Hay conceptos erróneos detrás de sus preguntas.

  1. El intercambio no está montado.
  2. El montaje no se limita a las particiones.

Particiones

Una partición es una porción¹ de espacio en disco que se dedica a un propósito particular. Estos son algunos propósitos comunes para las particiones.

  • Un sistema de archivos, es decir, archivos organizados como un árbol de directorios y almacenados en un formato como ext2, ext3, FFS, FAT, NTFS, …
  • Espacio de intercambio, es decir, espacio en disco utilizado para paginar (y almacenar imágenes de hibernación).
  • Acceso directo a la aplicación. Algunas bases de datos almacenan sus datos directamente en una partición en lugar de en un sistema de archivos para ganar un poco de rendimiento. (Un sistema de archivos es una especie de base de datos de todos modos.)
  • Un contenedor para otras particiones. Por ejemplo, una partición extendida de PC, o un segmento de disco que contiene particiones BSD, o un volumen físico LVM (que eventualmente contiene volúmenes lógicos que pueden considerarse particiones),...

Sistemas de archivos

Los sistemas de archivos presentan información en una estructura jerárquica. Estos son algunos tipos comunes de sistemas de archivos:

  • Sistemas de archivos respaldados por disco, como ext2, ext3, FFS, FAT, NTFS, …
    • El respaldo no necesita estar directamente en una partición de disco, como se ve arriba. Por ejemplo, podría ser un volumen lógico LVM o un montaje en bucle.
  • Sistemas de archivos respaldados por memoria, como Solaris y tmpfs de Linux.
  • Sistemas de archivos que presentan información del núcleo, como proc y sysfs en Linux.
  • Sistemas de archivos de red, como NFS, Samba,...
  • Sistemas de archivos respaldados por aplicaciones, de los cuales FUSE tiene una gran colección. Los sistemas de archivos respaldados por aplicaciones pueden hacer casi cualquier cosa:hacer que un servidor FTP aparezca como un sistema de archivos, brindar una vista alternativa de un sistema de archivos donde los nombres de los archivos no distinguen entre mayúsculas y minúsculas o se convierten a una codificación diferente, mostrar el contenido del archivo como si fueran directorios, …

Montaje

Unix presenta archivos en una sola jerarquía, generalmente llamada "el sistema de archivos" (pero en esta respuesta no usaré la palabra "sistema de archivos" en este sentido para evitar confusiones). Los sistemas de archivos individuales deben injertarse en esa jerarquía para poder acceder a ellos.³

Un sistema de archivos se hace accesible montándolo. El montaje asocia el directorio raíz del sistema de archivos que está montando con un directorio existente en la jerarquía de archivos. Un directorio que tiene tal asociación se conoce como punto de montaje.

  • Por ejemplo, el sistema de archivos raíz se monta en el momento del arranque (antes de que el kernel inicie cualquier proceso²) en el / directorio.
  • El sistema de archivos proc sobre el que algunas variantes de Unix, como Solaris y Linux, exponen información sobre los procesos está montado en /proc , de modo que /proc/42/environ designa el archivo /42/environ en el sistema de archivos proc, que (al menos en Linux) contiene una vista de solo lectura del entorno del proceso número 42.
  • Si tiene un sistema de archivos separado, p. para /home , luego /home/john/myfile.txt designa el archivo cuya ruta es /john/myfile.txt desde la raíz del sistema de archivos de inicio.
Relacionado:Hoja de trucos de Arch Linux

En Linux, es posible acceder al mismo sistema de archivos a través de más de una ruta, gracias a los montajes de enlace.

Un sistema de archivos típico de Linux tiene muchos sistemas de archivos montados. (Este es un ejemplo; diferentes distribuciones, versiones y configuraciones llevarán a que se monten diferentes sistemas de archivos).

  • / :el sistema de archivos raíz, montado antes de que el kernel cargue el primer proceso. El cargador de arranque le dice al kernel qué usar como sistema de archivos raíz (generalmente es una partición de disco, pero podría ser otra cosa, como una exportación NFS).
  • /proc :el sistema de archivos proc, con información del kernel y del proceso.
  • /sys :el sistema de archivos sysfs, con información sobre los dispositivos de hardware.
  • /dev :un sistema de archivos en memoria donde los archivos del dispositivo son creados automáticamente por udev en función del hardware disponible.
  • /dev/pts :un sistema de archivos de propósito especial que contiene archivos de dispositivo para ejecutar emuladores de terminal.
  • /dev/shm :un sistema de archivos en memoria utilizado con fines internos por la biblioteca estándar del sistema.
  • Dependiendo de los componentes del sistema que esté ejecutando, es posible que vea otros sistemas de archivos de propósito especial como binfmt_misc (utilizado por el subsistema kernel de formato de archivo ejecutable extranjero), fusectl (utilizado por FUSE), nfsd (utilizado por el servidor kernel NFS),...
  • Cualquier sistema de archivos mencionado explícitamente en /etc/fstab (y no marcado noauto ) se monta como parte del proceso de arranque.
  • Cualquier sistema de archivos montado automáticamente por HAL (o funcionalidad equivalente) después de la inserción de un dispositivo extraíble como una llave USB.
  • Cualquier sistema de archivos montado explícitamente con mount comando.

¹ Informalmente hablando aquí.
² Initrd y tales están más allá del alcance de esta respuesta.
³ Esto es diferente a Windows, que tiene una jerarquía separada para cada sistema de archivos, p. c: o \hostnamesharename .


Linux
  1. Cómo usar systemd-nspawn para la recuperación del sistema Linux

  2. ¿Qué es Linux? Una guía para usuarios no técnicos

  3. ¿Cuál es el proceso de desmantelamiento del hardware de su servidor Linux?

  4. ¿Qué es la API GUI nativa de Linux?

  5. ¿Qué es un contenedor de Linux y un hipervisor de Linux?

Comprender los sistemas de archivos de Linux:ext4 y más allá

Cómo montar un sistema de archivos Linux remoto usando SSHFS

Cómo cifrar el sistema de archivos raíz en Linux

¿Qué es el sistema de archivos de Linux? Guía fácil

Diferencias entre nobootwait y nofail en los sistemas de archivos de Linux

¿Qué son las llamadas al sistema Linux y las funciones de biblioteca?