FSH – Estándar de jerarquía de directorios

En este articulo intento explicar lo mas brevemente posible, como los directorios de un sistema GNU/Linux estan organizados y para que se usan. 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. En un principio puede parecer dificil y sin logica, pero una vez que empiezas a usarlos te acostumbras rapido.

Existe un estandard, el "Estándar de jerarquía de directorios" (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 estandard se encuentra en su version 2.3 y el documento del mismo se puede encontrar en su totalidad en esta direccion: http://www.pathname.com/fhs/pub/fhs-2.3.html. Se recomienda su lectura a los deseen profundizar en el tema.

Este estandard esta 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 otros muchos. La mayoría de las distribuciones de GNU/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 minimas.

Existen dos tipos de distinciones cuando hablamos del tipo de contenido de un directorio: Estaticos/dinamicos y compartibles/no compartibles.

  • Estaticos: Contiene binarios, bibliotecas, documentacion y otros archivos que no cambian sin intervencion 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 archivos dinamicos
  • Dinamicos: Contiene archivos que no son estaticos. Deben de encontrase en dispositivos de lectura-escritura (read-write). Necesitan que se hagan copias de seguridad a menudo
  • Compartibles: Contiene archivos que se pueden encontrar en un ordenador y utilizarse en otro
  • No compartibles: Contiene archivos que no son compartibles

A continuacion dejo algunos ejemplos para aclarar ideas:

  • Estaticos: /bin, /sbin, /opt, /boot, /usr/bin
  • Dinamicos: /var/mail, /var/spool, /var/run, /var/lock, /home
  • Compartibles: /usr/bin, /opt
  • No compartibles: /etc, /boot, /var/run, /var/lock

Todos los archivos 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, pero esto lo explico en otra ocasion.

A continuacion dejo una lista con los directorios mas importantes del sistema y para que se usan. Para acceder a los mismos puedes usar el comando cd ‘nombre del directorio’. Para ver el contenido de los mismos puedes usar el comando ls -l ‘nombre del directorio’.

Directorio

Descripción Simple

/

Jerarquía primaria, la raíz o root, y directorio raízo contenedor de todo el sistema de jerarquía.

/bin/

Aplicaciones binarias de comando que son esenciales para que estén disponibles para una sesión de usuario único, o bien, para todos los usuarios (multiusuario). Incluyen, por ejemplo, cat, ls, cp, rm, mkdir, etc.

/boot/

Archivos cargadores de arranque (por ejemplo, los núcleos, el initrd). A menudo en una partición o disco aparte.

/dev/

Contiene los portales a Dispositivos esenciales (por ejemplo, /dev/null), incluso a los que no se les ha asignado (montado) un directorio. Contiene incluso los portales a dispositivos que son virtualos y también a los que no proporcionan almacenamiento (p.e. micrófonos, impresoras, etc). Se trata de la parte más cruda o de más bajo nivel del sistema operativo hacia el hardware, aunque es extremadamente útil para tener un acceso directo a los dispositivos.

/etc/

Contiene archivos de configuración del sistema específicos del Host de todo el sistema. El nombre proviene de "etcétera".

/etc/opt/

Archivos de configuración para los programas alojados dentro del directorio /opt.

/etc/X11/

Archivos de configuración para el X Window System, versión 11.

/etc/sgml/

Archivos de configuración para SGML.

/etc/xml/

Archivos de configuración para XML.

/home/

Contiene los directorios de trabajo de todos los usuarios, excepto el del superusuario (administrador, root). Contiene archivos guardados, ajustes personales, etc. Ofrece. A menudo es instalada en un disco o partición separada. Cada usuario tiene su propio directorio dentro de esta carpeta.

/lib/

Contiene todas las bibliotecas (mal traducidas como librerías) esenciales compartidas de los programas alojados, es decir, para los binarios en /bin/ y /sbin/. Contiene también las bibliotecas para el núcleo.

/media/

Contiene los puntos de montaje de los medios extraíbles de almacenamiento, tales como lectores de CD-ROM (aparecido en la versión 2.3 de FHS), Pendrives (memoria USB), e incluso sirve para montar otras particiones del mismo disco duro, como por ejemplo, alguna partición que sea utilizada por otro sistema operativo.

/mnt/

Sistema de archivos montados temporalmente. Es una directorio semejante a /media, pero es usado mayoritariamente por los usuarios. Sirve para montar discos duros y particiones de forma temporal en el sistema; no necesita contraseña, a diferencia del directorio /media.

/opt/

Contiene Paquetes de programas opcionales de aplicaciones estáticas, es decir, que pueden ser compartidas entre los usuarios. Dichas aplicaciones no guardan sus configuraciones en este directorio; de esta manera, cada usuario puede tener una configuración diferente de una misma aplicación, de manera que se comparte la aplicación pero no las configuraciones de los usuarios, las cuales se guargdan en su respectivo directorio en /home.

/proc/

Contiene principalmente archivos de texto, sistema de archivos virtuales que documentan al núcleo y el estado de los procesos en archivos de texto (por ejemplo, uptime, network).

/root/

Directorio raíz del usuario root. Funciona como las carpetas en /home, pero en este caso, es solo para el superusuario (administrador del sistema).

/sbin/

Sistema de binarios esencial, comandos y programas exclusivos del superusuario (root), por ejemplo, init, route, ifup). Un usuario puede ejecutar alguno de estas aplicaciones de comandos, si tiene los permisos suficientes, o bien, si tiene la contraseña del superusuario.

/srv/

Lugar específico de datos que son servidos por el sistema.

/tmp/

Archivos temporales (véase también /var/tmp). Aquí generalmente se guardan los archivos temporales guardados -por ejemplo- por el navegador de internet.

/usr/

jerarquía secundaria de los datos de usuario; contiene la mayoría de las utilidades y aplicaciones multiusuario, es decir, accesibles para todos los usuarios. En otras palabras, contiene los archivos compartidos, pero que no obstante son de sólo lectura. Este directorio puede incluso ser compartido con otras computadoras de red local.

/usr/bin/

Comandos binarios no-administrativos para todos los usuarios. Son de solo lectura, pero pueden tener su propia configuración para cada usuario en /home.

/usr/include/

Archivos de cabecera (Header files o Include files), es decir, archivos de inclusión estándar.

/usr/lib/

bibliotecas compartidas de los binarios en /usr/bin/. Algunos ejecutables comparten las mismas librerías que comparten las demás aplicaciones, de manera que generalmente no hay dos librerías idénticas en un mismo sistema, lo cual ahorra memoria y proporciona más orden.

/usr/sbin/

Sistema de binarios no esenciales; por ejemplo, demonios para varios servicios de red. Es decir, contiene programas que no proporcionan una interfaz de usuario y gerneralmente se ejecutan al inicio del sistema o en ciertas circunstancias. No son directamente manejados por el usuario mientras se ejecutan, aunque sí pueden ser configurados antes de que sean ejecutados.

/usr/share/

Arquitectura independiente y compartida de datos. En otras palabras, contiene los datos compartidos que no dependen de la arquitectura del sistema. Esto puede incluir imágenes, sonidos, etc., para la disponibilidad en el sistema y sus aplicaciones. Pueden ser plantillas, por ejemplo, aunque generalmente son archivos que el sistema utiliza directamente.

/usr/src/

Códigos fuente de algunas aplicaciones. Al igual que /mnt, esta carpeta es manejada por los usuarios directamente para que éstos puedan guardan en él el código fuente de programas y bibliotecas y así puedan accesarlo fácilmente, sin problemas con permisos. Permite que el código fuente tenga un espacio propio, accesible pero apartado de todos los usuarios.

/usr/X11R6/

Sistema X Window System, Versión 11, Release 6. Este directorio se relaciona con el entorno gráfico.

/usr/local/

Jerarquía terciaria para los datos locales, específicos a este host. Usualmente tiene subdirectorios, por ejemplo bin/, lib/, share/, de datos compartidos de sólo lectura específicos del ordenador o servidor que los comparte.

/var/

Archivos variables, tales como logs, archivos spool, bases de datos, archivos de e-mail temporales, y algunos archivos temporales en general. Generalmente actúa como un registro del sistema. Ayuda a encontrar los orígenes de un problema.

/var/cache/

Memoria caché de las aplicaciones, aunque también se utiliza el directorio /tmp para lo mismo.

/var/crash/

Se depositan datos e información, referentes a las caídas o errores del sistema operativo. Es más específico que /var en general.

/var/games/

Datos variables de los juegos del sistema. Este directorio no es imprescindible y muchas veces es omitido por las propias aplicaciones de juegos, pues utilizan la carpeta de usuario en /home para guardar datos variables como configuraciones, por poner un ejemplo. De todas maneras, los juegos de gnome utilizan este directorio.

/var/lock/

Archivos Lock. Archivos que hacen el seguimiento de los recursos que se utilizan actualmente.

/var/log/

Archivos de registro, Log. Varios registros, logs.

/var/mail/

Buzón correos o mensajes de los usuarios. Si no utiliza cifrado, generalmente se utiliza entonces la carpeta personal para la misma labor por parte de programas que manejen correos electrónicos.

/var/opt/

Posee los datos variables de /opt.

/var/run/

Información reciente. Trata acerca del funcionamiento del sistema desde el último arranque. Por ejemplo, los usuarios actualmente registrados o logueados, que han ingresado; y los demonios que están en ejecución.

/var/spool/

Bobinas o carretes (Spool), de tareas a la espera de ser procesados (por ejemplo, colas de impresión y correo no leído).

/var/spool/mail/

Ubicación de los correos de usuario desaprobados. Si no utiliza cifrado, generalmente se utiliza entonces la carpeta personal para la misma labor por parte de programas que manejen correos electrónicos.

/var/tmp/

Archivos temporales que, a diferencia de /tmp, no se borran entre sesiones o reinicios del sistema, pero que de todas maneras siendo prescindibles.

=-=-=-=-=
Powered by Blogilo

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s


A %d blogueros les gusta esto: