En primer lugar, y me doy cuenta de que no era uno de los términos de su pregunta, debe comprender los metadatos . De manera sucinta, y robado de Wikipedia, los metadatos son datos sobre datos. Es decir que los metadatos contienen información sobre un dato. Por ejemplo, si soy dueño de un automóvil, entonces tengo un conjunto de información sobre el automóvil pero que no es parte del automóvil en sí. Información como el número de registro, marca, modelo, año de fabricación, información del seguro, etc. Toda esa información se denomina colectivamente metadatos. En los sistemas de archivos Linux y UNIX, los metadatos existen en múltiples niveles de organización, como verá.
El superbloque es esencialmente metadatos del sistema de archivos y define el tipo, tamaño, estado e información del sistema de archivos sobre otras estructuras de metadatos (metadatos de metadatos). El superbloque es muy crítico para el sistema de archivos y, por lo tanto, se almacena en múltiples copias redundantes para cada sistema de archivos. El superbloque es una estructura de metadatos de "alto nivel" para el sistema de archivos. Por ejemplo, si el superbloque de una partición, / var, se corrompe, el sistema operativo no puede montar el sistema de archivos en cuestión (/ var). Comúnmente en este caso, debe ejecutarfsck
que seleccionará automáticamente una copia de seguridad alternativa del superbloque e intentará recuperar el sistema de archivos. Las copias de respaldo en sí se almacenan en grupos de bloques distribuidos a través del sistema de archivos con el primero almacenado en un desplazamiento de 1 bloque desde el inicio de la partición. Esto es importante en el caso de que sea necesaria una recuperación manual. Puede ver información sobre las copias de seguridad de superbloque con el comando dumpe2fs /dev/foo | grep -i superblock
que es útil en caso de un intento de recuperación manual. Supongamos que el comando dumpe2fs genera la línea Backup superblock at 163840, Group descriptors at 163841-163841
. Podemos utilizar esta información y el conocimiento sobre la estructura del sistema de archivos, al intentar utilizar esta copia de seguridad superbloque: /sbin/fsck.ext3 -b 163840 -B 1024 /dev/foo
. Tenga en cuenta que he asumido un tamaño de bloque de 1024 bytes para este ejemplo.
Existe un inodo en, o en, un sistema de archivos y representa metadatos sobre un archivo. Para mayor claridad, todos los objetos en un sistema Linux o UNIX son archivos; archivos reales, directorios, dispositivos, etc. Tenga en cuenta que, entre los metadatos contenidos en un inodo, no hay un nombre de archivo como los humanos piensan, esto será importante más adelante. Un inodo contiene esencialmente información sobre la propiedad (usuario, grupo), modo de acceso (permisos de lectura, escritura, ejecución) y tipo de archivo.
Una dentry es el pegamento que mantiene unidos los inodos y los archivos al relacionar los números de inodo con los nombres de los archivos. Las dentries también juegan un papel en el almacenamiento en caché de directorios que, idealmente, mantiene a la mano los archivos más utilizados para un acceso más rápido. El recorrido del sistema de archivos es otro aspecto de la negación, ya que mantiene una relación entre los directorios y sus archivos.
Un archivo , además de ser lo que los humanos suelen pensar cuando se les presenta la palabra, en realidad es solo un bloque de datos arbitrarios relacionados lógicamente. Comparativamente muy aburrido teniendo en cuenta todo el trabajo realizado (arriba) para realizar un seguimiento de ellos.
Me doy cuenta de que algunas oraciones no proporcionan una explicación completa de ninguno de estos conceptos, así que no dude en solicitar detalles adicionales cuando y donde sea necesario.