Exploración del Árbol de Directorios en Linux

Clase 18 de 30Curso de Introducción a la Administración de Servidores Linux

Contenido del curso

Introducción a los servidores

Resumen

Conocer la estructura de directorios de Linux es fundamental para cualquier persona que administre servidores. Cada carpeta dentro del sistema cumple un rol específico, y saber cuáles puedes modificar y cuáles no puede marcar la diferencia entre un servidor estable y uno inutilizable. A continuación se explican las carpetas más importantes del árbol de directorios o file tree de Linux, desde los binarios hasta los logs del sistema.

¿Qué contienen las carpetas bin y boot en Linux?

El directorio /bin es en realidad un link simbólico que apunta a /usr/bin [01:40]. Dentro de esta ruta se almacenan todos los archivos binarios esenciales para el funcionamiento del sistema operativo. Aquí es donde Linux busca los programas ejecutables como bash o apt. Esta carpeta está directamente relacionada con el concepto de PATH (pathname): cuando ejecutas un comando, el sistema revisa esta ubicación para encontrar el binario correspondiente [02:30]. Si en algún momento necesitas que un programa se ejecute de forma global, deberás moverlo a esta carpeta.

La carpeta /boot contiene los archivos de configuración necesarios para el arranque del sistema [03:05]. Dentro de ella se encuentra el directorio GRUB, que almacena el archivo grub.cfg. Este archivo define las directrices de cómo se inicia el sistema operativo, es decir, controla el menú de arranque. El propio archivo advierte que no debe editarse manualmente [03:40]. Existen métodos seguros para regenerar esta configuración, pero modificarla directamente puede dejar el sistema sin capacidad de arrancar.

¿Para qué sirve la carpeta dev y qué es /dev/null?

El directorio /dev no hace referencia a desarrollo, sino a devices (dispositivos) [04:20]. Los archivos dentro de esta carpeta tienen una letra c al inicio, lo que indica que son archivos de bloque o de carácter. Estos archivos representan locaciones de memoria y referencias a dispositivos del hardware, aunque no son drivers en sí mismos.

Uno de los archivos más conocidos aquí es /dev/null [04:55]. Funciona como un "agujero negro" al que puedes redirigir cualquier salida para que desaparezca sin dejar rastro. Por ejemplo, si ejecutas echo "Hola mundo" > /dev/null, el mensaje no aparecerá ni se almacenará en ningún lugar. Esto resulta especialmente útil para administradores de sistemas que necesitan ejecutar comandos sin generar logs innecesarios.

¿Qué archivos críticos se guardan en etc, home y las librerías?

La carpeta /etc almacena todos los archivos de configuración críticos del sistema [06:00]. Aquí vive el archivo sudoers, que define qué usuarios tienen permisos de superusuario. También se encuentra el archivo hostname, que determina el nombre de tu servidor en la red, y el archivo fstab, donde se configura todo lo relacionado con el montaje de discos [06:35]. La recomendación es clara: no toques estos archivos si no sabes exactamente qué hacen.

El directorio /home es más sencillo de entender [07:00]. Aquí se crean las carpetas personales de cada usuario del sistema. Cuando se añade un nuevo usuario con roles y permisos, se le genera un directorio dentro de /home.

Las carpetas /lib son enlaces a /usr/lib y contienen las librerías (de 32 bits, 64 bits, etc.) que necesitan las aplicaciones almacenadas en /bin [07:20]. Funcionan como dependencias: los programas van a buscar ahí los recursos que necesitan para ejecutarse.

¿Cuál es la diferencia entre media, mount y tmp?

  • /media: diseñada para montar dispositivos como discos duros o CD-ROMs de forma permanente, incluyendo discos conectados en caliente (hot swappable) [07:50].
  • /mount (mnt): sirve para montajes temporales como memorias USB u otros dispositivos de bloque que no permanecerán conectados mucho tiempo [08:30].
  • /tmp: cualquier archivo almacenado aquí se elimina automáticamente cuando el sistema se reinicia [11:50].

¿Qué roles cumplen proc, run, var y sys?

La carpeta /proc contiene archivos que hacen referencia a todos los procesos en ejecución del sistema [09:50]. Linux maneja todo como archivos, y los procesos activos se representan aquí como referencias en memoria.

El directorio /run almacena archivos relacionados con demonios y servicios que se inician con el sistema [10:50]. A diferencia de /proc, que refleja procesos en memoria, /run se enfoca en servicios persistentes como cron.

La carpeta /opt (optional) es donde se instalan paquetes de terceros [09:15]. Herramientas como Google Chrome, Nessus o Zoom colocan aquí sus archivos de instalación. Es la analogía más cercana a una carpeta de instalación de programas en Windows.

En /var se alojan los logs e información volátil del sistema [12:20]. Por ejemplo, /var/crash guarda los registros cuando el sistema falla, y /var/log contiene todos los logs de autenticación, arranque (bootstrap) y eventos del sistema [13:20]. En distribuciones como Red Hat, esta estructura puede variar ligeramente gracias a utilidades como kdump.

Finalmente, /sys contiene archivos vitales del sistema operativo como configuraciones del kernel, firmware y dispositivos [14:00]. Esta carpeta no se modifica a menos que sea estrictamente necesario.

Si sientes que es difícil memorizar todas estas carpetas, es completamente normal. Lo importante es tener una referencia a la mano y consultarla cuando lo necesites. ¿Cuál de estas carpetas te resultó más interesante o cuál te gustaría explorar con más detalle?