Cap�tulo 4. Visi�n General del �rbol de Directorios

Tabla de contenidos

Informaci�n preliminar
El sistema de archivos ra�z
El directorio /etc
El directorio /dev
El sistema de archivos /usr
El sistema de archivos /var
El sistema de archivos /proc

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.

Informaci�n preliminar

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.

Figura 4.1. Partes de un �rbol de directorios Unix. Las l�neas discontinuas indican los l�mites de la partici�n.

Partes de un árbol de directorios Unix. Las líneas discontinuas indican los límites de la partición.

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).