Sei sulla pagina 1di 15

Universidad Tecnológica del Sur de Sonora

FHS
Filesystem Hierarchy Standard

José Manuel Acosta Rendón


Marzo 2010
Filesystem Hierarchy Standard

El Filesystem Hierarchy Standard (FHS, en español Estándar de jerarquía del sistema de


archivos) 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 se adhiriese
voluntariamente.
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 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.
Visión general

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.

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 /Library,
/Applications/, 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, /, aún 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
autoritarias 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 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

Directorio Descripción Simple

/ Jerarquía primaria, la raíz o root, y directorio raízo 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 los portales a Dispositivos esenciales (por ejemplo, /dev/null), incluso a los que no
se les ha asignado (montado) un directorio. Contiene incluso los portales a 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. El
nombre proviene de "etcétera".
/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.


Especificando los directorios definidos por FHS

Directorio Descripción Simple


/home/ Contiene los directorios de trabajo de todos los usuarios, excepto el del superusuario
(Administrador, root). Contiene archivos guardados, ajustes personales, etc. Ofrece. 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).
Especificando los directorios definidos por FHS

Directorio Descripción Simple


/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.

/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.
Especificando los directorios definidos por FHS

Directorio Descripción Simple


/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 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/ 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.
Especificando los directorios definidos por FHS

Directorio Descripción Simple


/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 siendo prescindibles.
Mapa conceptual

Mapa conceptual que ejemplifica un sistema tipo UNIX, con sus discos, particiones y
algunos directorios (subjerarquías).

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.
Mapa conceptual
¿ Dudas ?
¡¡ Gracias ¡¡

José Manuel Acosta R.


Marzo 2010

Potrebbero piacerti anche