Translation(s): English - Italiano - Castellano

(!) ?Discussion



El Filesystem Hierarchy Standard o FHS (jerarquía estandar del sistema de ficheros) define los principales directorios y contenidos de Linux y otros sistemas operativos parecidos a Unix.

Concepto

El proceso de desarrollar un estandar de la jerarquía del FileSystem comenzó en agosto del 1993 en un esfuerzo para reestructurar la estructura de ficheros y directorios de Linux. El FSSTND (FileSystem Standard), un estandar de la jerarquía del sistema de ficheros de Linux fue concevido el 14 de febrero de 1994. Las siguientes revisiones fueron aportadas el 9 de octubre de 1994 y el 28 de marzo de 1995.

A principios de 1996, se marcó como objetivo adoptar una versión más entendible del FSSTND que recogiese no solo los sistemas Linux sino otros sistemas operativos de la rama de Unix, contando con la ayuda de desarrolladores de la comunidad BSD. Como resultado, se hizo un esfuerzo para centrarse en problemas comunes de todos los sistemas operativos tipo Unix. Reconociendo la amplitud del proyecto, se le cambió el nombre a este por Filesystem Hierarchy Standard o FHS.

El FHS es desarrollado por la Free Standards Group, una organización sin ánimo de lucro que poblada por los principales vendedores de software y hardware, como HP, IBM y Dell. Aun así, la gran mayoría de las distribuciónes de Linux, incluiendo aquellas en las que los desarrolladores son miembros de la Free Standards Group, no siguen el estandar propuesto. En particular, las path-s creadas por los autores de la FHS, como /media/ o /srv/, no son comunmente usadas. Algunos sistemas Unix y Linux rompen con la FHS en favor de otras aproximaciones, siendo Gobo Linux un ejemplo de ello.

Estructura de directorios

Todos los ficheros y directorios están debajo del ?root_directory "/", aunque estén almacenados en otros dispositivos.

Una descripción de la jerarquía especificada en la FHS

/bin/

Ejecutables de comandos esenciales (binarios) para todos los usuarios (como cat, ls o cp)
(especialmente ficheros necesarios para arrancar o rescatar el sistema)

/boot/

Boot loaders, kernels y ficheros de initrd

/dev/

devices o dispositivos (como /dev/null)

/etc/

Ficheros de configuración para todo el sistema (viene de etcetera)

/home/

La home o "casa" de usuarios

/lib/

Librerias esenciales para los binarios de /bin/ y /sbin/
(librerias necesarias para arrancar o rescatar el sistema)

/lost+found/

Ficheros y fragmentos rescatados durante un fsck (No es parte de la FHS)

/mnt/

Sistemas de ficheros temporales montados

/media/

Puntos de montaje para medias desmontables como CD-ROMs (aparece en FHS-2.3)

/opt/

Packetes de software de aplicaciones add-on
Precompilados, distribuciones binarias que no sean packetes ".deb" (tar...) van aquí.

  • /opt/bin/ : Igual que en la jerarquía de alto nivel
  • /opt/include/ : Igual que en la jerarquía de alto nivel
  • /opt/lib/ : Igual que en la jerarquía de alto nivel
  • /opt/sbin/ : Igual que en la jerarquía de alto nivel
  • /opt/share/ : Igual que en la jerarquía de alto nivel
  • /proc/

    Sistema de ficheros virtual documentando el kernel y procesos, ficheros de texto en su mayoría (como uptime y network)

    /root/

    Home o "casa" para el usuario root

    /sbin/

    Binarios administrativos del sistema (como init, route o ifup) (system binaries)
    (ficheros necesarios para arrancar o rescatar el sistema)

    /tmp/

    Ficheros temporales.

    /selinux/
    Configuraciones de SE-Linux (no es parte de la FHS)

    /srv/

    Datos servidos por el sistema (no es parte de la FHS)

    /sys/

    Sistema de ficheros para exportar objetos del kernel (system)
    (muchos ficheros de /proc/* deberían residir aquí...)

    /usr/

    Segundo nivel de jerarquía para datos compartidos de solo lectura (formalmente, viene de UNIX source repository, ahora de UNIX system resources)
    (ficheros que no son necesarios para arrancar o rescatar el systema)

  • /usr/bin/ : Igual que en la jerarquía de alto nivel
  • /usr/include/ : Ficherosinclude estándares

  • /usr/lib/ : Igual que en la jerarquía de alto nivel
  • /usr/sbin/ : Igual que en la jerarquía de alto nivel
  • /usr/share/ : Datos independientes de la arquitectura (shared o "compartidos)

  • /usr/src/ : Source code o código fuente (para crear packetes de debian. ver también /usr/local/src/)

  • /usr/X11R6/ : X Window System, Version 11 Release 6

  • /usr/local/ : Tercer nivel de jerarquía para datos locales instalados por el administrador

    • /usr/local/bin : binarios compilados locálmente, shell scripts locales, etc.
    • /usr/local/src : Source code o código fuente (sitio donde extraer y compilar cosas que no sean de debian)

  • /var/

    Datos variables (como logs, bases de datos, páginas web o correos electrónicos)

    Enlaces externos