Siguiente Arriba Anterior Contenido Indice

11.1 Estructura del sistema de ficheros

Red Hat Software está comprometido con el estándar de sistema de ficheros de Linux, un documento cooperativo que define los nombres y ubicación de la mayoría de ficheros y directorios. Continuaremos siguiendo la pista al estándar para mantener Red Hat conforme con éste.

Aunque la conformidad con el estándar abarca muchos aspectos, los dos más importantes son la compatibilidad con otros sistemas conformes al mismo, y la capacidad para montar la partición /usr como de sólo lectura. Esta partición contiene ejecutables comunes y generalmente no debe ser modificada por los usuarios. En consecuencia, la partición /usr puede montarse desde el CD-ROM o desde otra máquina a través de NFS como de sólo lectura. El actual documento del estándar de sistema de ficheros (FSSTND) (1) es la referencia fidedigna para los sistemas de ficheros conformes a dicho estándar, pero éste deja muchos aspectos sin definir o extensibles. En esta sección proporcionaremos una perspectiva general del estándar y una descripción de las partes del sistema de ficheros no recogidas en él.

Puede consultarse el estándar completo en:

http://www.pathname.com/fhs/

11.1.1 Vista general del FSSTND

Vista general del FSSTND

Los directorios y ficheros aquí referidos son un pequeño subconjunto de todos los especificados por el FSSTND. Consulte el documento FSSTND más reciente para disponer de la información más completa y actualizada.

11.1.1.1 El directorio /etc

El directorio <tt>/etc</tt>

El directorio /etc está reservado para ficheros de configuración de la máquina local. No debe haber binarios en el directorio /etc. Los binarios que antaño habitaban en él se mudaron a /sbin, o quizás a /bin.

Los directorios X11 y skel deberían ser subdirectorios de /etc:

/etc
  |- X11
  +- skel

El directorio X11 contiene ficheros de configuración de X11 tales como XF86Config, y el directorio skel alberga los ficheros básicos con que se puebla el directorio personal de un nuevo usuario cuando lo creamos.(2)

11.1.1.2 El directorio /lib

El directorio <tt>/lib</tt>

El directorio /lib debe contener exclusivamente las bibliotecas necesarias para ejecutar los binarios residentes en /bin y /sbin.

11.1.1.3 El directorio /sbin

El directorio <tt>/sbin</tt>

El directorio /sbin es para ejecutables de uso exclusivo por el superusuario, y solamente los necesarios para arrancar y montar el directorio /usr y ejecutar operaciones de restablecimiento del sistema. Según reza el FSSTND:

``/sbin contiene típicamente ficheros indispensables para el arranque del sistema, además de los binarios contenidos en /bin. Todo lo que se ejecute después que /usr es montado (cuando no hay problemas) debería estar ubicado en /usr/bin. Los binarios de administración exclusivamente del sistema local deben colocarse en /usr/local/sbin.''

Como mínimo, en /sbin debieran estar los siguientes programas:

clock, getty, init, update, mkswap, swapon, swapoff, halt, reboot, shutdown, fdisk, fsck.*, mkfs.*, lilo, arp, ifconfig, route

11.1.1.4 El directorio /usr

El directorio <tt>/usr</tt>

El directorio /usr es para ficheros que son compartibles a través de todo el sistema. Usualmente, este directorio tiene su partición propia, y debe ser montable como de sólo lectura. /usr debe contener los siguientes subdirectorios:

/usr
  |- X11R6
  |- bin
  |- dict
  |- doc
  |- etc
  |- games
  |- include
  |- info
  |- lib
  |- local
  |- man
  |- sbin
  |- share
  +- src

El directorio X11R6 es para el sistema X-Windows (XFree86 en Linux Red Hat), bin es para ejecutables, doc para documentación diversa (no páginas de manual), etc para los ficheros de configuración del sistema, include para ficheros cabecera de C, info para ficheros info de GNU, lib para bibliotecas, man para las páginas del manual, sbin para binarios de administración del sistema (los que no pertenecen a /sbin), y src es para código fuente.

11.1.1.5 El directorio /usr/local

El directorio <tt>/usr/local</tt>

El FSSTND dice:

``El directorio /usr/local es para uso del administrador del sistema cuando instala software localmente. Es necesario que éste se conserve cuando cuando se actualiza el sistema. Puede usarse para programas y datos que son compartibles entre un grupo de máquinas, pero no se encuentran en /usr.''

El directorio /usr/local tiene una estructura similar a la del directorio /usr. Tiene los subdirectorios siguientes, con propósito similar a los de /usr:

/usr/local
      |- bin
      |- doc
      |- etc
      |- games
      |- include
      |- info
      |- lib
      |- man
      |- sbin
      +- src

11.1.1.6 El directorio /var

El directorio <tt>/var</tt>

Desde que el FSSTND requiere que el directorio /usr se pueda montar como de sólo lectura, algunos programas que generan ficheros de registro (log), o necesitan directorios de spool (3) o bloqueo, presumiblemente deben escribirlos en el directorio /var. El FSSTND dice que /var es para

``... ficheros de datos variables. Esto incluye a los directorios y ficheros de spool y, datos de administración y registro, así como ficheros transitorios y temporales.''

/var debe contener los siguientes subdirectorios:

/var
  |- log
  |- catman
  |- lib
  |- local
  |- named
  |- nis
  |- preserve
  |- run
  |- lock
  |- tmp
  +- spool
      |- at
      |- cron
      |- lpd
      |- mail
      |- mqueue
      |- rwho
      |- smail
      |- uucp
      +- news

Los ficheros de registro del sistema como wtmp y lastlog habitan en /var/log. El directorio /var/lib contiene también las bases de datos del sistema RPM. Las páginas del manual formateadas se encuentran en /var/catman, y los ficheros de bloqueo en /var/lock. El directorio /var/spool contiene subdirectorios para los diversos sistemas que necesitan almacenar ficheros de datos.

11.1.2 /usr/local en Linux Red Hat

<tt>/usr/local</tt> en Linux Red Hat

En Linux Red Hat, el uso que se pretende dar a /usr/local difiere ligeramente de lo especificado por el FSSTND. El FSSTND dice que /usr/local debe ser donde se almacene el software que se desea conservar en una actualización del sistema. Desde que las actualizaciones del Software de Red Hat se realizan sin peligro con el sistema RPM y glint, Ud. no necesita poner en /usr/local los ficheros que desea mantener. En cambio, le recomendamos que use /usr/local para el software que pertenece a su máquina local.

Por ejemplo, supongamos que tenemos /usr montado vía NFS como de sólo lectura desde la máquina beavis. Si hay un paquete o programa que ud. quiere instalar, pero no tiene permiso de escritura en beavis, debería instalarlo en /usr/local. Quizá después, si ud. convence al administrador del sistema de beavis de que instale el programa en /usr, puede desinstalarlo de /usr/local.

N. del t.(1): las siglas FSSTND son la abreviatura en inglés de file system standard, o sea, estándar de sistema de ficheros.
N. del t.(2): ficheros tales como .Xdefaults, .bashrc, .bash_profile...
N. del t.(3): spool se puede definir como cola de espera. Un ejemplo conocido por todos es la cola de impresión.


Siguiente Arriba Anterior Contenido Indice