archivos-linux¿Cómo están organizados y para que se usan los directorios de un sistema GNU/Linux?

Uno de los problemas que tienen los nuevos usuarios de un sistema GNU/Linux es el no saber que significan y para que se utilizan los diferentes directorios del sistema. No hay que preocuparse, en  principio puede parecer complicado y sin lógica, pero una vez que empecéis a trabajar con frecuencia os acostumbráis pronto.

Existe un estándar, el Estándar de jerarquía de ficheros (FHS – Filesystem Hierarchy Standard) que intenta definir unas bases, para que tanto los programas del sistema, como los usuarios y administradores, sepan donde encontrar lo que buscan. Este estándar se encuentra en su versión 2.3 y el documento del mismo se puede encontrar en su totalidad en esta dirección: http://www.pathname.com/fhs/pub/fhs-2.3.html. Se recomienda su lectura a los usuarios que deseen profundizar en el tema.

Este estándar está mantenido por la ‘Free Standards Group’, una organización sin fines de lucro constituida por compañías de hardware y software como AMD, Computer Associates, Debian, Dell, Fujitsu, Google, HP, IBM, Intel, MySQL, NEC, Novell, Red Flag, Red Hat, Sun Microsystems, Veritas y otras muchas. La mayoría de las distribuciones de Linux, inclusive las que forman parte de Free Software Standards, no aplican de forma estricta y al 100% el estándar, aunque las diferencias son mínimas.

Existen dos tipos de distinciones cuando hablamos del tipo de contenido de un directorio: Estáticos/dinámicos y compartibles/no compartibles.

  • Estáticos: Contiene binarios, bibliotecas, documentación y otros ficheros que no cambian sin intervención del administrador. Pueden estar en dispositivos de solo lectura (read-only) y no necesitan que se hagan copias de seguridad tan a menudo como con ficheros dinámicos.
  • Dinámicos: Contiene ficheros que no son estáticos. Deben de encontrase en dispositivos de lectura-escritura (read-write). Necesitan que se hagan copias de seguridad a menudo.
  • Compartibles: Contiene ficheros que se pueden encontrar en un ordenador y utilizarse en otro.
  • No compartibles: Contiene ficheros que no son compartibles.

A continuacion teneis algunos ejemplos para aclarar ideas:

  • Estáticos: /bin, /sbin, /opt, /boot, /usr/bin...
  • Dinámicos: /var/mail, /var/spool, /var/run, /var/lock, /home...
  • Compartibles: /usr/bin, /opt...
  • No compartibles: /etc, /boot, /var/run, /var/lock...

Todos los ficheros y directorios aparecen debajo del directorio raíz «/» (El equivalente en el mundo Unix al C:\ de Windows) aunque se encuentren en discos/dispositivos distintos. En GNU/Linux no existen letras de discos (C:, D:, etc) los dispositivos se ‘montan’ (empiezan a formar parte) del arbol de directorios del sistema.

A continuación tenéis una lista con los directorios mas importantes del sistema y para que se usan. Para acceder a los mismos podéis usar el comando cd 'nombre del directorio'. Para ver el contenido de los mismos podeis usar el comando ls -l 'nombre del directorio'.

Directorio        Descripción
-----------------------------------------------------------------------------------------
/bin/		Comandos/programas binarios esenciales (cp, mv, ls, rm, etc.),
/boot/		Ficheros utilizados durante el arranque del sistema (núcleo y discos RAM)
/dev/		Dispositivos esenciales, discos duros, terminales, sonido,
		video, lectores dvd/cd, etc...

/etc/		Ficheros de configuración utilizados en todo el sistema y que
		son específicos del ordenador.

/etc/opt/	Ficheros de configuración utilizados por programas alojados dentro
		de /opt/

/etc/X11/	Ficheros de configuración para el sistema X Window (Opcional)
/etc/sgml/	Ficheros de configuración para SGML (Opcional)
/etc/xml/	Ficheros de configuración para XML (Opcional)

/home/		Directorios de inicios de los usuarios (Opcional)
/lib/		Bibliotecas compartidas esenciales para los binarios de /bin/, /sbin/ y
		el núcleo del sistema.

/mnt/		Sistemas de ficheros montados temporalmente.
/media/		Puntos de montaje para dispositivos de medios como unidades lectoras
		de discos compactos.

/opt/		Paquetes de aplicaciones estáticas.
/proc/		Sistema de ficheros virtual que documenta sucesos y estados del
		núcleo. Contiene principalmente ficheros de texto.

/root/		Directorio de inicio del usuario root (super-usuario) (Opcional)
/sbin/		Comandos/programas binarios de administración de sistema.
/tmp/		Ficheros temporales
/srv/		Datos específicos de sitio servidos por el sistema.
/usr/		Jerarquía secundaria para datos compartidos de solo lectura (Unix system
		resources). Este directorio puede ser compartido por
		múltiples ordenadores y no debe contener datos específicos del
		ordenador que los comparte.

/usr/bin/	Comandos/programas binarios.
/usr/include/	Ficheros de inclusión estándar (cabeceras de cabecera utilizados
		para desarrollo).

/usr/lib/	Bibliotecas compartidas.
/usr/share/	Datos compartidos independientes de la arquitectura del
		sistema. Imágenes, ficheros de texto, etc.

/usr/src/	Códigos fuente (Opcional)
/usr/X11R6/	Sistema X Window, versión 11, lanzamiento 6 (Opcional)
/usr/local/	Jerarquía terciaria para datos compartidos de solo lectura
		específicos del ordenador que los comparte.

/var/		Ficheros variables, como son logs, bases de datos, directorio raíz
		de servidores HTTP y FTP, colas de correo, ficheros temporales, etc.

/var/cache/	Cache da datos de aplicaciones.
/var/crash/ 	Depósito de información referente a caidas del sistema (Opcional)

/var/games/	Datos variables de aplicaciones para juegos (Opcional)
/var/lib/	Información de estado variable. Algunos servidores como MySQL y
		PostgreSQL almacenan sus bases de datos en directorios subordinados de éste.

/var/lock/	Ficheros de bloqueo.
/var/log/	Ficheros y directorios de registro del sistemas (logs).
/var/mail/	Buzones de correo de usuarios (Opcional)
/var/opt/	Datos variables de /opt/.
/var/spool/	Colas de datos de aplicaciones.
/var/tmp/	Ficheros temporales preservados entre reinicios.

Esta información es útil para comprender un poco mas como se organiza vuestro sistema.

Compartir en...Share on FacebookTweet about this on TwitterShare on Google+Email this to someone