Hasta ahora hemos hablado de ficheros que están en el directorio /etc , otros que están el directorio /dev. Llegado este punto vamos a hacer una descripción de los directorios estándares de un sistema linux (unix en general).
En un sistema Unix cada directorio tiene una función concreta y, una vez que uno se familiariza, es muy fácil encontrar aquello que buscamos.
También veremos que cada uno de estos directorios pueden estar en una partición distinta, salvo ciertos casos que se justificarán debidamente.
La distribución estándar de directorios suele ser la siguiente:
drwxr-xr-x 2 root root 2048 Dec 23 02:25 bin
drwxr-xr-x 2 root root 1024 Dec 19 23:35 boot
drwxr-xr-x 5 root root 34816 Dec 26 1986 dev
drwxr-xr-x 22 root root 2048 Dec 26 1986 etc
drwxr-xr-x 4 root root 1024 Dec 19 23:26 home
drwxr-xr-x 4 root root 3072 Jan 5 2000 lib
drwxr-xr-x 2 root root 1024 Dec 20 00:31 lost+found
drwxr-xr-x 2 root root 1024 Dec 20 00:10 mnt
dr-xr-xr-x 30 root root 0 Dec 25 20:09 proc
drwxr-xr-x 4 root root 1024 Dec 23 00:38 root
drwxr-xr-x 3 root root 2048 Jan 11 2000 sbin
drwxrwxrwt 4 root root 1024 Dec 26 1986 tmp
drwxr-xr-x 16 root root 1024 Dec 19 23:17 usr
drwxr-xr-x 16 root root 1024 Nov 10 13:19 var
Durante el proceso de arranque el sistema necesitará la información almacenada en distinto orden. Lo primero que necesita el sistema es leer el núcleo, y a continuación la partición raíz, de donde leerá los ficheros de configuración para activar el resto del sistema. En este proceso de arranque el sistema necesita ejecutar ciertas órdenes hasta montar todas las particiones. Por este motivo podemos distinguir tres niveles en el arranque:
Carga del núcleo
Montaje de la partición raíz
Configuración del sistema.
En la carga del núcleo se utiliza la BIOS para la lectura de disco. Lilo ya sabe los cluster del disco donde está el núcleo, pero no puede (en versiones antiguas) leer más allá del cluster 1024. Por este motivo en muchas ocasiones nos interesa crear una pequeña partición de disco para almacenar el núcleo de forma que esté accesible.
En el montaje de la partición raíz el sistema necesita leer ciertos ficheros de configuración, inittab, fstab, y otros que están en el directorio /etc. Evidentemente el directorio /etc tendrá que estar necesariamente en la partición raíz. Evidentemente los dispositivos también tienen que estár disponibles al principio del arranque, así como ciertas órdenes de usuario y de administración, así como sus bibliotecas de funciones.
Este directorio se utiliza para contener el fichero del núcleo linux y otra serie de ficheros necesario durante la carga del núcleo. Los datos de este directorio son necesarios antes incluso de cargar la partición raíz. Si se opta por situar este directorio en una partición independiente para él, es necesario que esta partición esté ubicada en los 1024 primeros primeros cilindros del disco para que el BIOS pueda leerla durante el aranque. Tiene una tasa de escritura muy baja.
Este directorio contiene todos los ficheros de configuración, tanto del sistema como de la mayoría de las aplicaciones que corren en el sistema. Este directorio tiene que estar necesariamente en la partición raíz, ya que de él se obtiene la información para completar el proceso de arranque del sistema. Por ejemplo el fichero inittab describe el proceso principal del sistema. También está el fichero /etc/fstab que describe las particiones que se tienen que montar. Tiene una tasa de escritura muy baja.
Este directorio contiene todos los ficheros de dispositivo. Como durante el proceso de arranque el sistema tiene que tener acceso a los diferentes dispositivos es necesario que este directorio esté contenido en la partición raíz. Tiene una tasa de escritura muy baja.
Este directorio contiene los ficheros ejecutables, programas de usuario, que son necesarios durante el proceso de arranque del sistema. Por sus propias características este directorio tiene que estar contenido en la partición raíz. Tiene una tasa de escritura muy baja.
Este directorio tiene las mismas características que el directorio /bin, salvo que contiene programas de administración necesarios durante el arranque. También tiene que estar en la partición raíz. Tiene una tasa de escritura muy baja.
Este directorio contiene ficheros de biblioteca de funciones para cargarlas dinámicamente. Los programas toman dinámicamente el código ejecutable de estos ficheros, normalmente los almacenados en /bin o /sbin. Este directorio también tiene que estar en la partición raíz. Tiene una tasa de escritura muy baja.
Este directorio contiene el resto de los programas instalados y el resto de las librerías de funciones. En este directorio podemos encontrar los directorios /usr/bin, /usr/sbin y /usr/lib; estos directorios tienen un uso similar a sus homónimos del directorio raíz, salvo que no son necesarios durente el proceso del arranque. En consecuencia el directorio /usr puede estar almacenado en una partición propia. Este directorio tiene una tasa de escritura baja.
En este directorio el sistema guarda los datos que se modifican habitualmente durante el funcionamiento normal. Por ejemplo en este directorio se almacenan las distintas colas, de impresión, de correo, de faxes, etc, los ficheros de registro de incidencias del sistema, los ficheros de bloqueo de procesos, etc. Este directorio sí tiene una tasa alta de escritura. Este directorio puede estar en una partición propia.
Es el fichero dedicado a almacenar ficheros temporales. Puede estar en cualquier partición y tiene una tasa alta de escritura.
Este directorio contiene los directorios personales de los usuarios. Puede estar en cualquier partición y tiene una tasa de escritura que dependerá del número de usuarios. El directorio personal del root está en la partición raíz.
Este directorio se suele usar como punto de montaje de otras particiones de datos, cdrom y discos flexibles. Tendrá ciertos subdirectorios para montar estos dispositivos.
Este directorio contiene información sobre el sistema, interrupciones, direcciones E/S información sobre los procesos, etc. Su contenido es virtual, no son ficheros reales.
Este directorio se utiliza para instalar ciertos programas.
Uno de los problemas con que se puede encontrar el administrador a la hora de instalar un sistema es decidir qué espacio se deja a cada partición. Anteriormente hemos visto las características de cada directorio de la distribución estándar en un sistema Linux. Como consecuencia de esto vemos que sólo podemos montar en particiones distintas los directorios /usr, /var y /home; también se podría montar el directorio /tmp. Hay que observar que también se pueden montar en particiones los subdirectorios de estos directorios.
Un sistema siempre se puede instalar usando una única partición, pero es aconsejable distribuir el almacenamiento en distintas particiones y en caso de que una partición falle no se pierden todos los datos.
Para realizar la distribución de particiones hay que tener en cuenta qué uso se e va a dar al sistema. A continuación vamos a dar unas ideas orientativas, pero en última instancia es el administrador el que tiene que tomar la decisión para su caso concreto.
Anteriormente ya vimos una descripción de lo que almacena cada directorio, ahora vamos a ver los distintos usos a los que se puede destinar un equipo.
Como ya hemos dicho, esta distribución depende de los servicios que queramos dar. En primer lugar habría que distinguir entre una estación de trabajo y un equipo servidor.
En las estaciones de trabajo debería primar el directorio /home. En este directorio es donde se almacena la información personal, que tal vez lo más importante en los sistemas de este tipo. Si montamos este directorio en una partición propia tendremos la ventaja de poder realizar instalaciones y actualizaciones del sistema operativo sin riesgo perder lo que tiene guardado.
En el caso de un equipo servidor tenemos muchas posibilidades distintas dependiendo de los servicios que queramos prestar en la red. Los servidores que hacen uso de colas harán un uso intensivo del directorio /var. Usarán colas servicios tales como el correo electrónico, los servicios de impresión, los servidores de fax, los servidores usenet. Los equipos que ejecuten sistemas gestores de bases de datos también harán un uso intenso del directorio /var. Antes de instalar un sistema, si tiene previsto instalar un sistema gestor de bases de datos infórmese antes si tiene que dejar alguna partición preparada por si usa alguna ubicación no estándar. Otros servicios, como DNS, no requieren gran capacidad de almacenamiento.
En el caso de un servidor web puede que nos interese dejar una partición para guardar todas las páginas que se albergan. Lo mismo se puede decir de un servidor ftp.
Si el sistema quiere dar servicios a múltiples usuarios, tal vez sea conveniente montar el directorio /home en una partición distinta y dejarle bastante espacio.
Si se van a instalar muchas aplicaciones distinas, entonces es el directorio /usr el que recogerá gran parte del almacenamiento. Por ejemplo en una estación de trabajo, normalmente se querrá incluir el modo gráfico, aplicaciones de ofimática y otras muchas aplicaciones que básicamente se guardan en /usr o /opt en algunos casos.