¿Cómo saber el uso de inodos en Linux?
Otro artículo teórico con una parte práctica, en este caso hablamos de los inodos en GNU/Linux, aunque la parte sesuda también sirve para otros sistemas UNIX y like-UNIX. Ya que estamos, recuerda este mantra, en UNIX (véase también en GNU/Linux) todo es un archivo.
Además, siguiendo con esta frase, cada uno de estos archivos tienen asociado un número de inodos.
Pero vayamos por partes.
¿Qué son los inodos?
El inodo se refiere a un nodo de índice o número de índice, esto es, una estructura de datos en un sistema de archivos en GNU/Linux, que almacena información, sobre un archivo o directorio.
Cada archivo se identifica por un número de inodo. Este número es único dentro de todo el sistema de archivos.
Dentro de cada inodo, se incluye información como número de inodos, tipo de archivo, propietario, permisos y fecha de creación.
Un archivo Unix se «almacena» en dos partes diferentes del disco: los bloques de datos y los inodos. Los bloques de datos contienen los «contenidos» del archivo. La información sobre el archivo se almacena en otro lugar, en el inodo.
Tanto los inodos como los bloques de datos se almacenan en un «sistema de archivos», que es como se organiza una partición de disco.
Cabe decir que depende el sistema de ficheros, se indica el máximo de inodos que se pueden utilizar. Una heurística de asignación típica para inodos en un sistema de archivos es el uno por ciento del tamaño total.
Comprobar el número de inodo de un archivo
Una de las formas habituales es utilizar el popular comando «ls«, que como sabéis sirve para listar el contenido de una carpeta. Para ver los números de inodo debemos añadir el parámetro «-i» El número de inodo del archivo se mostrará en el primer campo de salida.
[davidochobits@servcentos]$ ls -li
total 8148
5412 -rw-rw-r-- 1 david david 0 Apr 8 10:34 file1.txt
5413 -rw-rw-r-- 1 david david 0 Apr 8 10:34 file2.txt
5414 -rw-rw-r-- 1 david david 0 Apr 8 10:34 file3.txt
18 drwxr-xr-x 19 root root 4096 Mar 20 11:28 openssl-1.1.1
16 -rw-rw-r-- 1 david david 8337920 Sep 11 2018 openssl-1.1.1.tar.gz
Buscar un archivo usando el número de inodo
Tenemos disponible la herramienta «find«, con ello podemos listar los archivos, esta vez utilizando el número de inodos en Linux.
[davidochobits@servcentos /]$ find /home/david/ -inum 5414
/home/david/file3.txt
Comprobar el uso de inodos
Si deseamos verificar la utilización de inodos en el sistema de archivos, utilizamos el comando «df«, más el parámetro «-i»
[davidochobits@servcentos /]$ df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/mapper/vg_root-lv_root 327680 85831 241849 27% /
devtmpfs 482103 401 481702 1% /dev
tmpfs 485100 1 485099 1% /dev/shm
tmpfs 485100 670 484430 1% /run
tmpfs 485100 16 485084 1% /sys/fs/cgroup
/dev/sda1 65536 342 65194 1% /boot
/dev/mapper/vg_root-lv_var 327680 3739 323941 2% /var
/dev/mapper/vg_root-lv_tmp 131072 22 131050 1% /tmp
/dev/mapper/vg_root-lv_home 327680 5623 322057 2% /home
/dev/mapper/vg_root-lv_opt 327680 9988 317692 4% /opt
En esta parte, también podemos utilizar el comando «du«, que como sabéis sirve para mostrar el espacio ocupado por los archivos. Si utilizamos el parámetro «–inodes«, nos dirá el número de inodos utilizados.
[root@servcentos davidochobits]# du -sh --inodes *
1 file1.txt
1 file2.txt
1 file3.txt
5,3K openssl-1.1.1
1 openssl-1.1.1.tar.gz
Observamos que en la carpeta nos indicada que existen 5300 inodos, que como vemos a continuación, aproximadamente coincide con el número de archivos:
[root@servcentos davidochobits]# find openssl-1.1.1/ -type f | wc -l
5230
Contar el uso de inodos
Si deseamos contar la utilización de inodos , podemos utilizar una combinación de comandos y parámetros:
find . -printf "%h\n" | cut -d/ -f-2 | sort | uniq -c | sort -rn
Por ejemplo dentro de la carpeta «/usr«, sería como sigue:
[root@servcentos usr]# find -printf "%h\n" | cut -d/ -f-2 | sort | uniq -c | sort -rn
28524 ./share
13531 ./lib
7861 ./local
5295 ./lib64
1362 ./include
1017 ./bin
501 ./sbin
400 ./libexec
398 ./java
14 .
2 ./src
Y esto es todo por hoy. Espero que esta información os pueda ser de utilidad en algún momento.
Nos vamos leyendo.
Fuentes consultadas