jueves, 11 de noviembre de 2010

Estructura del sistema de archivos GNU/Linux (1)

En un sistema de escritorio GNU/Linux la jerarquía del sistema de archivos global (el modo de organización de directorios en el sistema) no deberían tener importancia para el usuario medio. En el escritorio por lo general interactúan con su directorio personal, el directorio del escritorio, y otros cuantos directorios dentro del directorio de usuario (/home). Todos los otros directorios en el sistema les son de alguna manera ocultos y la tienen una configuración diferente. 

Bueno, en un servidor de GNU/Linux se maneja esta estructura desde la línea de comandos, por lo que esto es una rápida introducción al sistema de archivos raíz. 

Lo bueno de Linux es que cada uno de estos directorios tiene un propósito particular que se ha desarrollado en los últimos años basado en Linux (y antes de este, UNIX) que se ha utilizado como un servidor. Cuanto más se entienda lo que estos directorios son y por qué existen, más rápido se podrá solucionar problemas, y poder hacer más seguro el sistema, y lo mejor es que podemos agregar nuestros propios paquetes y otras adiciones. A continuación se presentan una serie de importantes directorios en un servidor de GNU/Linux. Esta lista no es exhaustiva o completa. El punto es poner de relieve los directorios de la base con la que van a interactuar como administrador y explicar por qué están allí. 


/bin 
Este directorio contiene los binarios básicos que puedan ser utilizados por los administradores y usuarios habituales en el sistema. Aquí se encuentran comandos como ps, ls, rm, mv, chmod, df, y el núcleo de otros programas en este directorio. 

/sbin 
El directorio /sbin tiene una función similar a /bin. Contiene binarios, sin embargo, es para los binarios de base usado sólo por los administradores. Este directorio contiene archivos binarios del sistema sólo cruciales para el montaje del resto del sistema y recuperar el sistema si no puede arrancar. Aquí se encuentran programas como fsck, ifconfig, mkfs, route, e init. Sin embargo varios de los binarios en /sbin pueden ejecutados por los usuarios regulares, que suelen ser destinados a ser utilizados por el usuario root. 

/lib 
En / lib se encuentra el núcleo del sistema de bibliotecas de sistema necesita para completar el proceso de arranque y usar los binarios en /bin y /sbin. Todos los módulos del kernel también se encuentran aquí en /lib/modules/. 

/usr 
El directorio /usr/ (abreviatura de los Recursos del Sistema UNIX) se destina a almacenar todos los archivos binarios y las bibliotecas no críticos para el sistema. ¿Por qué la separación? Bueno, la idea es que si se mantiene sólo los binarios del núcleo y las bibliotecas en /bin, /sbin, y /lib, podemos mantener la partición raíz principal relativamente pequeña y en toda la vida útil del sistema no debe crecer demasiado mucho más. La mayor parte del espacio en disco puede ser dedicado a la partición /usr, lo que podría ser montado en una de mayor tamaño de disco independiente si se requiere. Otro dato útil acerca de /usr es que a menos actualicemos los paquetes del sistema, permanece relativamente estable. Esto significa que si se separan /usr en su propia partición, en realidad se podría añadir una capa adicional de seguridad y de montaje de sólo lectura y volver a montar de lectura y escritura al realizar actualizaciones. 

/usr/bin 
Este directorio tiene un propósito similar a /bin, sólo se almacena el resto de los binarios en el sistema que no se consideran críticos. Encontraremos comandos como el man, gzip, nano, y otros binarios destinados a ser utilizados tanto por los administradores y los usuarios regulares aquí. 

/usr/sbin 
Este directorio es similar a /sbin, sólo almacena los archivos binarios para el administrador que no son fundamentales para el arranque. Aquí encontrarás las herramientas como traceroute, chroot, y ntpdate junto con la mayoría de los daemons que se inician las secuencias de comandos de inicio como los servidores Web, los demonios ntp, y servidores de correo. 

/usr/lib 
Al igual que con /lib, que se encuentra bibliotecas de programas dentro de este directorio, sólo en este caso son las bibliotecas para apoyar a los binarios en /usr /bin y /usr/lib. 

/usr/local 
Algo muy importante acerca de GNU/Linux como servidor es que la mayoría de los servicios y otros programas que desea ejecutar ya están empaquetadas y listas para usar. En algunos casos, sin embargo, es posible que desee prestar un servicio personalizado o binarios o incluso un script personalizado de nuestra propiedad para el sistema. Aquí es donde el directorio /usr/local entra en juego. Notaremos que proporciona bin, sbin, y los directorios lib al igual que en /usr, sólo estos directorios están diseñados para programas de otros fabricantes que desea poner a disposición del sistema que no son proporcionados por el propio sistema.

En otra entrega seguiremos explicando detalladamente los demás directorios que componen esta hermosa estructura...

1 comentario: