Diferencia entre revisiones de «Estructura de los directorios en GNU/Linux»
Línea 1: | Línea 1: | ||
− | El '''estándar de jerarquía del sistema de archivos''' (o '''FHS''', del | + | El '''estándar de jerarquía del sistema de archivos''' (o '''FHS''', del Idioma inglés|inglés '''''F'''ilesystem '''H'''ierarchy '''S'''tandard'') es una norma que define los directorios principales y sus contenidos en el sistema operativo GNU/Linux y otros sistemas de la familia Unix. Se diseñó originalmente en 1994 para estandarizar el sistema de archivos de las distribución Linux|distribuciones de Linux, basándose en la tradicional organización de directorios de los sistemas Unix. En 1995 se amplió el ámbito del estándar a cualquier ''Unix'' que se adhiriese voluntariamente. |
== Visión general == | == Visión general == | ||
− | El proceso de desarrollo de una jerarquía de | + | El proceso de desarrollo de una jerarquía de sistema de archivos estándar comenzó en agosto de 1993 con un esfuerzo enfocado a reestructurar el archivo y la estructura Linux. El '''FSSTND''' (''Estándar del Sistema de Archivos''), un estándar de la jerarquía del sistema de archivos específico del sistema operativo Linux, fue liberado el 14 de febrero de 1994. Revisiones posteriores fueron liberadas el 9 de octubre de 1994 y el 28 de marzo de 1995. |
− | A principios de | + | A principios de 1996, el objetivo de desarrollar una versión más comprensiva del '''FSSTND''' para direccionar no sólo a Linux, sino a otros sistemas derivados de UNIX, fue adoptado con la ayuda de miembros de la comunidad de desarrollo de BSD. Por consiguiente, un concentrado esfuerzo fue realizado para centrarse en hechos que fueran generales para los sistema operativo|sistemas derivados de UNIX. En reconocimiento a esta amplitud del alcance, el nombre del estándar fue cambiado '''Estándar de Jerarquía del Sistema de Archivos''', o '''FHS''' para abreviar. |
− | El '''FHS''' es mantenido por el ''' | + | El '''FHS''' es mantenido por el '''Grupo de Estándares Libres''' (Free Standards Group, hoy Linux Foundation|The Linux Foundation), una organización no lucrativa conformada por los principales vendedores de software y hardware, tales como: Hewlett-Packard|HP, Red Hat, IBM y Dell. |
− | De todos modos, la gran mayoría de las | + | De todos modos, la gran mayoría de las distribuciones Linux, incluyendo aquellas desarrolladas por los miembros del Grupo de Estándares Libres (Free Standars Group), no siguen este estándar propuesto. En particular, caminos (''path''), expresamente creados por los redactores del '''FHS''', como por ejemplo <code>/srv/<code>, no es usado extensamente. Algunos sistema operativo|sistemas Linux rechazan el '''FHS''' en favor de un enfoque diferente, como es el caso de GoboLinux. |
− | Desde que '''FHS''' comenzó como una iniciativa | + | Desde que '''FHS''' comenzó como una iniciativa Linux, otros sistemas operativos derivados de UNIX, generalmente la han ignorado en favor de sus propios sistemas, los cuales a veces varían ampliamente. Por ejemplo, Mac OSX usa nombres como <code>/Applications/</code>, <code>/Library</code> y <code>/Users/</code> junto con la jerarquía de directorios tradicional de UNIX. |
== Estructura de los directorios == | == Estructura de los directorios == | ||
− | En | + | En UNIX y sistemas similares como BSD, GNU/Linux, todos los archivos y directorios aparecen bajo el directorio raíz, '''<code>/</code>''', aun cuando se encuentren en distintos dispositivos físicos. |
− | La mayoría de estos directorios existe en todos los | + | La mayoría de estos directorios existe en todos los sistemas operativos tipo UNIX, y generalmente son usados de igual forma; sin embargo, las descripciones presentes aquí son aquellas que son usadas específicamente por el ''FHS'', y no son consideradas obligatorias por otras plataformas GNU/Linux. |
== Estructura de los directorios general == | == Estructura de los directorios general == | ||
− | En el sistema de ficheros de | + | En el sistema de ficheros de UNIX (y similares), existen varias ''sub-jerarquías'' de directorios que poseen múltiples y diferentes funciones de almacenamiento y organización en todo el sistema.<ref>[http://www.linux-es.org/node/112 Organización de los directorios en Linux]</ref> Estos directorios pueden clasificarse en: |
− | * '''Estáticos''': Contiene archivos que no cambian sin la intervención del administrador ( | + | * '''Estáticos''': Contiene archivos que no cambian sin la intervención del administrador (root), sin embargo, pueden ser leídos por cualquier otro usuario. (<code>/bin, /sbin, /opt, /boot, /usr/bin</code>...) |
− | * '''Dinámicos''': Contiene archivos que son cambiantes, y pueden leerse y escribirse (algunos sólo por su respectivo usuario y el | + | * '''Dinámicos''': Contiene archivos que son cambiantes, y pueden leerse y escribirse (algunos sólo por su respectivo usuario y el superusuario|root). |
:Contienen configuraciones, documentos, etc. Para estos directorios, es recomendable una copia de seguridad con frecuencia, o mejor aún, deberían ser montados en una partición aparte en el mismo disco, como por ejemplo, montar el directorio /home en otra partición del mismo disco, independiente de la partición principal del sistema; de esta forma, puede repararse el sistema sin afectar o borrar los documentos de los usuarios. (<code>/var/mail, /var/spool, /var/run, /var/lock, /home</code>...) | :Contienen configuraciones, documentos, etc. Para estos directorios, es recomendable una copia de seguridad con frecuencia, o mejor aún, deberían ser montados en una partición aparte en el mismo disco, como por ejemplo, montar el directorio /home en otra partición del mismo disco, independiente de la partición principal del sistema; de esta forma, puede repararse el sistema sin afectar o borrar los documentos de los usuarios. (<code>/var/mail, /var/spool, /var/run, /var/lock, /home</code>...) | ||
* '''Compartidos''': Contiene archivos que se pueden encontrar en un ordenador y utilizarse en otro, o incluso compartirse entre usuarios. | * '''Compartidos''': Contiene archivos que se pueden encontrar en un ordenador y utilizarse en otro, o incluso compartirse entre usuarios. | ||
Línea 29: | Línea 29: | ||
=== Específicando los directorios definidos por ''FHS'' === | === Específicando los directorios definidos por ''FHS'' === | ||
− | + | Archivo:Sistema de ficheros (Linux).png|center|thumb|300px|Captura de los directorios que están dentro del directorio raíz, vistos desde una interfaz gráfica, en Ubuntu (distribución Linux)|Ubuntu. | |
{| class="wikitable" style="vertical-align: top; width: 100%" summary="Una descripción de la jerarquía especificada por la FHS." | {| class="wikitable" style="vertical-align: top; width: 100%" summary="Una descripción de la jerarquía especificada por la FHS." | ||
Línea 37: | Línea 37: | ||
|- | |- | ||
|<span style="color: #06F">'''/'''</span> | |<span style="color: #06F">'''/'''</span> | ||
− | |<span style="color: #06F">''Jerarquía primaria''</span>, la raíz o ''root'', y | + | |<span style="color: #06F">''Jerarquía primaria''</span>, la raíz o ''root'', y directorio raíz o contenedor de todo el sistema de jerarquía. |
|- | |- | ||
|<span style="color: #06F">'''/bin/'''</span> | |<span style="color: #06F">'''/bin/'''</span> | ||
− | |Aplicaciones | + | |Aplicaciones Ejecutable|binarias de comando que son esenciales para que estén disponibles para una sesión de ''usuario único'', o bien, para todos los usuarios (multiusuario). Incluyen, por ejemplo, cat (Unix)|cat, ls, cp (Unix)|cp, rm (Unix)|rm, mkdir (Unix)|mkdir, etc. |
|- | |- | ||
|<span style="color: #06F">'''/boot/'''</span> | |<span style="color: #06F">'''/boot/'''</span> | ||
− | |Archivos cargadores de | + | |Archivos cargadores de Arranque (informática)|arranque (por ejemplo, los núcleo (informática)|núcleos, el initrd). ''A menudo en una partición o disco aparte''. |
|- | |- | ||
|<span style="color: #06F">'''/dev/'''</span> | |<span style="color: #06F">'''/dev/'''</span> | ||
− | |Contiene los portales a | + | |Contiene los portales a Hardware|Dispositivos esenciales (por ejemplo, /dev/null), incluso a los que no se les ha asignado (montado) un directorio. Contiene incluso los portales a Hardware|dispositivos que son virtuales y también a los que no proporcionan almacenamiento (p.e. micrófonos, impresoras, etc). Se trata de la parte más cruda o de más bajo nivel del sistema operativo hacia el hardware, aunque es extremadamente útil para tener un acceso directo a los dispositivos. |
|- | |- | ||
|<span style="color: #06F">'''/etc/'''</span> | |<span style="color: #06F">'''/etc/'''</span> | ||
− | |Contiene archivos de configuración del sistema específicos del '' | + | |Contiene archivos de configuración del sistema específicos del ''Host'' de todo el sistema. Ha habido controversia sobre el significado del nombre, en las primeras versiones del Documento de Implementación de UNIX de los laboratorios Bell, '''/etc''' se conoce como el directorio '''/etcetra''', todo lo que históricamente este directorio consideró que no pertenecía en otra parte (sin embargo, restringe la ESF / etc a los archivos de configuración estáticos y no puede contener archivos binarios). Desde la publicación de la documentación temprana, el nombre de la guía ha sido re-designados de varias maneras. Interpretaciones más recientes incluyen Backronyms como "Configuración de texto editable". |
|- | |- | ||
| | | | ||
Línea 57: | Línea 57: | ||
| | | | ||
:<span style="color: #06F">''/etc/X11/''</span> | :<span style="color: #06F">''/etc/X11/''</span> | ||
− | |Archivos de configuración para el | + | |Archivos de configuración para el X Window System, versión 11. |
|- | |- | ||
| | | | ||
:<span style="color: #06F">''/etc/sgml/''</span> | :<span style="color: #06F">''/etc/sgml/''</span> | ||
− | |Archivos de configuración para | + | |Archivos de configuración para SGML. |
|- | |- | ||
| | | | ||
:<span style="color: #06F">''/etc/xml/''</span> | :<span style="color: #06F">''/etc/xml/''</span> | ||
− | |Archivos de configuración para | + | |Archivos de configuración para XML. |
|- | |- | ||
|<span style="color: #06F">'''/home/'''</span> | |<span style="color: #06F">'''/home/'''</span> | ||
− | |Contiene los directorios de trabajo de todos los usuarios, excepto el del | + | |Contiene los directorios de trabajo de todos los usuarios, excepto el del superusuario (administrador, root). Contiene archivos guardados, ajustes personales, etc. ''A menudo es instalada en un disco o partición separada''. Cada usuario tiene su propio directorio dentro de esta carpeta. |
|- | |- | ||
|<span style="color: #06F">'''/lib/'''</span> | |<span style="color: #06F">'''/lib/'''</span> | ||
− | |Contiene todas las | + | |Contiene todas las Biblioteca (programación)|bibliotecas (mal traducidas como ''librerías'') esenciales compartidas de los programas alojados, es decir, para los ejecutable|binarios en <code>''/bin/''</code> y <code>''/sbin/''</code>. Contiene también las bibliotecas para el núcleo. |
|- | |- | ||
|<span style="color: #06F">'''/media/'''</span> | |<span style="color: #06F">'''/media/'''</span> | ||
− | |Contiene los ''puntos de montaje'' de los medios extraíbles de almacenamiento, tales como lectores de | + | |Contiene los ''puntos de montaje'' de los medios extraíbles de almacenamiento, tales como lectores de CD-ROM (aparecido en la versión 2.3 de ''FHS''), Pendrives (memoria USB), e incluso sirve para ''montar'' otras particiones del mismo disco duro, como por ejemplo, alguna partición que sea utilizada por otro sistema operativo. |
|- | |- | ||
|<span style="color: #06F">'''/mnt/'''</span> | |<span style="color: #06F">'''/mnt/'''</span> | ||
− | | | + | |Sistema de archivos montar (informática)|montados temporalmente. Es una directorio semejante a <code>/media</code>, pero es usado mayoritariamente por los usuarios. Sirve para ''montar'' disco duro|discos duros y particiones de forma temporal en el sistema; no necesita contraseña, a diferencia del directorio <code>/media</code>. |
|- | |- | ||
|<span style="color: #06F">'''/opt/'''</span> | |<span style="color: #06F">'''/opt/'''</span> | ||
− | |Contiene | + | |Contiene paquete de software|Paquetes de programas opcionales de aplicaciones estáticas, es decir, que pueden ser compartidas entre los usuarios. Dichas aplicaciones no guardan sus configuraciones en este directorio; de esta manera, cada usuario puede tener una configuración diferente de una misma aplicación, de manera que se comparte la aplicación pero no las configuraciones de los usuarios, las cuales se guardan en su respectivo directorio en <code>/home</code>. |
|- | |- | ||
|<span style="color: #06F">'''/proc/'''</span> | |<span style="color: #06F">'''/proc/'''</span> | ||
− | |Contiene principalmente archivos de texto, | + | |Contiene principalmente archivos de texto, sistema de archivos virtuales que documentan al núcleo (informática)|núcleo y el estado de los Proceso (informática)|procesos en archivo de texto|archivos de texto (por ejemplo, <code>''uptime'', ''network''</code>). |
|- | |- | ||
|<span style="color: #06F">'''/root/'''</span> | |<span style="color: #06F">'''/root/'''</span> | ||
− | | | + | |Directorio raíz del usuario root. Funciona como las carpetas en <code>/home</code>, pero en este caso, es solo para el superusuario (administrador del sistema). |
|- | |- | ||
|<span style="color: #06F">'''/sbin/'''</span> | |<span style="color: #06F">'''/sbin/'''</span> | ||
− | |Sistema de | + | |Sistema de ejecutable|binarios esencial, comandos y programas exclusivos del superusuario (root), por ejemplo, ''init'', ''route'', ''ifup''). Un usuario puede ejecutar alguno de estas aplicaciones de comandos, si tiene los permisos suficientes, o bien, si tiene la contraseña del superusuario. |
|- | |- | ||
|<span style="color: #06F">'''/srv/'''</span> | |<span style="color: #06F">'''/srv/'''</span> | ||
Línea 95: | Línea 95: | ||
|- | |- | ||
|<span style="color: #06F">'''/tmp/'''</span> | |<span style="color: #06F">'''/tmp/'''</span> | ||
− | |Archivos temporales (véase también ''/var/tmp''). Aquí generalmente se guardan los archivos temporales guardados -por ejemplo- por el | + | |Archivos temporales (véase también ''/var/tmp''). Aquí generalmente se guardan los archivos temporales guardados -por ejemplo- por el Navegador web|navegador de internet. |
|- | |- | ||
|<span style="color: #090">'''/usr/'''</span> | |<span style="color: #090">'''/usr/'''</span> | ||
− | |<span style="color: #090">''jerarquía secundaria''</span> de los datos de usuario; contiene la mayoría de las utilidades y aplicaciones | + | |<span style="color: #090">''jerarquía secundaria''</span> de los datos de usuario; contiene la mayoría de las utilidades y aplicaciones multiusuario, es decir, accesibles para todos los usuarios. En otras palabras, contiene los archivos compartidos, pero que no obstante son de ''sólo lectura''. Este directorio puede incluso ser compartido con otras computadoras de LAN|red local. |
|- | |- | ||
| | | | ||
:<span style="color: #090">/usr/bin/</span> | :<span style="color: #090">/usr/bin/</span> | ||
− | | | + | |Comando (informática)|Comandos Ejecutable|binarios no-administrativos para todos los usuarios. Son de solo lectura, pero pueden tener su propia configuración para cada usuario en <code>/home</code>. |
|- | |- | ||
| | | | ||
:<span style="color: #090">/usr/include/</span> | :<span style="color: #090">/usr/include/</span> | ||
− | | | + | |Archivos de cabecera (Header files o Include files), es decir, archivos de inclusión estándar. |
|- | |- | ||
| | | | ||
:<span style="color: #090">/usr/lib/</span> | :<span style="color: #090">/usr/lib/</span> | ||
− | | | + | |Biblioteca (programación)|bibliotecas compartidas de los Ejecutable|binarios en <code>/usr/bin/</code>. Algunos ejecutables comparten las mismas librerías que comparten las demás aplicaciones, de manera que generalmente no hay dos librerías idénticas en un mismo sistema, lo cual ahorra memoria y proporciona más orden. |
|- | |- | ||
| | | | ||
:<span style="color: #090">/usr/sbin/</span> | :<span style="color: #090">/usr/sbin/</span> | ||
− | |Sistema de | + | |Sistema de Ejectubale|binarios no esenciales; por ejemplo, demonio (informática)|demonios para varios servicios de red. Es decir, contiene programas que no proporcionan una interfaz de usuario y gerneralmente se ejecutan al inicio del sistema o en ciertas circunstancias. No son directamente manejados por el usuario mientras se ejecutan, aunque sí pueden ser configurados antes de que sean ejecutados. |
|- | |- | ||
| | | | ||
:<span style="color: #090">/usr/share/</span> | :<span style="color: #090">/usr/share/</span> | ||
− | |Arquitectura independiente y compartida de datos. En otras palabras, contiene los datos compartidos que no dependen de la arquitectura del sistema. Esto puede incluir imágenes, sonidos, etc., para la disponibilidad en el | + | |Arquitectura independiente y compartida de datos. En otras palabras, contiene los datos compartidos que no dependen de la arquitectura del sistema. Esto puede incluir imágenes, sonidos, etc., para la disponibilidad en el sistema operativo|sistema y sus aplicaciones. Pueden ser plantillas, por ejemplo, aunque generalmente son archivos que el sistema utiliza directamente. |
|- | |- | ||
| | | | ||
:<span style="color: #090">/usr/src/</span> | :<span style="color: #090">/usr/src/</span> | ||
− | | | + | |Código fuente|Códigos fuente de algunas aplicaciones. Al igual que <code>/mnt</code>, esta carpeta es manejada por los usuarios directamente para que éstos puedan guardan en él el código fuente de programas y bibliotecas y así puedan accesarlo fácilmente, sin problemas con permisos. Permite que el código fuente tenga un espacio propio, accesible pero apartado de todos los usuarios. |
|- | |- | ||
| | | | ||
:<span style="color: #090">/usr/X11R6/</span> | :<span style="color: #090">/usr/X11R6/</span> | ||
− | |Sistema | + | |Sistema X Window System, Versión 11, Release 6. Este directorio se relaciona con el entorno gráfico. |
|- | |- | ||
| | | | ||
:<span style="color: #F90">/usr/local/</span> | :<span style="color: #F90">/usr/local/</span> | ||
− | |<span style="color: #F90">''Jerarquía terciaria''</span> para los datos locales, específicos a este | + | |<span style="color: #F90">''Jerarquía terciaria''</span> para los datos locales, específicos a este host. Usualmente tiene subdirectorios, por ejemplo <code>bin/</code>, <code>lib/</code>, <code>share/</code>, de datos compartidos de ''sólo lectura'' específicos del ordenador o servidor que los comparte. |
|- | |- | ||
|<span style="color: #06F">'''/var/'''</span> | |<span style="color: #06F">'''/var/'''</span> | ||
− | |Archivos variables, tales como ''logs'', archivos '' | + | |Archivos variables, tales como ''logs'', archivos ''Spooling|spool'', bases de datos, archivos de e-mail temporales, y algunos archivos temporales en general. Generalmente actúa como un registro del sistema. Ayuda a encontrar los orígenes de un problema. |
|- | |- | ||
| | | | ||
:/var/cache/ | :/var/cache/ | ||
− | |Memoria | + | |Memoria Caché (informática)|caché de las aplicaciones, aunque también se utiliza el directorio <code>/tmp<code> para lo mismo. |
|- | |- | ||
| | | | ||
:/var/crash/ | :/var/crash/ | ||
− | |Se depositan datos e información, referentes a las caídas o errores del | + | |Se depositan datos e información, referentes a las caídas o errores del sistema operativo. Es más específico que <code>/var</code> en general. |
|- | |- | ||
| | | | ||
Línea 165: | Línea 165: | ||
| | | | ||
:/var/run/ | :/var/run/ | ||
− | |Información reciente. Trata acerca del funcionamiento del sistema desde el último | + | |Información reciente. Trata acerca del funcionamiento del sistema desde el último Arranque (informática)|arranque. Por ejemplo, los usuarios actualmente registrados o logueados, que han ingresado; y los demonio (informática)|demonios que están en ejecución. |
|- | |- | ||
| | | | ||
:/var/spool/ | :/var/spool/ | ||
− | |Bobinas o carretes ( | + | |Bobinas o carretes (Spooling|Spool), de tareas a la espera de ser procesados (por ejemplo, colas de impresión y correo no leído). |
|- | |- | ||
| | | | ||
Línea 181: | Línea 181: | ||
== Mapa conceptual == | == Mapa conceptual == | ||
− | + | Mapa conceptual que ejemplifica un sistema tipo UNIX, con sus discos, particiones y algunos directorios (subjerarquías). | |
− | + | Archivo:jerarquía-linux.png|right|400px | |
− | Las flechas de color gris, señalan los directorios que no están en el mismo | + | Las flechas de color gris, señalan los directorios que no están en el mismo disco duro o partición de disco|partición que el directorio raíz (/), sin embargo, son parte de la misma jerarquía. |
− | Los | + | Los sistema operativo|sistemas similares a UNIX suelen requerir un mínimo de dos partición de disco|particiones para funcionar (/ y Espacio de intercambio|swap). No obstante, en el ejemplo, el directorio (o subjerarquía) ''/home'' también posee su propia partición en el disco. Esto quiere decir que el sistema puede reinstalarse sin que los usuarios pierdan sus configuraciones y documentos personales, sin embargo, una partición exclusiva para /home es opcional. |
− | La partición | + | La partición Espacio de intercambio|swap no tiene asignado ningún directorio en la jerarquía, ya que su propósito es servir al sistema un espacio de intercambio que se utiliza cuando la memoria RAM este llena. |
− | En el mapa aparece también un disco extraíble (quizá un | + | En el mapa aparece también un disco extraíble (quizá un pendrive), el cual no es indispensable para el sistema. Este disco extraíble posee un directorio dentro del directorio /media; todo lo que se guarde en ese directorio (/media/disk), se estará guardando en dicho disco extraíble. Incluso, cualquier subjerarquía, incluso la misma jerarquía, puede guardarse en un disco extraíble, en vez de un disco duro. |
Por ejemplo: la subjerarquía /tmp puede montarse en otro disco u otra partición del mismo disco, al igual que cualquier otro directorio de la jerarquía, o incluso la misma partición de intercambio (swap). En los sistemas tipo UNIX, cualquier directorio (subjerarquía) puede tener su propio disco o partición asignado. Hay que tener en cuenta, que todos los discos, particiones, dispositivos y terminales que reconoce el núcleo, pueden ser monitoreados o identificados a través de algunos archivos especiales presentes en la sub-jerarquía /dev. | Por ejemplo: la subjerarquía /tmp puede montarse en otro disco u otra partición del mismo disco, al igual que cualquier otro directorio de la jerarquía, o incluso la misma partición de intercambio (swap). En los sistemas tipo UNIX, cualquier directorio (subjerarquía) puede tener su propio disco o partición asignado. Hay que tener en cuenta, que todos los discos, particiones, dispositivos y terminales que reconoce el núcleo, pueden ser monitoreados o identificados a través de algunos archivos especiales presentes en la sub-jerarquía /dev. | ||
+ | |||
+ | |||
+ | |||
[[Category:Organización de archivos y carpetas]] | [[Category:Organización de archivos y carpetas]] |
Revisión del 15:52 17 oct 2013
El estándar de jerarquía del sistema de archivos (o FHS, del Idioma inglés|inglés Filesystem Hierarchy Standard) es una norma que define los directorios principales y sus contenidos en el sistema operativo GNU/Linux y otros sistemas de la familia Unix. Se diseñó originalmente en 1994 para estandarizar el sistema de archivos de las distribución Linux|distribuciones de Linux, basándose en la tradicional organización de directorios de los sistemas Unix. En 1995 se amplió el ámbito del estándar a cualquier Unix que se adhiriese voluntariamente.
Sumario
Visión general
El proceso de desarrollo de una jerarquía de sistema de archivos estándar comenzó en agosto de 1993 con un esfuerzo enfocado a reestructurar el archivo y la estructura Linux. El FSSTND (Estándar del Sistema de Archivos), un estándar de la jerarquía del sistema de archivos específico del sistema operativo Linux, fue liberado el 14 de febrero de 1994. Revisiones posteriores fueron liberadas el 9 de octubre de 1994 y el 28 de marzo de 1995.
A principios de 1996, el objetivo de desarrollar una versión más comprensiva del FSSTND para direccionar no sólo a Linux, sino a otros sistemas derivados de UNIX, fue adoptado con la ayuda de miembros de la comunidad de desarrollo de BSD. Por consiguiente, un concentrado esfuerzo fue realizado para centrarse en hechos que fueran generales para los sistema operativo|sistemas derivados de UNIX. En reconocimiento a esta amplitud del alcance, el nombre del estándar fue cambiado Estándar de Jerarquía del Sistema de Archivos, o FHS para abreviar.
El FHS es mantenido por el Grupo de Estándares Libres (Free Standards Group, hoy Linux Foundation|The Linux Foundation), una organización no lucrativa conformada por los principales vendedores de software y hardware, tales como: Hewlett-Packard|HP, Red Hat, IBM y Dell.
De todos modos, la gran mayoría de las distribuciones Linux, incluyendo aquellas desarrolladas por los miembros del Grupo de Estándares Libres (Free Standars Group), no siguen este estándar propuesto. En particular, caminos (path), expresamente creados por los redactores del FHS, como por ejemplo /srv/
, no es usado extensamente. Algunos sistema operativo|sistemas Linux rechazan el FHS en favor de un enfoque diferente, como es el caso de GoboLinux.
Desde que FHS comenzó como una iniciativa Linux, otros sistemas operativos derivados de UNIX, generalmente la han ignorado en favor de sus propios sistemas, los cuales a veces varían ampliamente. Por ejemplo, Mac OSX usa nombres como
/Applications/
, /Library
y /Users/
junto con la jerarquía de directorios tradicional de UNIX.
Estructura de los directorios
En UNIX y sistemas similares como BSD, GNU/Linux, todos los archivos y directorios aparecen bajo el directorio raíz, /
, aun cuando se encuentren en distintos dispositivos físicos.
La mayoría de estos directorios existe en todos los sistemas operativos tipo UNIX, y generalmente son usados de igual forma; sin embargo, las descripciones presentes aquí son aquellas que son usadas específicamente por el FHS, y no son consideradas obligatorias por otras plataformas GNU/Linux.
Estructura de los directorios general
En el sistema de ficheros de UNIX (y similares), existen varias sub-jerarquías de directorios que poseen múltiples y diferentes funciones de almacenamiento y organización en todo el sistema.[1] Estos directorios pueden clasificarse en:
- Estáticos: Contiene archivos que no cambian sin la intervención del administrador (root), sin embargo, pueden ser leídos por cualquier otro usuario. (
/bin, /sbin, /opt, /boot, /usr/bin
...)
- Dinámicos: Contiene archivos que son cambiantes, y pueden leerse y escribirse (algunos sólo por su respectivo usuario y el superusuario|root).
- Contienen configuraciones, documentos, etc. Para estos directorios, es recomendable una copia de seguridad con frecuencia, o mejor aún, deberían ser montados en una partición aparte en el mismo disco, como por ejemplo, montar el directorio /home en otra partición del mismo disco, independiente de la partición principal del sistema; de esta forma, puede repararse el sistema sin afectar o borrar los documentos de los usuarios. (
/var/mail, /var/spool, /var/run, /var/lock, /home
...)
- Compartidos: Contiene archivos que se pueden encontrar en un ordenador y utilizarse en otro, o incluso compartirse entre usuarios.
- Restringidos: Contiene ficheros que no se pueden compartir, solo son modificables por el administrador. (
/etc, /boot, /var/run, /var/lock
...)
Específicando los directorios definidos por FHS
Archivo:Sistema de ficheros (Linux).png|center|thumb|300px|Captura de los directorios que están dentro del directorio raíz, vistos desde una interfaz gráfica, en Ubuntu (distribución Linux)|Ubuntu.
Directorio
Descripción Simple
/
Jerarquía primaria, la raíz o root, y directorio raíz o contenedor de todo el sistema de jerarquía.
/bin/
binarias de comando que son esenciales para que estén disponibles para una sesión de usuario único, o bien, para todos los usuarios (multiusuario). Incluyen, por ejemplo, cat (Unix)|cat, ls, cp (Unix)|cp, rm (Unix)|rm, mkdir (Unix)|mkdir, etc.
/boot/
arranque (por ejemplo, los núcleo (informática)|núcleos, el initrd). A menudo en una partición o disco aparte.
/dev/
Dispositivos esenciales (por ejemplo, /dev/null), incluso a los que no se les ha asignado (montado) un directorio. Contiene incluso los portales a Hardware|dispositivos que son virtuales y también a los que no proporcionan almacenamiento (p.e. micrófonos, impresoras, etc). Se trata de la parte más cruda o de más bajo nivel del sistema operativo hacia el hardware, aunque es extremadamente útil para tener un acceso directo a los dispositivos.
/etc/
Contiene archivos de configuración del sistema específicos del Host de todo el sistema. Ha habido controversia sobre el significado del nombre, en las primeras versiones del Documento de Implementación de UNIX de los laboratorios Bell, /etc se conoce como el directorio /etcetra, todo lo que históricamente este directorio consideró que no pertenecía en otra parte (sin embargo, restringe la ESF / etc a los archivos de configuración estáticos y no puede contener archivos binarios). Desde la publicación de la documentación temprana, el nombre de la guía ha sido re-designados de varias maneras. Interpretaciones más recientes incluyen Backronyms como "Configuración de texto editable".
- /etc/opt/
Archivos de configuración para los programas alojados dentro del directorio /opt
.
- /etc/X11/
Archivos de configuración para el X Window System, versión 11.
- /etc/sgml/
Archivos de configuración para SGML.
- /etc/xml/
Archivos de configuración para XML.
/home/
Contiene los directorios de trabajo de todos los usuarios, excepto el del superusuario (administrador, root). Contiene archivos guardados, ajustes personales, etc. A menudo es instalada en un disco o partición separada. Cada usuario tiene su propio directorio dentro de esta carpeta.
/lib/
bibliotecas (mal traducidas como librerías) esenciales compartidas de los programas alojados, es decir, para los ejecutable|binarios en /bin/
y /sbin/
. Contiene también las bibliotecas para el núcleo.
/media/
Contiene los puntos de montaje de los medios extraíbles de almacenamiento, tales como lectores de CD-ROM (aparecido en la versión 2.3 de FHS), Pendrives (memoria USB), e incluso sirve para montar otras particiones del mismo disco duro, como por ejemplo, alguna partición que sea utilizada por otro sistema operativo.
/mnt/
montados temporalmente. Es una directorio semejante a /media
, pero es usado mayoritariamente por los usuarios. Sirve para montar disco duro|discos duros y particiones de forma temporal en el sistema; no necesita contraseña, a diferencia del directorio /media
.
/opt/
Paquetes de programas opcionales de aplicaciones estáticas, es decir, que pueden ser compartidas entre los usuarios. Dichas aplicaciones no guardan sus configuraciones en este directorio; de esta manera, cada usuario puede tener una configuración diferente de una misma aplicación, de manera que se comparte la aplicación pero no las configuraciones de los usuarios, las cuales se guardan en su respectivo directorio en /home
.
/proc/
núcleo y el estado de los Proceso (informática)|procesos en archivo de texto|archivos de texto (por ejemplo, uptime, network
).
/root/
Directorio raíz del usuario root. Funciona como las carpetas en /home
, pero en este caso, es solo para el superusuario (administrador del sistema).
/sbin/
binarios esencial, comandos y programas exclusivos del superusuario (root), por ejemplo, init, route, ifup). Un usuario puede ejecutar alguno de estas aplicaciones de comandos, si tiene los permisos suficientes, o bien, si tiene la contraseña del superusuario.
/srv/
Lugar específico de datos que son servidos por el sistema.
/tmp/
navegador de internet.
/usr/
red local.
- /usr/bin/
Comandos Ejecutable|binarios no-administrativos para todos los usuarios. Son de solo lectura, pero pueden tener su propia configuración para cada usuario en /home
.
- /usr/include/
Archivos de cabecera (Header files o Include files), es decir, archivos de inclusión estándar.
- /usr/lib/
bibliotecas compartidas de los Ejecutable|binarios en /usr/bin/
. Algunos ejecutables comparten las mismas librerías que comparten las demás aplicaciones, de manera que generalmente no hay dos librerías idénticas en un mismo sistema, lo cual ahorra memoria y proporciona más orden.
- /usr/sbin/
binarios no esenciales; por ejemplo, demonio (informática)|demonios para varios servicios de red. Es decir, contiene programas que no proporcionan una interfaz de usuario y gerneralmente se ejecutan al inicio del sistema o en ciertas circunstancias. No son directamente manejados por el usuario mientras se ejecutan, aunque sí pueden ser configurados antes de que sean ejecutados.
- /usr/share/
sistema y sus aplicaciones. Pueden ser plantillas, por ejemplo, aunque generalmente son archivos que el sistema utiliza directamente.
- /usr/src/
Códigos fuente de algunas aplicaciones. Al igual que /mnt
, esta carpeta es manejada por los usuarios directamente para que éstos puedan guardan en él el código fuente de programas y bibliotecas y así puedan accesarlo fácilmente, sin problemas con permisos. Permite que el código fuente tenga un espacio propio, accesible pero apartado de todos los usuarios.
- /usr/X11R6/
Sistema X Window System, Versión 11, Release 6. Este directorio se relaciona con el entorno gráfico.
- /usr/local/
Jerarquía terciaria para los datos locales, específicos a este host. Usualmente tiene subdirectorios, por ejemplo bin/
, lib/
, share/
, de datos compartidos de sólo lectura específicos del ordenador o servidor que los comparte.
/var/
spool, bases de datos, archivos de e-mail temporales, y algunos archivos temporales en general. Generalmente actúa como un registro del sistema. Ayuda a encontrar los orígenes de un problema.
- /var/cache/
caché de las aplicaciones, aunque también se utiliza el directorio /tmp para lo mismo.
- /var/crash/
Se depositan datos e información, referentes a las caídas o errores del sistema operativo. Es más específico que /var
en general.
- /var/games/
Datos variables de los juegos del sistema. Este directorio no es imprescindible y muchas veces es omitido por las propias aplicaciones de juegos, pues utilizan la carpeta de usuario en /home
para guardar datos variables como configuraciones, por poner un ejemplo. De todas maneras, los juegos de gnome utilizan este directorio.
- /var/lock/
Archivos Lock. Archivos que hacen el seguimiento de los recursos que se utilizan actualmente.
- /var/log/
Archivos de registro, Log. Varios registros, logs.
- /var/mail/
Buzón correos o mensajes de los usuarios. Si no utiliza cifrado, generalmente se utiliza entonces la carpeta personal para la misma labor por parte de programas que manejen correos electrónicos.
- /var/opt/
Posee los datos variables de /opt.
- /var/run/
arranque. Por ejemplo, los usuarios actualmente registrados o logueados, que han ingresado; y los demonio (informática)|demonios que están en ejecución.
- /var/spool/
Spool), de tareas a la espera de ser procesados (por ejemplo, colas de impresión y correo no leído).
- /var/spool/mail/
Ubicación de los correos de usuario desaprobados. Si no utiliza cifrado, generalmente se utiliza entonces la carpeta personal para la misma labor por parte de programas que manejen correos electrónicos.
- /var/tmp/
Archivos temporales que, a diferencia de /tmp
, no se borran entre sesiones o reinicios del sistema, pero que de todas maneras siendo prescindibles.
Mapa conceptual
Mapa conceptual que ejemplifica un sistema tipo UNIX, con sus discos, particiones y algunos directorios (subjerarquías).
Archivo:jerarquía-linux.png|right|400px
Las flechas de color gris, señalan los directorios que no están en el mismo disco duro o partición de disco|partición que el directorio raíz (/), sin embargo, son parte de la misma jerarquía.
Los sistema operativo|sistemas similares a UNIX suelen requerir un mínimo de dos partición de disco|particiones para funcionar (/ y Espacio de intercambio|swap). No obstante, en el ejemplo, el directorio (o subjerarquía) /home también posee su propia partición en el disco. Esto quiere decir que el sistema puede reinstalarse sin que los usuarios pierdan sus configuraciones y documentos personales, sin embargo, una partición exclusiva para /home es opcional.
La partición Espacio de intercambio|swap no tiene asignado ningún directorio en la jerarquía, ya que su propósito es servir al sistema un espacio de intercambio que se utiliza cuando la memoria RAM este llena.
En el mapa aparece también un disco extraíble (quizá un pendrive), el cual no es indispensable para el sistema. Este disco extraíble posee un directorio dentro del directorio /media; todo lo que se guarde en ese directorio (/media/disk), se estará guardando en dicho disco extraíble. Incluso, cualquier subjerarquía, incluso la misma jerarquía, puede guardarse en un disco extraíble, en vez de un disco duro.
Por ejemplo: la subjerarquía /tmp puede montarse en otro disco u otra partición del mismo disco, al igual que cualquier otro directorio de la jerarquía, o incluso la misma partición de intercambio (swap). En los sistemas tipo UNIX, cualquier directorio (subjerarquía) puede tener su propio disco o partición asignado. Hay que tener en cuenta, que todos los discos, particiones, dispositivos y terminales que reconoce el núcleo, pueden ser monitoreados o identificados a través de algunos archivos especiales presentes en la sub-jerarquía /dev.