Árbol de Directorios en Linux

Este pretendía explicar la jerarquía de directorios de linux y como se estructura,

En un sistema Unix, todo es un archivo; Si algo no es un archivo, es un proceso.

Estructura de ArchivosAlgo que puede resultar confuso para los novatos en Linux, es ver todas aquellas carpetas que tenemos en nuestro sistema una vez instalado. A diferencia de una instalación nueva de Windows, que crea, hasta donde recuerdo, Archivos de Programa, Windows y Documents and Settings, en una distribución Linux recién instalada tenemos varios directorios, que no son más que archivos que contienen los nombres de otros archivos. Dependerá de los permisos asignados por el administrador el que podamos ingresar a ellos o no. Hasta los dispositivos de entrada y salida son considerados archivos por el sistema.

.

  • / (raíz): Es el nivel más alto dentro de la jerarquía de directorios. De aquí cuelgan el resto de carpetas, particiones y otros dispositivos. Es por esto que donde se instala el sistema, se selecciona la partición deseada y se le indica que el punto de montaje es justamente /.
  • /bin (binarios): Los binarios son los ejecutables de Linux. Aquí tendremos los ejecutables de los programas propios del sistema operativo, entre ellos comandos como cp, mv, cat, chown, etc. No es el único directorio que contiene ejecutables como veremos más adelante. Importante, cualquier usuario puede ejecutarlos y los preinstala el sistema.
  • /boot (arranque): Aquí nos encontramos los archivos necesarios para el inicio del sistema, desde los archivos de configuración de Grub Lilo, hasta el propio kernel del sistema.
  • /dev (dispositivos): Linux se basa en la simpleza y en el tratamiento homogéneo de la información. Linux trata los dispositivos como si fueran un fichero más para facilitar el flujo de la información. En esta carpeta tenéis los dispositivos del sistema, por ejemplo los usb, sda (o hda) con sus respectivos números que indican las particiones, etc.
  • /etc (etcétera): Aquí se guardan los ficheros de configuración de los programas instalados, así como ciertos scripts que se ejecutan en el inicio del sistema. Los valores de estos ficheros de configuración pueden ser complementados o sustituidos por los ficheros de configuración de usuario que cada uno tiene en su respectivo “home” (carpeta personal).
  • /home (hogar): Es la carpeta donde se guardan los archivos personales de todos los usuarios, documentos, configuración específica de ciertos programas, etc. Viene a ser algo como el Documents and Settings de Windows. Dentro, existe una carpeta con el nombre de cada usuario. Generalmente, cada usuario tiene acceso sólo a su directorio home. Los usuarios normales tienen total control (lectura, escritura, ejecución) de los archivos de su “home” y en caso que un usuario común haga algo realmente desastroso con el sistema, sólo afectará su home, dejando el del resto de usuarios y el resto del SO intacto. El superusuario (root) tiene acceso total a todos los directorios de los demás usuarios (recuerden la frase: “cada user en su home y el root en el de todos”).
  • /lib (bibliotecas): Contiene las bibliotecas (también mal conocidas como librerías) del sistema, así como módulos y controladores (drivers).
  • /lost+found (perdido y encontrado): Es una carpeta que nos podemos encontrar en todas las particiones. Cuando por cualquier circunstancia se cierra mal el sistema (un apagón por ejemplo), cuando éste se reinicie comprobaréis que se llamará al programa fsck para restaurar la integridad del sistema de ficheros. En esta carpeta encontraremos la información que se mal-guardó debido a la incidencia.
  • /media (media/medios): Es donde se montan las unidades extraíbles como los dispositivos USB, disqueteras, unidades de CD/DVD y en algunas distros, como Ubuntu, las particiones adicionales.
  • /mnt (montajes): Es un directorio que se suele usar para montajes temporales de unidades. En algunas distribuciones ya no se usa por motivos históricos, paso a ser /media.
  • /opt (opcionales): Destinado para guardar paquetes adicionales de aplicaciones.
  • /proc: Información para la virtualización del sistema de ficheros de Linux.
  • /root: Es el /home del administrador. Es el único /home que no está incluido -por defecto- en el directorio anteriormente mencionado.
  • /sbin (binarios de sistema): Son los ejecutables de administración, tales como mount, umount, shutdown… Solo pueden ser ejecutados por el root y vienn preinstalados en el sistema.
  • /srv (servicios): Información del sistema sobre ciertos servicios que ofrece (FTP, HTTP…).
  • /sys (sistema): Información sobre los dispositivos tal y como los ve el kernel Linux.
  • /tmp (temporales): Es un directorio donde se almacenan ficheros temporales. Cada vez que se inicia el sistema este directorio se limpia.
  • /usr: Es el directorio padre de otros subdirectorios de importancia:
    • /usr/bin: Conjunto de ejecutables de la mayoría de aplicaciones de escritorio entre otras (por ejemplo firefox).
    • /usr/include: Los ficheros cabeceras para C y C++.
    • /usr/lib: Las bibliotecas para C y C++.
    • /usr/local: Es otro nivel dentro que ofrece una jerarquía parecida al propio directorio /usr.
    • /usr/sbin: Otra serie de comandos administrativos para el sistema.
    • /usr/share: Archivos compartidos como ficheros de configuración, imágenes, iconos, etc.
    • /usr/src: Tiene en su interior el código fuente para el kernel LInux.
  • var: Ficheros de sistema como el buffer de impresión, logs…
    • /var/cache: Se almacenan datos cacheados para las aplicaciones.
    • /var/lib: Información sobre el estado actual de las aplicaciones, modificable por las propias aplicaciones.
    • /var/lock: Ficheros que se encargan de que un recurso sólo sea usado por una aplicación determinada que ha pedido su exclusividad, hasta que ésta lo libere.
    • /var/log: Es uno de los subdirectorios más importantes ya que aquí se guardan todo tipo de logs del sistema.
    • /var/mail: Los correos de los usuarios.
    • /var/opt: Datos usados por los paquetes almacenados en /opt.
    • /var/run: Información sobre el sistema desde que se inició.
    • /var/spool: Datos esperando a que sean tratados por algún tipo de proceso.
    • /var/tmp: Otro fichero temporal.

Aquí tenemos una jerarquía sacada de tuxpepino

2 comments

  1. Un saludo, muchas gracias por la información, esta muy clara, bien explicada.

    Estoy migrando a GNU/Linux (Debian) y vengo de windows, tengo algunas dudas sobre la instalación, he buscado en google un buen rato y no doy, asi que me refiero a ti con esta pregunta.

    Entiendo el orden que maneja se maneja en GNU/Linux y me gustaria mantenerlo, he realizado algunas instalaciones con apt-get y el automaticamente ordena los archivos, ahora bien, cuando realizo una intalación con:
    ./configure
    make clean && make
    make install

    (Y es aqui donde surge mi duda…) al instalar algun paquete desde make install el crea y ordena automaticamente los archivos como cuando se usa apt-get, yo estoy creando carpetas en /home/mi_usuario y no se si esto es adecuado o no. Al usar make install ¿deberia estar ubicado en alguna carpeta especial?. Me gustaria saber esto para no ‘alterar’ el orden del sistema operativo.

    Muchas gracias…

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

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