Jerarquía de directorios

De Wikiunix

Contenido

Artículo principal: Sistema de archivos


El Filesystem Hierarchy Standard (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.[1]

Subjerarquías de directorios

En el sistema de ficheros de UNIX (y similares), existen varias subjerarquías de directorios que poseen múltiples y diferentes funciones de almacenamiento y organización en todo el sistema. 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...)

Esquema básico

Arbol dir.png
  • /bin: utilidades de base del sistema, normalmente programas empleados por los usuarios, ya sean desde los comandos básicos del sistema (como /bin/ls, listar directorio), pasando por los shells (/bin/bash), etc.
  • /boot: archivos necesarios durante el arranque del sistema, por ejemplo la imagen del kernel Linux, en /boot/vmlinuz.
  • /dev: aquí encontramos ficheros especiales que representan los dispositivos posibles en el sistema, el acceso a los periféricos en sistemas UNIX se hace como si fueran ficheros. Podemos encontrar ficheros como /dev/console, /dev/modem, /dev/mouse, /dev/cdrom, /dev/floppy... que suelen ser enlaces a dispositivos más específicos del tipo de controlador o interfaz que utilizan los dispositivos: /dev/mouse, enlazado a /dev/psaux, representado un ratón de tipo PS2; o /dev/cdrom a /dev/hdc, un CD-ROM que es un dispositivo del segundo conector IDE y máster. Aquí encontramos los dispositivos IDE como /dev/hdx, los scsi /dev/sdx... con x variando según el número de dispositivo. Aquí cabe comentar que en su inicio este directorio era estático, con los ficheros predefinidos, y/o configurados en determinados momentos, hoy en dia se utilizan técnicas tecnologías dinámicas (como hotplug o udev), que permiten detectar dispositivos y crear los archivos /dev dinámicamente bien al inicio del sistema, o durante la ejecución, con la inserción de dispositivos removibles.
  • /etc: ficheros de configuración. La mayoría de tareas de administración necesitarán examinar o modificar los ficheros contenidos en este directorio.

Por ejemplo: /etc/passwd contiene parte de la información de las cuentas de los usuarios del sistema.

  • /home: contiene las cuentas de los usuarios, es decir, los directorios personales de cada usuario.
  • /lib: las bibliotecas del sistema, compartidas por los programas de usuario, ya sean estáticas (extensión .a) o dinámicas (extensión .so). Por ejemplo, la biblioteca C estándar, en ficheros libc.so o libc.a. También en particular suelen encontrarse los módulos dinámicos del kernel Linux, en /lib/modules.
  • /mnt: punto para montar (programa mount) sistemas de ficheros de forma temporal; por ejemplo: /mnt/cdrom, para montar un disco en el lector de CD-ROM momentáneamente.
  • /media: para punto de montaje habitual de dispositivos extraíbles.
  • /opt: suele colocarse el software añadido al sistema posterior a la instalación; otra instalación válida es en /usr/local.
  • /sbin: utilidades de base del sistema. Suelen ser programas reservados al Administrador. Por ejemplo: /sbin/fsck para verificar el estado de los sistemas de ficheros.
  • /tmp: ficheros temporales de las aplicaciones o del propio sistema. Aunque son para la ejecución temporal, entre dos ejecuciones la aplicación/servicio no puede asumir que va a encontrar los anteriores ficheros.
  • /usr: diferentes elementos instalados en el sistema. Algún software de sistema más completo se instala aquí, además de complementos multimedia (iconos, imágenes, sonidos, por ejemplo en: /usr/share) y la documentación del sistema (/usr/share/doc). También  /usr/local se suele utilizar para instalar software.
    • /usr/adm: Administración del sistema, información contable, etc.
    • /usr/bin: Binarios del usuario.
    • /usr/dict: Diccionario ( words ) y soporte de spell ( 1 ) etc.
  • /var: ficheros de registro de sesión o de estado (ficheros de tipo log) y/o errores del propio sistema y de diversos servicios, tanto locales como de red. Por ejemplo, ficheros de sesión en /var/log, contenido de los correos en /var/spool/mail, o trabajos de impresión en /var/spool/lpd.

Particiones recomendadas para instalar GNU/Linux

Como mínimo se requieren dos particiones:

  • /: Requiere de 512 a 1024 MB.
  • Swap: Para que funcione la hibernación debe asignarse al menos el mismo tamaño de la memoria física, no se le asigna punto de montaje.

Otras particiones que se recomienda asignar, son:

  • /usr: Requiere al menos 1.5 GB en instalaciones básicas. Debe considerarse el equipamiento lógico a utilizar a futuro. Para uso general, se recomiendan no menos de 5 GB y, de ser posible, considere un tamaño óptimo de hasta 8 GB en instalaciones promedio.
  • /tmp: Requiere al menos 350 MB y puede asignarse hasta 2 GB o más dependiendo de la carga de trabajo y tipo de aplicaciones. Si por ejemplo el sistema cuenta con un grabador de DVD, será necesario asignar a /tmp el espacio suficiente para almacenar una imagen de disco DVD, es decir, al menos 4.2 GB.
  • /var: Requiere al menos 512 MB en estaciones de trabajo sin servicios. En servidores regularmente se le asigna al menos la mitad del disco duro.
  • /home: En estaciones de trabajo se asigna al menos la mitad del disco duro a esta partición.

Referencias

Herramientas personales