Capítulo 2. Administración del Sistema

Este capítulo proporciona un breve introducción al sistema Red Hat Linux. Aquí aprenderás sobre aspectos del sistema que puedas desconocer y sobre pequeñas variaciones respecto a otros sistemas UNIX.

Estructura del Sistema de Ficheros

Red Hat se ha comprometido a respetar el Estándar de Jerarquía del Sistema Ficheros ( (FHS del inglés Filesystem Hierarchy Standard), un documento de consenso que define los nombres y la situación de muchos ficheros y directorios. En el futuro se seguirá el estándar para asegurar la compatibilidad de Red Hat Linux

El documento que define el FHS es la referencia viculante para cualquier sistema compatible FHS, sin embargo el estándar da pie a la extensibilidad de unas áreas o no define otras. En esta sección se proporciona un resumen del estándar y una descripción de aquellas partes del sistema de ficheros que no cubre el estándar.

El estandar completo se puede ver en:

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

Aunque cumplir el estándar significa mucho, los dos aspectos más importantes son la compatibilidad con otros sistemas que siguen el estándar, y la capacidad de poder montar la partición /usr en modo sólo lectura pues contiene ejecutables comunes y no está pensado para ser alterada por los usuarios. Es por esto, que /usr puede ser montado directamente desde el CD-ROM o de otro ordenador vía NFS en modo sólo lectura.

Introducción al FHS

Los directorios y ficheros apuntados aquí, son sólo un subconjunto de los especificados por el FHS. Véase la última versión del FHS para descripción detallada.

El directorio /dev

El directorio /dev contiene archivos que representan dispositivos del sistema. Estos archivos son esenciales para el correcto funcionamiento del sistema.

El directorio /etc

El /etc directorio está reservado para archivos de configuración que afectan directamente a tu ordenador. No deben colocarse ejecutables en /etc. Los ejecutables que antiguamente se colocaban en /etc deberían estar en /sbin o posiblemente en /bin.

Los directorios X11 y skel deben ser subdirectorios de /etc:

/etc
  |- X11
  +- skel

El directorio X11 es para archivos de configuración de X11 como XF86Config. El directorio skel es para archivos de "esqueleto" (del inglés "skeleton") para usuarios, archivos que se utilizan para rellenar el directorio raíz de un usuario cuando es creado.

El directorio /lib

El directorio /lib debe contienen sólo las librerías que son necesarias para ejecutar los ejecutables /bin y /sbin.

The /proc Directory

El directorio /proc contiene archivos especiales para obtener o enviar información del/al kernel. Es un método sencillo de acceder a información sobre el sistema operativo usando el comando cat.

El directorio /sbin

El directorio /sbin es para ejecutables utilizados sólo por el superusuario y aquellos que se necesitan durante el arranque y para montar /usr y poder realizar mantenimiento y recuperación del sistema. El FHS dice:

"/sbin suele contener archivos esenciales para iniciar el sistema además de los ejecutables de /bin. Lo que quiera que se ejecute una vez que /usr esté montado (cuando no hay problemas) debería colocarse en /usr/sbin. Ejecutables de administración del sistema propios del ordenador deberían emplazarse dentro de /usr/local/sbin."

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

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

El directorio /usr

El directorio /usr es para archivos que pueden ser compartidos en toda una organización. El directorio /usr suele tener su propia partición, y debería poder ser montada en modo sólo lectura. Los siguientes directorio deberían ser subdirectorios de /usr:

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

El directorio X11R6 es para las X (XFree86 en Red Hat Linux), bin es para ejecutables, doc es para documentación varia, etc es para archivos de configuración comunes a la organización, games es para juegos, include es para archivos de cabecera de C, lib contiene librerías, libexec contiene pequeños programas auxiliares llamados por otros programas, sbin es para ejecutables de administración del sistema (aquellos que no encajan en /sbin), share continee ficheros que no son de arquitecturas especificas, y src es para código fuente.

El directorio /usr/local

El FHS dice:

"La jerarquía /usr/local será utilizada por el administrador del sistema al instalar software localmente. Debe estar a salvo de poder ser sobreescrita cuando se actualice software del sistema. Puede ser utilizada para programas y datos, compartibles entre un grupo de ordenadores, que no se encuentren en /usr."

El directorio /usr/local es similar en estructura al directorio /usr. Tiene los siguientes subdirectorios con una intención similar a la de aquellos que se encuentran en el directorio /usr:

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

El directorio /var

Puesto que el FHS requiere que /usr pueda ser montado en modo sólo lectura, cualquier programa que escriba archivos de trazas o necesite los directorios spool o lock debería probablemente escribir en el directorio /var. Los estados de FHS /var es para:

"…archivos de datos variables. Incluye directorios y archivos de spool, datos administrativos y de traceo, y ficheros temporales y transitorios."

Los siguientes directorios deberían ser subdirectorios de /var:

/var
  |- cache
  |- db
  |- ftp
  |- gdm
  |- lib
  |- local
  |- lock
  |- log
  |- named
  |- nis
  |- opt
  |- preserve
  |- run
  +- spool
       |- anacron
       |- at
       |- cron
       |- fax
       |- lpd
       |- mail
       |- mqueue
       +- news
       |- rwho
       |- samba
       |- slrnpull
       |- squid
       |- up2date
       |- uucp
       |- uucppublic
       |- vbox
       |- voice
  |- tmp
  |- yp

Archivos de trazas del sistema como wtmp y lastlog van a /var/log. El directorio /var/lib también contiene las bases de datos de los RPMs del sistema. Los ficheros Lock van a /var/lock. El directorio /var/spool contiene subdirectorios para los varios sistemas que necesitan almacenar archivos de datos.

/usr/local en Red Hat Linux

En Red Hat Linux, el uso que se pretende de /usr/local es ligeramente diferente del especificado por el FHS. El FHS dice que /usr/local debería ser donde se almacene software que debe permanecer intacto tras actualizaciones de software del sistema. Puesto que las actualizaciones desde Red Hat son seguras gracias al sistema RPM y Gnome-RPM, no es necesario proteger archivos colocándolos en /usr/local. En vez de ello, es mejor utilizar /usr/local para software que sólo se instale en el ordenador.

Por ejemplo, imaginemos que se ha montado /usr vía NFS en modo sólo lectura de beavis. Si hay un paquete de software o programa que se quiere instalar, pero no se permite la escritura en beavis, debería instalarse en /usr/local. Más adelante quizás, si se convence al administrador del sistema de beavis para que instale instale el programa en /usr, puede desintalarse de /usr/local.