Autor: Joel Barrios Dueñas
Correo electrónico: darkshram en gmail punto com
Sitio de Red: https://www.alcancelibre.org/
Licencia de este documento: Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1
© 1999-2022 Joel Barrios Dueñas. Usted es libre de copiar, distribuir y comunicar públicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales (incluyendo su publicación, a través de cualquier medio, por entidades con fines de lucro). c) Si altera o transforma esta obra o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legítimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano. La información contenida en este documento y los derivados de éste se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector hace mal uso de éstos.
El estándar de jerarquía de archivos (FHS o Filesystem Hierarchy Standard) define los principales directorios y sus contenidos en GNU/Linux y otros sistemas operativos similares a Unix.
En agosto de 1993 inició un proceso para desarrollar un estándar de sistema de archivos jerárquico, como un esfuerzo para reorganizar la estructuras de archivos y directorios de GNU/Linux. El 14 de Febrero de 1994 se publicó el FSSTND (Filesystem Standard), un estándar de jerarquía de archivos específico para GNU/Linux. Revisiones de éste se publicaron el 9 de Octubre de 1994 y el 28 de Marzo de 1995.
A principios de 1996, con la ayuda de miembros de la comunidad de desarrolladores de BSD, se fijó como objetivo el desarrollar una versión de FSSTND más detallada y dirigida no solo hacia Linux sino también hacia otros sistemas operativos similares a Unix. Como uno de los resultados el estándar cambió de nombre a FHS o Filesystem Hierarchy Standard.
El FHS es mantenido por Free Standards Group, una organización sin fines de lucro constituida por compañías que manufacturan sustento físico (Hardware) y equipamiento lógico (Software) como Hewlett Packard, Dell, IBM y Red Hat. La mayoría de las distribuciones de Linux, inclusive las que forman parte de Free Software Standards, utilizan este estándar sin aplicarlo de manera estricta.
La versión 2.3 del FHS se publicó el 29 de enero de 2004 y es el estándar utilizado por CentOS 6, Red Hat™ Enterprise Linux 6 y SUSE™ Linux Enterprise 11 y versiones anteriores de éstos.
La versión 3.0 del FHS se publico el 5 de junio de 2015 y es el estándar utilizado por las más recientes versiones de Fedora™ y openSUSE™, CentOS 7, Red Hat™ Enterprise Linux 7 y SUSE™ Linux Enterprise 12.
Todos los archivos y directorios aparecen debajo del directorio raíz «/», aún si están almacenados en dispositivos físicamente diferentes.
Directorio. |
Descripción |
---|---|
/bin |
Programas binarios esenciales (como son cp, mv, ls, rm, mkdir, etc.), |
/boot |
Archivos utilizados durante el inicio del sistema (núcleo y discos RAM), |
/dev |
Dispositivos esenciales, |
/etc |
Archivos de configuración utilizados en todo el sistema y que son específicos del anfitrión. |
/etc/opt |
Archivos de configuración utilizados por programas alojados dentro de /opt. |
/etc/X11 (opcional) |
Archivos de configuración para el sistema X Window. |
/etc/sgml (opcional) |
Archivos de configuración para SGML. |
/etc/xml (opcional) |
Archivos de configuración para XML. |
Directorio. |
Descripción |
---|---|
/home (opcional) |
Directorios de inicio de los usuarios locales. |
/lib y /lib64 |
Bibliotecas compartidas esenciales para los binarios de /bin, /sbin y el núcleo del sistema. /lib64 corresponde al directorio utilizado por sistemas de 64-bit. |
/mnt |
Sistemas de archivos montados temporalmente. |
/media |
Puntos de montaje para dispositivos de medios, como son las unidades lectoras de discos compactos. |
/opt |
Paquetes de aplicaciones de terceros. |
/proc |
Sistema de archivos virtual que documenta sucesos y estados del núcleo. Contiene, principalmente, archivos de texto. |
/root (opcional) |
Directorio de inicio del usuario root (super-usuario). |
/run |
En la versión 3.0 del FHS corresponde a datos variables de ejecución. Almacena información acerca de el sistema en ejecución desde el último inicio, usuarios ingresados en el sistema y archivos de identificación de proceso (PID) de los servicios en ejecución. La funcionalidad de éste directorio en la versión 2.3 del FHS era la correspondiente a /var/run. |
/sbin |
Binarios de administración de sistema. |
/srv |
Datos específicos de sitio servidos por el sistema. Sólo openSUSE™ y SUSE™ Linux Enterprise siguen el estándar utilizando éste para alojar los directorios raíz de servidores HTTP y FTP —es decir /srv/www y /srv/ftp, respectivamente. |
/tmp |
Archivos temporales |
Directorio. |
Descripción |
---|---|
/usr |
Jerarquía secundaria para datos compartidos de solo lectura (Unix system resources). Este directorio debe poder ser compartido para múltiples anfitriones y debe evitarse que contenga datos específicos del anfitrión que los comparte cuando se hace a través de NFS. |
/usr/bin |
Programas binarios. |
/usr/include |
Archivos de inclusión estándar (cabeceras de desarrollo). |
/usr/lib y /usr/lib64 |
Bibliotecas compartidas. /usr/lib64 corresponde al directorio utilizado por sistemas de 64-bit. |
/usr/share |
Datos compartidos, independientes de la arquitectura del sistema. Consiste en imágenes, archivos de texto, archivos de audio, etc. |
/usr/src (opcional) |
Códigos fuente. |
/usr/X11R6 (opcional) |
Sistema X Window, versión 11, lanzamiento 6. Prácticamente ninguna distribución de Linux lo utiliza en la actualidad. |
/usr/local |
Jerarquía terciaria para datos compartidos de solo-lectura específicos del anfitrión. Debajo de esta jerarquía se instala todo lo que se compile desde código fuente. |
Directorio. |
Descripción |
---|---|
/var |
Archivos variables, como son registros, bases de datos, directorio raíz de servidores HTTP y FTP, colas de correo, archivos temporales, etc. |
/var/account (opcional) |
Procesa registros de cuentas de usuarios. |
/var/cache |
Cache da datos de aplicaciones. |
/var/crash (opcional) |
Almacén de información referente a fallas del sistema. |
/var/games (opcional) |
Datos variables de aplicaciones para juegos (mejores marcas y/o tiempos). |
/var/lib |
Información de estado variable. Algunos servidores como MySQL y PostgreSQL, almacenan sus bases de datos en directorios subordinados de éste. |
/var/lock |
Archivos de bloqueo de los servicios en ejecución. |
/var/log |
Archivos y directorios, utilizados para almacenar los registros de eventos del sistema. |
/var/mail (opcional) |
Directorio para almacenar los buzones de correo de usuarios. CentOS, Fedora™ y Red Hat™ Enterprise Linux utilizan —por motivos de compatibilidad de legado— la antigua localización —obsoleta— que corresponde a /var/spool/mail. En estos sistemas /var/mail es un enlace simbólico de /var/spool/mail. |
/var/opt |
Datos variables de /opt/. |
/var/run |
En la versión 2.3 del FHS es para datos variables de ejecución. Almacena información acerca de el sistema en ejecución desde el último inicio, usuarios ingresados en el sistema y archivos de identificación de proceso (PID) de los servicios en ejecución. En la versión 3.0 del FHS la funcionalidad de éste directorio se ha movido hacia /run y en éstos —para fines de compatibilidad— /var/run es un enlace simbólico que apunta hacia /run. |
/var/spool |
Colas de procesamiento y carretes de datos de aplicaciones. |
/var/tmp |
Archivos temporales que prevalecen después de un reinicio. |
Más detalles acerca del FHS en http://www.pathname.com/fhs/.
Si las condiciones limitan el número de particiones a utilizar, como mínimo se requieren dos particiones: / y memoria de intercambio.
El diseño predeterminado del instalador de openSUSE™ y SUSE™ Linux Enterprise utiliza 3 particiones:
/ |
Asignar todo el espacio disponible de la unidad de almacenamiento. |
/home |
En estaciones de trabajo, a esta partición se asigna al menos la mitad del espacio disponible para almacenamiento. |
Memoria de intercambio (Swap ) |
Si se tiene menos de 1 GiB de RAM, se debe asignar el doble del tamaño del RAM físico; si se tiene más de 1 GiB RAM, se debe asignar una cantidad igual al tamaño del RAM físico, más 2 GiB. Ésta será siempre la última partición del espacio disponible para almacenamiento y jamás se le asigna punto de montaje. |
El diseño predeterminado del instalador de CentOS, Fedora™ y Red Hat™ Enterprise Linux utiliza 4 particiones:
/boot |
Requiere de 200 MiB a 512 MiB. |
/ |
Si se utiliza el diseño de tres particiones, asignar el resto del espacio disponible en la unidad de almacenamiento. Si se van asignar particiones para los directorios mencionados adelante, se requieren de 3072 MiB a 5120 MiB. |
/home |
En estaciones de trabajo, a esta partición se asigna al menos la mitad del espacio disponible para almacenamiento. |
Memoria de intercambio (Swap ) |
Si se tiene menos de 1 GiB de RAM, se debe asignar el doble del tamaño del RAM físico; si se tiene más de 1 GiB RAM, se debe asignar una cantidad igual al tamaño del RAM físico, más 2 GiB. Ésta será siempre la última partición del espacio disponible para almacenamiento y jamás se le asigna punto de montaje. |
Lo siguientes directorios jamás deberán estar fuera de la partición que corresponda a /, es decir, jamás se deben asignar como particiones separadas:
En CentOS 7, Fedora™, Red Hat™ Enterprise Linux 7, openSUSE™ y SUSE™ Linux Enterprise 12, el directorio /usr se puede separar como partición independiente gracias a que el proceso de arranque se encarga de montarla cuando es necesario. Sin embargo es preferible que /usr forma parte de la misma partición que corresponda a /, pues el proceso de arranque —que es gestionado por SystemD— utiliza subdirectorios de éste durante el inicio del sistema.
En sistemas que utilizan SystemD hay además los siguientes cambios:
Otras particiones que se recomienda asignar, son:
/usr |
Requiere al menos 3072 MiB en instalaciones básicas. Debe considerarse el equipamiento lógico se planee instalar a futuro. Para uso general se recomiendan al menos de 5120 MiB. Considere un tamaño óptimo de hasta 20480 MiB. Este directorio sólo puede asignarse como partición independiente en CentOS 6, Red Hat™ Enterprise Linux 6, SUSE™ Linux Enterprise 11 y versiones anteriores de éstos. |
/tmp |
Requiere al menos 350 MiB y puede asignarse la cantidad que sea necesaria para satisfacer las demandas de la carga de trabajo y aplicaciones. Si —por ejemplo— el sistema cuenta con un grabador de DVD, será necesario asignar a /tmp el espacio suficiente para almacenar una imagen de disco DVD, es decir al menos 4.2 GiB —asumiendo que es de una sola cara y de densidad simple. Algunas distribuciones de vanguardia utilizan un disco RAM —o RAM disk— para este directorio con la finalidad de mejorar el rendimiento del sistema. |
/var |
Requiere al menos 3072 MiB en estaciones de trabajo sin servicios. En servidores regularmente se le asigna al menos la mitad del espacio disponible para almacenamiento. Este directorio sólo puede asignarse como partición independiente en CentOS 6, Red Hat™ Enterprise Linux 6, SUSE™ Linux Enterprise 11 y versiones anteriores de éstos. |
/usr/local |
Requiere al menos 3072 MiB en instalaciones básicas. Debe considerarse el equipamiento lógico que se planee compilar desde código fuente, e instalar, a futuro. Al igual que |
/opt |
Requiere al menos 3072 MiB en instalaciones básicas. Debe considerarse el equipamiento lógico de terceros que se planee instalar a futuro. Al igual que |
/var/lib |
Si se asigna como partición independiente de |
/var/ftp o /srv/ftp |
Corresponde al directorio raíz de los servidores FTP. CentOS, Fedora™ y Red Hat™ Enterprise Linux utilizan /var/ftp, mientras que openSUSE™ y SUSE™ Linux Enterprise utilizan /srv/ftp. Asignar como partición independiente cualquiera de éstos directorios permite optimizar el registro por diario —utilizando el modo writeback— para mejorar el desempeño e impide que ocurra una denegación de servicio en el sistema al llenarse la partición por permitir subidas de datos por usuarios anónimos. Requiere al menos 3072 MiB en instalaciones básicas. Deben considerarse los anfitriones virtuales, aplicaciones y contenido para ser servido a través del protocolo HTTP, que se planeen hospedar a futuro. |
/var/www o /srv/www |
Corresponde al directorio raíz de los servidores HTTP como Apache. CentOS, Fedora™ y Red Hat™ Enterprise Linux utilizan /var/www, mientras que openSUSE™ y SUSE™ Linux Enterprise utilizan /srv/www. Asignar como partición independiente cualquiera de éstos directorios permite optimizar el registro por diario —utilizando el modo writeback— para mejorar el desempeño. Requiere al menos 3072 MiB en instalaciones básicas. Deben considerarse los anfitriones virtuales, aplicaciones y contenido para ser servido a través del protocolo HTTP, que se planeen hospedar a futuro. |