¿Qué son los inodos en Linux y cómo se usan?


Todo en Linux se considera un archivo para mantener la coherencia. Eso incluye dispositivos de hardware, impresoras, directorios y procesos. Los archivos normales como música, texto, videos y otros archivos multimedia también tienen datos adicionales asociados con ellos llamados metadatos.

¿Qué son los Inodes en Linux? Las entradas de Inode son la base de Sistema de archivos Linux. Administran los metadatos sobre un archivo y son piezas esenciales del funcionamiento interno de Linux.

¿Cuál es la estructura de un sistema de archivos?

Un sistema de archivos está dividido en dos partes: bloques de datos e inodos. El número de bloques se fija una vez creado, y no se puede cambiar.

El nombre, la ruta, la ubicación, los enlaces y otros atributos de archivo no se encuentran en el directorio. Los directorios son simplemente tablas que contienen los nombres de los archivos con el número de inodo correspondiente.

Puede crear un enlace duro que dé como resultado más de un nombre para el mismo archivo. Cuando crea un enlace duro, también crea un nuevo nombre en la tabla con el inodo, pero no mueve el archivo.

Si moviera un archivo grande, tomaría mucho tiempo. Es más eficiente crear la entrada de nombre en un nuevo directorio y eliminar la entrada anterior. También puede cambiar el nombre de los archivos de la misma manera.

In_content_1 all: [300x250] / dfp: [640x360]->

La parte superior de la jerarquía es el propio sistema de archivos. Dentro del sistema de archivos están los nombres de los archivos. Los nombres de los archivos enlazan con los inodes. Los inodes enlazan con los datos físicos.

¿Qué son los inodos en Linux?

Un inodo es una estructura de datos. Define un archivo o un directorio en el sistema de archivos y se almacena en la entrada del directorio. Los inodos apuntan a bloques que forman un archivo. El inodo contiene todos los datos administrativos necesarios para leer un archivo. metadatos de cada archivo se almacena en inodes en una estructura de tabla.

Cuando se utiliza un programa que hace referencia a un archivo por nombre, el sistema buscará en el archivo de entrada del directorio donde existe para levantar el inodo correspondiente. Esto le da a su sistema los datos del archivo y la información que necesita para realizar procesos u operaciones.

Los inodos generalmente se encuentran cerca de comienzo de una partición. Almacenan toda la información asociada con un archivo, excepto el nombre del archivo y los datos reales. Todos los archivos en cualquier directorio de Linux tienen un nombre de archivo y un número de inodo. Los usuarios pueden recuperar los metadatos de un archivo haciendo referencia al número de inodo.

Los nombres de archivo y los números de inodo se almacenan en un índice separado y se vinculan al inodo. Puede vincular a los metadatos que representan el archivo. Es posible tener múltiples nombres de archivo que se vinculen a una pieza de datos o inodo como se puede ver en la imagen a continuación.

¿Cuál es el número de inodo?

Cada inodo en la estructura de Linux tiene un número único identificado con él. También se llama número de índice y tiene los siguientes atributos:

  • Tamaño
  • Propietario
  • Fecha / hora
  • Permisos y control de acceso
  • Ubicación en el disco
  • Tipos de archivo
  • Número de enlaces
  • Metadatos adicionales sobre el archivo
  • Para verificar la lista de números de inodo, use el siguiente comando:

    ls -i

    La siguiente captura de pantalla muestra un directorio con números de inodo que aparecen en la columna del extremo izquierdo.

    ¿Cómo funcionan los Inodes?

    Cuando crea un nuevo archivo, se le asigna un nombre de archivo y un número de inodo. Ambos se almacenan como entradas en un directorio. Ejecutar el comando ls (ls -li) le mostrará una lista de los nombres de archivo y los números de inodo que están almacenados en un directorio.

    Use el siguiente comando para enumerar la información de inodo para cada sistema de archivos.

    df -hi

    ¿Cuántos inodos está utilizando?

    Una forma de quedarse sin espacio en un sistema de archivos es usar todos los inodos. Incluso si tiene suficiente espacio libre en su disco, no podrá crear nuevos archivos.

    El uso de todos los inodos también puede hacer que su sistema se detenga repentinamente. Para ver una lista de estadísticas sobre el uso de inodo, como usado, libre y porcentaje utilizado, escriba el siguiente comando:

    sudo df -ih

    Maneras adicionales de usar inodos

    La forma en que funcionan los inodos en Linux hace que sea imposible tener números de inodos en conflicto. No es posible crear un enlace rígido a través de diferentes sistemas de archivos. Sin embargo, puede usar enlaces suaves en diferentes sistemas de archivos. Puede eliminar los archivos originales y aún tener los datos disponibles a través de un enlace duro.

    Al eliminar un archivo, todo lo que ha hecho es eliminar uno de los nombres que apuntan a un número de inodo específico. Los datos permanecerán hasta que elimine todos los nombres asociados con el mismo número de inodo. Los sistemas Linux se actualizan sin requerir un reinicio del sistema en gran parte debido a la forma en que funcionan los inodes.

    Un proceso puede usar un archivo de biblioteca al mismo tiempo que otro proceso reemplaza el mismo archivo con una versión actualizada más nueva y crea un nuevo inodo. El proceso de ejecución sigue usando el archivo antiguo. La próxima vez que use el mismo proceso, usará la nueva versión.

    Los usuarios no interactúan directamente con los inodos, pero representan un componente fundamental de las estructuras de archivos de Linux.

    Artículos Relacionados:


    29.02.2020