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.
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 overview
del estándar y una descripción de aquellas partes del sistema de ficheros que
no cubre el estándar.
Se puede acceder al estándar en:
El estandar completo se puede ver en:
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á pensada para ser alterada por los usuarios.
Es por esto, que /usr puede ser montado directamente desde
eel CD-ROM o de otro ordenador vía NFS en modo sólo lectura.
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 directorio contiene archivos
que representan dispositivos del sistema. Estos archivos son esenciales
para el correcto funcionamiento del sistema.
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 /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 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 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:
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
|- dict
|- doc
|- etc
|- games
|- include
|- info
|- lib
|- libexec
|- local
|- man
|- sbin
|- share
+- src
El directorioX11R6 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,
include es para archivos de cabecera de C,
info es para archivos info de GNU,
lib es para librerias, man
es para páginas de manual, sbin es para ejecutables
de administración del sistema (aquellos que no encajan en
/sbin), y src es para
código fuente.
"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. Pude 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
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. El FHS dique que
/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:
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. Las páginas de manual
formateadas van a /var/catman, y los archivos lock van a
/var/lock. El directorio /var/spool
contiene subdirectorios para los varios sistemas que necesitan almacenar archivos
de datos
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 permaneceer intacto tras acutalizaciones de software del sistema.
Pueesto 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.