¿Qué hay /etc/mtaben Linux?
¿Por qué es necesario y las ventajas de tenerlo?
man 5 mtabfalte.
¿Qué hay /etc/mtaben Linux?
¿Por qué es necesario y las ventajas de tenerlo?
man 5 mtabfalte.
Respuestas:
% archivo / etc / mtab / etc / mtab: enlace simbólico a ../proc/self/mounts % archivo / proc / montajes / proc / mounts: enlace simbólico a self / mounts %
/etc/mtabEs un mecanismo de compatibilidad. Hace décadas, Unix no tenía una llamada al sistema para leer la información de montaje existente. En cambio, se esperaba que los programas que montaban sistemas de archivos mantuvieran una tabla cooperativa y voluntaria /etc/mtabde lo que estaba montado donde.
Por razones obvias, este no era un mecanismo ideal.
Linux adquirió la noción de un "procfs", y una de las cosas que obtuvo fue una versión de esta tabla mantenida por el núcleo, en forma de un mountsarchivo pseudo-regular. La "llamada al sistema" para leer la información de montaje del núcleo se convirtió en una secuencia de abrir-leer-cerrar contra ese archivo, seguida de analizar el resultado de la forma legible por humanos a la máquina (algo que tiene algunas capturas sutiles, como usted puede verse en los informes de errores de hace poco más de quince días).
/etc/mtabpor lo tanto, se ha convertido popularmente en un enlace simbólico /proc/mounts, lo que permite que los programas que han cableado ese nombre sigan leyendo una tabla de montaje de ese archivo, que los programas que montaron y desmontaron sistemas de archivos ya no tienen que hacer nada explícitamente para mantenerse actualizados. (Sin embargo, algunos de ellos todavía lo harán si /etc/mtabresulta ser un archivo normal grabable. Y hay algunos casos de esquina donde la información normalizada mountsque carece de todo lo que no es del núcleo no es lo que se necesita; aunque no superan los problemas generales con /etc/mtab)
En la actualidad, cada proceso puede tener su propia vista individual de lo que está montado y, como consecuencia, ahora hay mountsarchivos individuales para cada proceso en los procesos, pudiendo acceder a la propia tabla de cada proceso a través del selfenlace simbólico self/mounts, y ahora también/proc/mounts es una compatibilidad mecanismo. (Curiosamente, ni el proceso ni el formato están documentados en el doco de Linux actual, aunque el archivo pseudo-regular es similar ).mountsmountsmountinfo
SunOS / Solaris tiene un mecanismo similar. El /etc/mnttabarchivo es en realidad un sistema de archivos de un solo archivo, y además de leer la tabla, a través de un descriptor de archivo abierto a ese archivo, con la read()llamada al sistema, uno puede observar los cambios en el punto de montaje poll()y obtener varios datos adicionales ioctl().
En HP-UX, /etc/mnttabes también el nombre del archivo, pero a partir de la versión 11 todavía era un archivo normal cuyo contenido era mantenido cooperativamente por los programas de utilidad del sistema.
AIX no exporta una tabla de texto legible por humanos que los programas tienen que analizar, y no hay un archivo equivalente. Los BSD, de manera similar, tienen llamadas completas al sistema, getfsstat()en FreeBSD y OpenBSD, para que los programas obtengan la tabla de montaje del núcleo en forma legible por máquina sin ordenarla a través de una forma intermedia legible por humanos.
/proc/self/mountinfowith \ r en la ruta de montaje . # 35137. Errores de GNU coreutils./proc/mounts. Documentation / filesystems / proc.txt . Linux 5.1.fstab-decode . Error # 567071. Debian bugs.getfsstat(). Manual de llamadas al sistema FreeBSD . 2016-12-27.mtab(5)de los viejos tiempos: man.cat-v.org/unix_8th/5/mtab .
/proc/mounts, sino que ahora /proc/self/mountses un mecanismo de compatibilidad; solo muestra un subconjunto de la información disponible en /proc/self/mountinfo. El formato de /proc/self/mountsestá documentado proc(5)como idéntico afstab(5)
De acuerdo a man mount:
Los programas mount y umount tradicionalmente mantenían una lista de los sistemas de archivos actualmente montados en el archivo / etc / mtab. Este archivo mtab real todavía es compatible, pero en los sistemas Linux actuales es mejor convertirlo en un enlace simbólico a / proc / mounts, porque un archivo mtab normal mantenido en el espacio de usuario no puede funcionar de manera confiable con espacios de nombres, contenedores y otras características avanzadas de Linux.
En montaje sin grabar en /etc/mtab:
-n, --no-mtab
Montar sin escribir en / etc / mtab. Esto es necesario, por ejemplo, cuando / etc está en un sistema de archivos de solo lectura.
Muchos más matices se dan en la página del manual.