Prima di tutto, e mi rendo conto che non era uno dei termini della tua domanda, devi capire i metadati . In breve, e rubati da Wikipedia, i metadati sono dati sui dati. Vale a dire che i metadati contengono informazioni su un dato. Ad esempio, se possiedo un'auto, ho una serie di informazioni sull'auto ma che non fa parte dell'auto stessa. Informazioni quali numero di registrazione, marca, modello, anno di produzione, informazioni sull'assicurazione e così via. Tutte queste informazioni sono denominate collettivamente metadati. Nei file system Linux e UNIX i metadati esistono a più livelli dell'organizzazione, come vedrai.
Il superblocco è essenzialmente metadati del file system e definisce il tipo, la dimensione, lo stato e le informazioni del file system su altre strutture di metadati (metadati di metadati). Il superblocco è molto critico per il file system e pertanto viene archiviato in più copie ridondanti per ciascun file system. Il superblocco è una struttura di metadati molto "di alto livello" per il file system. Ad esempio, se il superblocco di una partizione, / var, diventa corrotto, il file system in questione (/ var) non può essere montato dal sistema operativo. Comunemente in questo evento, è necessario eseguirefsck
che selezionerà automaticamente una copia alternativa di backup del superblocco e tenterà di ripristinare il file system. Le copie di backup stesse sono archiviate in gruppi di blocchi sparsi nel file system con il primo archiviato con un offset di 1 blocco dall'inizio della partizione. Ciò è importante nel caso in cui sia necessario un ripristino manuale. È possibile visualizzare informazioni sui backup di superblock con il comando dumpe2fs /dev/foo | grep -i superblock
che è utile in caso di un tentativo di recupero manuale. Supponiamo che il comando dumpe2fs emetta la linea Backup superblock at 163840, Group descriptors at 163841-163841
. Siamo in grado di utilizzare queste informazioni, e ulteriori conoscenze sulla struttura del file system, per tentare di utilizzare questo backup superblocco: /sbin/fsck.ext3 -b 163840 -B 1024 /dev/foo
. Si noti che per questo esempio ho assunto una dimensione di blocco di 1024 byte.
Esiste un inode in o su un file system e rappresenta i metadati relativi a un file. Per chiarezza, tutti gli oggetti in un sistema Linux o UNIX sono file; file, directory, dispositivi e così via. Si noti che, tra i metadati contenuti in un inode, non esiste un nome file come gli umani lo pensano, questo sarà importante in seguito. Un inode contiene essenzialmente informazioni sulla proprietà (utente, gruppo), modalità di accesso (lettura, scrittura, autorizzazioni di esecuzione) e tipo di file.
Una dentatura è la colla che tiene insieme inode e file mettendo in relazione i numeri di inode con i nomi dei file. Anche i dentry svolgono un ruolo nella memorizzazione nella directory che, idealmente, tiene a portata di mano i file più utilizzati per un accesso più rapido. La traversata del file system è un altro aspetto dell'odontoiatria poiché mantiene una relazione tra le directory e i loro file.
Un file , oltre ad essere quello che gli umani pensano in genere quando viene presentato con la parola, è in realtà solo un blocco di dati arbitrari logicamente correlati. Comparativamente molto noioso considerando tutto il lavoro svolto (sopra) per tenerne traccia.
Mi rendo pienamente conto che alcune frasi non forniscono una spiegazione completa di nessuno di questi concetti, quindi non esitate a chiedere ulteriori dettagli quando e dove necessario.