Estoy tratando de aprender el estándar POSIX. Al usar Unix, He /bin
, /etc
, /dev
, /media
, y por lo general /opt
, pero es que estandarizada o hasta su aplicación de especificaciones? ¿Podría haber muchos directorios en la raíz, o está limitado por el estándar?
filesystems
posix
root-filesystem
Niklas
fuente
fuente
Respuestas:
Según el estándar publicado de The Open Group , los únicos directorios requeridos son:
/
/dev
, Que contieneconsole
,null
ytty
/tmp
, garantizado de escritura pero no necesariamente conservado.La Fundación Linux mantiene un Estándar de Jerarquía del Sistema de Archivos (FHS) que extiende esto para incluir los directorios que normalmente verá en un sistema Linux:
El FHS fue diseñado para ser lo más genérico posible, para permitir la incorporación en cualquier sistema UNIX. Es probable que existan directorios adicionales en cualquier sistema razonable, pero POSIX no lo exige.
Sin embargo, tenga en cuenta que The Open Group también afirma que
Dado que los directorios son realmente solo archivos, esto implica que una aplicación estrictamente conforme no creará ningún archivo o directorio en el nivel raíz. Por lo tanto, POSIX no limita necesariamente lo que puede colocar una distribución en el nivel raíz, pero parece indicar que una aplicación que se ajusta a su especificación no puede asumir que podrá hacerlo.
fuente
En 10.1 Estructura de directorios y archivos , POSIX enumera los directorios que deben existir. Pero no especifica ningún límite en el número de otros directorios que pueden existir en el nivel raíz de un sistema de archivos.
Por lo demás, no parece poner límites al tamaño de otros directorios.
La atención de POSIX en esta área se centra en la comunidad en lugar de las diferencias.
fuente
/
) puede ser un directorio raíz, sería bastante tonto imponer un límite superior en el número de entradas en un directorio raíz./
no es particularmente especial en este sentido, por lo tanto, se deduce que sería igualmente tonto imponer un límite superior en el número de entradas/
específicamente.No hay limitación para el número de entradas en un directorio, ya sea en POSIX o en implementaciones típicas de Unix. Puede haber un límite indirecto para el número de subdirectorios, que es el recuento máximo de enlaces duros (la
..
entrada de cada subdirectorio es un enlace duro al directorio); eso es 2 16 para muchos sistemas de archivos comunes, lo que limita un directorio a 65533 subdirectorios (al menos para aquellos sistemas de archivos que almacenan..
entradas explícitamente). Comenzarás a alcanzar un bajo rendimiento antes de eso. Según POSIX, una implementación puede admitir solo 8 enlaces duros en un archivo (_POSIX_LINK_MAX
), pero ninguna implementación real está limitada a 6 subdirectorios. Y de todos modos, en muchos sistemas de archivos, incluido ext4, el recuento de enlaces duros no se mantiene para..
entradas, por lo que el único límite es cuánto espacio o cuántos inodos están disponibles en el sistema de archivos.POSIX no dice mucho sobre la organización de los archivos en el sistema. Solo exige la existencia de unos pocos archivos . Las únicas entradas obligatorias en el directorio raíz son
/dev
y/tmp
. Otras entradas habituales de Unix, tales como/usr
,/var
,/bin
,/etc
,/lib
,/home
, etc, son Unix convenciones que no están codificados por POSIX.En Linux, el FHS codifica los clásicos y un par más. La mayoría de las distribuciones de Linux se adhieren a las entradas de FHS. Otros sistemas Unix suelen tener casi las mismas entradas, tal vez con algunas diferencias, pero el número es casi el mismo.
Los administradores del sistema pueden crear más, aunque esto se desaconseja: hay lugares bien definidos para la mayoría de las cosas (el software se cae
/usr
o/opt
, los datos del sistema se hunden/var
, los datos del usuario se hunden/net
, los puntos de montaje se hunden/media
o/mnt
, etc.), por lo que rara vez hay Cualquier buena razón para crear nuevos directorios en el nivel superior.fuente
a diferencia de FAT, los sistemas de archivos utilizados por UNIX no tienen un límite de tamaño especial en el directorio raíz, pero una vez que la partición esté llena, no podrá agregar más.
fuente