GNU/Linux >> Linux Esercitazione >  >> Linux

Un Superblock, Inode, Dentry e un file?

Dall'articolo Anatomy of the Linux file system di M. Tim Jones, ho letto che Linux vede tutti i file system dalla prospettiva di un insieme comune di oggetti e questi oggetti sono superblock , inode , dentatura e file . Anche se il resto del paragrafo spiega quanto sopra, non ero molto a mio agio con quella spiegazione.

Qualcuno potrebbe spiegarmi questi termini?

Risposta accettata:

Innanzitutto, e mi rendo conto che non era uno dei termini della tua domanda, devi capire i metadati . In modo succinto e rubato 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 fanno parte dell'auto stessa. Informazioni come numero di registrazione, marca, modello, anno di produzione, informazioni sull'assicurazione e così via. Tutte queste informazioni sono indicate collettivamente come metadati. Nei file system Linux e UNIX i metadati esistono a più livelli di 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 dei 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 di "alto livello" per il file system. Ad esempio, se il superblocco di una partizione, /var, viene danneggiato, il file system in questione (/var) non può essere montato dal sistema operativo. Di solito in questo caso è necessario eseguire fsck che selezionerà automaticamente una copia di backup alternativa del superblocco e tenterà di ripristinare il file system. Le stesse copie di backup vengono archiviate in gruppi di blocchi sparsi attraverso il file system con la prima archiviata con un offset di 1 blocco dall'inizio della partizione. Questo è importante nel caso in cui sia necessario un ripristino manuale. È possibile visualizzare informazioni sui backup del superblocco ext2/ext3/ext4 con il comando dumpe2fs /dev/foo | grep -i superblock utile in caso di tentativo di ripristino manuale. Supponiamo che il comando dumpe2fs restituisca la riga Backup superblock at 163840, Group descriptors at 163841-163841 . Possiamo utilizzare queste informazioni e ulteriori conoscenze sulla struttura del file system per tentare di utilizzare questo backup del superblocco:/sbin/fsck.ext3 -b 163840 -B 1024 /dev/foo . Tieni presente che ho assunto una dimensione del blocco di 1024 byte per questo esempio.

Un inode esiste in o su un file system e rappresenta i metadati su un file. Per chiarezza, tutti gli oggetti in un sistema Linux o UNIX sono file; file, directory, dispositivi effettivi e così via. Tieni presente che, tra i metadati contenuti in un inode, non esiste un nome di file come lo pensano gli esseri umani, questo sarà importante in seguito. Un inode contiene essenzialmente informazioni sulla proprietà (utente, gruppo), modalità di accesso (permessi di lettura, scrittura, esecuzione), tipo di file e blocchi di dati con il contenuto del file.

Correlati:come eseguire l'output di Tail -f con i colori utilizzando solo Awk e mostrare il resto dell'output?

Una dentatura è il collante che tiene insieme inode e file mettendo in relazione i numeri di inode con i nomi dei file. Le dentature svolgono anche un ruolo nella memorizzazione nella cache delle directory che, idealmente, tiene a portata di mano i file utilizzati più di frequente per un accesso più rapido. L'attraversamento del file system è un altro aspetto della dentry in quanto mantiene una relazione tra le directory e i relativi file.

Un file , oltre ad essere ciò a cui gli esseri umani in genere pensano quando viene presentato con la parola, è in realtà solo un blocco di dati arbitrari logicamente correlati. Relativamente molto noioso considerando tutto il lavoro svolto (sopra) per tenerne traccia.

Mi rendo perfettamente conto che alcune frasi non forniscono una spiegazione completa di nessuno di questi concetti, quindi sentiti libero di chiedere ulteriori dettagli quando e dove necessario.


Linux
  1. Come aumentare il numero di inode del disco in Linux

  2. Come creare e montare il file system Btrfs (spiegato con esempi)

  3. Che cos'è Soft Links e Hard Links nel file system Linux

  4. Come creare e montare filesystem in Linux

  5. Come creare e interrogare un file system BTRFS

Introduzione al file system Linux

5 modi per trovare una descrizione e una posizione di un "comando binario" sul file system

Crea ed estendi il filesystem XFS basato su LVM

Che cos'è EFS (Elastic File System) in AWS e come utilizzarlo

Come controllare e riparare un file system in RHEL Linux

Come controllare l'utilizzo di Inode da cPanel e dalla riga di comando?