Algunas aplicaciones de Mac rastrean tus documentos sin importar dónde los muevas en un volumen o el nombre que desees darles. Otras no lo soportan, y en el momento en que algo cambia en el documento, aparte de su contenido, hay que volver a abrirlo. ¿Por qué la diferencia?

Asociado a cada archivo y carpeta se encuentra la información acerca de ese elemento: su propietario y propietario del grupo, los permisos, fechas de creación y modificación, tamaño, etcétera. Éstos se almacenan en estructuras de datos denominadas inodes. Dentro de ellos, cada artículo tiene un número de identidad único que permanece fijo, independientemente de su nombre o de dónde pueda estar en ese volumen en particular: el número de serie o ID del inode, a veces simplemente denominado como inode1 .

Cuando una aplicación abre o guarda un documento, lo hace usando su ruta y el nombre de archivo. La diferencia entre las aplicaciones viene con la forma en que se recuerdan esos documentos, obviamente para el comando Abrir recientes. Las aplicaciones bien desarrolladas recuerdan mejor sus documentos usando sus números de serie de inode, así que cuando quieren abrirlos de nuevo, piden a macOS el archivo con ese número de serie. Las apps más débiles recuerdan sus documentos por sus URLs, así que si alguna parte de eso cambia, no pueden encontrar el documento para volver a abrirlo.

Puede ver los datos del inodo de un archivo o carpeta en Terminal, usando el comando:

stat nombrearchivo

donde nombre de archivo es la ruta y nombre del archivo o carpeta. Esto podría devolver algo como:

16777220 8598924076 -rw-r--r-- 1 Dalek staff 0 50424 "Feb 28 17:30:23 2018" "May 31 01:44:51 2017" "Feb 28 17:30:25 2018" "Feb 28 17:30:23 2018" 4194304 104 0 /Users/Dalek/Desktop/g7Xs_NYGHPjulEaP.mp4

que da el número del inode de ese ítem como segundo entero grande, 8598924076.

También puede descubrir números de inodo utilizando la opción -i para el comando ls, que enumera los números de inode contra cada elemento.

Trabajando con los inode

Si abres tu disco duro de arranque, es posible que puedas encontrar una carpeta llamada “lost+found” junto con las carpetas de Sistema, Aplicaciones, Usuarios y Librería2.

Es también posible que simplemente esta carpeta no sea visible por lo que tengas que recurrir a mostrar los archivos invisibles, o saltar directamente a la carpeta, si existe, usando el atajo de teclado ⇧⌘G e introduciendo en el correspondiente campo /lost+found. Si te aparece la carpeta en el Finder, es posible que encuentres una serie de archivos inode en su interior, terminados con una serie de números.

Si no puedes localizar la carpeta, curiosamente esas son muy buenas noticias ya que la estructura de archivos de tu disco duro de arranque está en perfectas condiciones, pero si está ahí entonces definitivamente tienes problemas.

Los objetos en tu sistema de archivos se llaman inodes y pueden ser o archivos o carpetas y representan una porción de datos en tu disco duro, asociados con un nombre y ruta de archivo en tu estructura de archivos en tu disco duro. Situaciones como un reinicio forzoso durante el acceso a tu disco duro, o daños por otros motivos a tu estructura de archivos pueden acabar en un perdida de ese inode cuando se estaba interactuando con el. Cuando esto ocurre, las rutinas integradas dentro de macOS detectan este inode perdido y los restauran dentro de esta carpeta como una extensión del sistema de archivos y así son accesibles sus contenidos.

Como son simplemente archivos, son accesibles para lectura utilizando el Terminal accediendo al nombre del archivo:

xar -tf /lost+found/iNode#######

Al introducir el comando, sustituyendo los # por los correspondientes números del archivo, podrás ver el contenido del mismo. Llegados a este punto es posible que veas un número masivo de archivos listados, pero puedes determinar cuál es el contenido de los mismos. Si fuera necesario, puedes extraer el archivo ejecutando el siguiente comando de Terminal

xar -xf /lost+found/iNode#######

Después de ejecutar el comando, aparecerá el archivo extraído dentro de la carpeta lost+found, que podrás mover a otra ubicación del disco o a unidad externa.

Generalmente, esta carpeta aparece cuando hay inconsistencias dentro de la estructura del disco tras forzar el apagado, un apagado tras un corte de luz o una situación similar. Después de una situación así, es posible que aparezcan estos archivos y una reparación de la estructura de archivos usando la Utilidad de Discos o diskutil con el Terminal generalmente no van a solucionar estos problemas, por lo que si las rutinas de reparación de macOS no son capaces de hacerse cargo de los archivos de la carpeta lost+found y siguen apareciendo archivos inode, es el momento de hacer una copia de seguridad, formatear y reinstalar.

Seguramente se te ocurre… ¿puedo acceder a los archivos vía inode?

Sería una gran idea, ¿verdad? Estás programando un script y así puedes hacer referencia a un archivo independientemente si ha cambiado de nombre, ubicación o contenido… pero no se puede hacer y es por motivos de seguridad. Para acceder a un archivo necesitas permiso de acceso al archivo así como permiso para buscar en todos los directorios de raíz necesarios para obtener/utilizar el archivo. Si puedes acceder a un archivo por inodo, puedes omitir las comprobaciones de los directorios que lo contienen.

Notas

  1. También se refieren a ellos como vnodes, un término de los sistemas BSD
  2. Ahora Biblioteca
In this article


Join the Conversation