16 fhsasoitsonp
TRANSCRIPT
FHSFilesystem Hierarchy Standard
Instituto Tecnológico de Sonora
José Manuel Acosta RendónMarzo 2010
Filesystem Hierarchy Standard
El Filesystem Hierarchy Standard (FHS, en español Estándar de jerarquía del sistema dearchivos) es una norma que define los directorios principales y sus contenidos en elsistema operativo GNU/Linux y otros sistemas de la familia Unix. Se diseñóoriginalmente en 1994 para estandarizar el sistema de archivos de las distribuciones deLinux, basándose en la tradicional organización de directorios de los sistemas Unix. En1995 se amplió el ámbito del estándar a cualquier Unix que se adhiriesevoluntariamente.
Visión general
El proceso de desarrollo de una jerarquía de sistema de archivos estándar comenzó enagosto 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 sistemade 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 de1995.A principios de 1996, el objetivo de desarrollar una versión más comprensiva del FSSTNDpara direccionar no sólo a Linux, sino a otros sistemas derivados de UNIX, fue adoptadocon la ayuda de miembros de la comunidad de desarrollo de BSD. Por consiguiente, unconcentrado esfuerzo fue realizado para centrarse en hechos que fueran generales paralos sistemas derivados de UNIX. En reconocimiento a esta amplitud del alcance, elnombre del estándar fue cambiado Estándar de Jerarquía del Sistema de Archivos, o FHSpara abreviar.
Visión general
El FHS es mantenido por el Grupo deEstándares Libres (Free StandardsGroup, hoy The Linux Foundation), unaorganización no lucrativa conformadapor los principales vendedores desoftware y hardware, tales como: HP,Red Hat, IBM y Dell.De todos modos, la gran mayoría de lasdistribuciones Linux, incluyendoaquellas desarrolladas por los miembrosdel Grupo de Estándares Libres (FreeStandars Group), no siguen esteestándar propuesto. En particular,caminos (path), expresamente creadospor los redactores del FHS, como porejemplo /srv/, no es usadoextensamente.
Desde que FHS comenzó como unainiciativa Linux, otros sistemasoperativos derivados de UNIX,generalmente la han ignorado en favorde sus propios sistemas, los cuales aveces varían ampliamente. Por ejemplo,Mac OSX usa nombres como /Library,/Applications/, y /Users/ junto con lajerarquía de directorios tradicional deUNIX.
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 dedirectorios que poseen múltiples y diferentes funciones de almacenamiento yorganizació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 recomendableuna copia de seguridad con frecuencia, o mejor aún, deberían ser montados en unapartición aparte en el mismo disco, como por ejemplo, montar el directorio /home enotra partición del mismo disco, independiente de la partición principal del sistema; deesta forma, puede repararse el sistema sin afectar o borrar los documentos de losusuarios. (/var/mail, /var/spool, /var/run, /var/lock, /home...)
Compartidos: Contiene archivos que se pueden encontrar en un ordenador y utilizarseen otro, o incluso compartirse entre usuarios.
Restringidos: Contiene ficheros que no se pueden compartir, solo son modificables porel 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 yalgunos directorios (subjerarquías).
Las flechas de color gris, señalan los directorios que no están en el mismo disco duro opartició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 parafuncionar (/ y swap). No obstante, en el ejemplo, el directorio (o subjerarquía) /hometambién posee su propia partición en el disco. Esto quiere decir que el sistema puedereinstalarse 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 supropósito es servir al sistema un espacio de intercambio que se utiliza cuando lamemoria RAM este llena.En el mapa aparece también un disco extraíble (quizá un pendrive), el cual no esindispensable para el sistema. Este disco extraíble posee un directorio dentro deldirectorio /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 mismajerarquí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 delmismo disco, al igual que cualquier otro directorio de la jerarquía, o incluso la mismapartició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 encuenta, que todos los discos, particiones, dispositivos y terminales que reconoce elnúcleo, pueden ser monitoreados o identificados a través de algunos archivos especialespresentes en la sub-jerarquía /dev.
Mapa conceptual
¿ Dudas ?
¡¡ Gracias ¡¡
José Manuel Acosta R.Marzo 2010