Tabla de contenidos
“Dos d�as mas tarde, estaba Pooh sentado en su rama, balanceando sus patas, y all� junto a �l hab�a cuatro ollas de miel”(A.A. Milne)
En este cap�tulo se describen las partes importantes de un �rbol de directorios GNU/Linux est�ndar, basado en el Est�ndar de la Jerarqu�a del Sistema de Archivos de Linux (Filesystem Hierarchy Standard, FHS). Adem�s, se explica en l�neas generales la forma normal de dividir el �rbol de directorios en sistemas de archivos separados con diferentes prop�sitos y se enuncian los motivos para esta particular divisi�n. Tambi�n se describir�n otras formas alternativas de realizarla.
Este cap�tulo est� basado en el Est�ndar de la Jerarqu�a del Sistema de Archivos de Linux (FHS) versi�n 2.1, el cual intenta establecer un est�ndar para la organizaci�n del �rbol de directorios en un sistema GNU/Linux. Tal est�ndar tiene la ventaja de facilitar el trabajo de escribir o portar software a este sistema operativo y administrar m�quinas bajo el mismo, puesto que todas las cosas se encontrar�n en lugares estandarizados. No existe autoridad que obligue a nadie a cumplir con el est�ndar, pero este tiene el apoyo de muchas distribuciones GNU/Linux. No es una buena idea romper con el FHS sin que existan justificaciones indiscutibles. El FHS pretende seguir la tradici�n UNIX y las tendencias actuales, haciendo as� que los sistemas GNU/Linux les sean familiares a quienes tengan experiencia con otros sistemas Unix, y viceversa.
Este cap�tulo no es tan detallado como el FHS. Un administrador de sistemas debe leer el FHS completo para entenderlo totalmente.
En este cap�tulo no se explican todos los archivos en detalle. La intenci�n no es describir cada uno de ellos, sino dar una visi�n general del sistema desde el punto de vista del sistema de archivos. Se puede encontrar informaci�n adicional sobre cada archivo en otras partes de este manual o en las p�ginas de manual de GNU/Linux.
El �rbol de directorios completo est� pensado para poder ser dividido en
partes m�s peque�as, que pueden estar en su propio disco o partici�n y
acomodarse as� a los l�mites del tama�o del disco, as� como para facilitar la
realizaci�n de copias de seguridad y otras tareas de la administraci�n de
sistemas. Las partes principales son los sistemas de archivos ra�z
(/
) , /usr
, /var
, y /home
. Cada parte tiene un prop�sito
diferente. El �rbol de directorios se ha dise�ado para funcionar bien en una red
de m�quinas GNU/Linux, las cuales pueden compartir algunas partes del sistema de
archivos sobre un dispositivo de solo-lectura (CD-ROM por ejemplo), o sobre la
red a trav�s de NFS.
Los roles de las diferentes secciones del �rbol de directorios se describen a continuaci�n.
El sistema de archivos ra�z es espec�fico para cada m�quina (generalmente se encuentra almacenado en el disco local, aunque puede estar tambi�n en un disco RAM o en una unidad de red) y contiene los archivos que son necesarios para arrancar el sistema y dejarlo en un estado en el que se puedan montar los dem�s sistemas de archivos. El contenido del sistema de archivos ra�z es por lo tanto suficiente para el nivel de ejecuci�n de usuario individual. Tambi�n contiene herramientas para reparar un sistema da�ado y para recuperar archivos perdidos desde las copias de seguridad.
El sistema de archivos /usr contiene todos los comandos, librer�as, p�ginas de manual, y otros archivos que no ser�n modificados durante el funcionamiento normal del sistema. No deben existir archivos bajo /usr que sean espec�ficos para una m�quina en particular, ni que deban ser modificados durante la utilizaci�n normal del sistema. Esto permite que los archivos sean compartidos a trav�s de la red, lo cual puede ser efectivo en cuanto a costes, puesto que se obtiene un ahorro de espacio en disco (/usr puede ocupar f�cilmente miles de megabytes) y puede facilitar la administraci�n, ya que s�lo el /usr maestro necesita ser modificado cuando actualizamos una aplicaci�n, y no en cada m�quina por separado. A�n cuando el sistema de archivos resida en el disco local, este puede ser montado en modo solo lectura, para eliminar el riesgo de que se corrompa durante un fallo.
El sistema de archivos /var
contiene
archivos que s� cambian durante el funcionamiento normal del sistema, tales como
directorios spool ( para correo, noticias (news), impresoras, etc), archivos de
log, p�ginas de manual formateadas y archivos temporales. Tradicionalmente,
todo en /var
es algo que deber�a estar en
/usr
, pero que har�a imposible montar dicho
sistema de archivos como solo lectura.
El sistema de archivos /home contiene los directorios espec�ficos de los usuarios, P.Ej., todos los datos reales del sistema. Separar los directorios home a su propio �rbol de directorios o sistema de archivos hace m�s f�cil la tarea de realizar copias de seguridad; los dem�s sistemas de archivos no necesitan que se les haga copias de seguridad, o al menos no tan frecuentemente, puesto que rara vez cambian. Un gran directorio /home puede ser dividido en varios sistemas de archivos, lo cual requiere agregar niveles de nombres extra, como por ejemplo, /home/estudiantes y /home/staff.
Si bien las diferentes partes del �rbol de directorios se han
llamado hasta ahora sistemas de archivos, no se requiere necesariamente que se
encuentren en particiones separadas. Se pueden mantener f�cilmente en una �nica
partici�n si se trata de un sistema peque�o de un solo usuario, y este s�lo
desea mantener las cosas de manera simple. El �rbol de directorios puede tambi�n
ser dividido en diferentes particiones dependiendo del tama�o de los discos, y
de como el espacio se destine a los distintos prop�sitos. Lo importante, no
obstante, es que todos los nombres est�ndar funcionen; A�n cuando,
digamos,/var
y /usr
se encuentren de
hecho en la misma partici�n, los nombres /usr/lib/libc.a
y
/var/log/messages
deben funcionar. Incluso si, por ejemplo,
movi�ramos los archivos que se encuentren en /var
dentro de
/usr/var
, y hagamos a /var
un enlace
simb�lico a /usr/var
.
La estructura del sistema de archivos en UNIX agrupa a los archivos de acuerdo a su prop�sito. Por lo tanto, todos los comandos est�n en un mismo lugar, todos los archivos de datos en otro, la documentaci�n en un tercer lugar, etc. Otra alternativa podr�a ser la de agrupar los archivos de acuerdo al programa al que pertenezcan, P.Ej., todos los archivos de Emacs podr�an colocarse en un mismo directorio, todos los de Tex en otro, etc. El problema con esta �ltima aproximaci�n es que dificulta compartir archivos (el directorio del programa frecuentemente contiene archivos no cambiantes y compartibles, y cambiantes y no compartibles), y algunas veces incluso encontrar archivos (por ejemplo, las p�ginas de manual se encuentran ubicadas en una gran cantidad de lugares, y hacer que los programas que leen tales p�ginas de manual las encuentren ser�a una pesadilla de mantenimiento).