Está en la página 1de 5

Filesystem Hierarchy Standard

Ir a la navegaciónIr a la búsqueda
El estándar de jerarquía del sistema de archivos (en inglés Filesystem Hierarchy
Standard, también conocido por sus siglas FHS) 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 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 sea voluntariamente.

Índice
1 Visión general
2 Estructura de los directorios
3 Estructura de los directorios general
3.1 Especificando los directorios definidos por FHS
4 Notas y referencias
5 Véase también
6 Enlaces externos
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 exhaustiva 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 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
The Linux Foundation), una organización no lucrativa conformada por los principales
vendedores de software y hardware, tales como: 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 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 OS X 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 solo por su respectivo usuario y el 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...)
Especificando los directorios definidos por FHS

Captura de los directorios que están dentro del directorio raíz, vistos desde una
interfaz gráfica, en 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/ Aplicaciones 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, ls, cp, rm, mkdir, etc.
/boot/ Archivos cargadores de arranque (por ejemplo, los núcleos, el initrd).
A menudo en una partición o disco aparte.
/dev/ Contiene archivos especiales de bloques y caracteres asociados a dispositivos
hardware. Aquí encontramos todos los dispositivos físicos del sistema (todo nuestro
hardware).
/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/ Contiene todas las bibliotecas (mal traducidas como librerías) esenciales
compartidas de los programas alojados, es decir, para los 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/ Sistema de archivos montados temporalmente. Es una directorio semejante a
/media, pero es usado mayoritariamente por los usuarios. Sirve para montar discos
duros y particiones de forma temporal en el sistema; no necesita contraseña, a
diferencia del directorio /media.
/opt/ Contiene 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/ Contiene principalmente archivos de texto, sistema de archivos
virtuales que documentan al núcleo y el estado de los procesos en 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/ Sistema de 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.
/sys/ Evolución de proc. Sistema de archivos virtuales que documentan al núcleo
pero localizados de forma jerarquizada. En proc se disponen de forma anárquica. Su
nombre correcto es Sysfs.
/tmp/ Archivos temporales (véase también /var/tmp). Aquí generalmente se guardan
los archivos temporales guardados -por ejemplo- por el navegador de internet.
/usr/ jerarquía secundaria 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 red local.
/usr/bin/
Comandos 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 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/
Sistema de binarios no esenciales; por ejemplo, demonios para varios servicios de
red. Es decir, contiene programas que no proporcionan una interfaz de usuario y
generalmente 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/
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 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 guardar en él el código fuente
de programas y bibliotecas y así puedan accederlo 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/ Archivos variables, tales como logs, archivos 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/
Memoria 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/
Información reciente. Trata acerca del funcionamiento del sistema desde el último
arranque. Por ejemplo, los usuarios actualmente registrados o logueados, que han
ingresado; y los demonios que están en ejecución.
/var/spool/
Bobinas o carretes (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 siguen siendo prescindibles.
Mapa conceptual que ejemplifica un sistema tipo UNIX, con sus discos, particiones y
algunos directorios (subjerarquías).

Jerarquía-linux.png
Las flechas de color gris, señalan los directorios que no están en el mismo disco
duro o partición que el directorio raíz (/), sin embargo, son parte de la misma
jerarquía.

Los sistemas similares a UNIX suelen requerir un mínimo de dos particiones para
funcionar (/ y 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 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.

Notas y referencias
Organización de los directorios en Linux
Véase también
Jerarquía del sistema de archivos en GoboLinux
Enlaces externos
Página principal del estándar FHS
Proyecto de traducción al español del estándar FHS

También podría gustarte