Cosa sono gli inode in Linux e come vengono utilizzati?

Tutto in Linux è considerato un file per mantenere la coerenza. Ciò include dispositivi hardware, stampanti, directory e processi. File normali come musica, testo, video e altri file multimediali hanno anche dati aggiuntivi ad essi associati chiamati metadati.

Cosa sono gli Inode(Inodes) in Linux ? Le voci di inode(Inode) sono la base del file system di Linux(Linux file system) . Gestiscono i metadati su un file e sono parti essenziali del funzionamento interno di Linux

Qual è la struttura di un file system?(What Is The Structure Of a File System?)

Un file system è diviso in due parti: blocchi di dati e inode. Il numero di blocchi è fisso una volta creati e non può essere modificato.

Il nome, il percorso, la posizione, i collegamenti e altri attributi di file non si trovano nella directory. Le directory sono semplicemente tabelle che contengono i nomi dei file con il numero di inode corrispondente.

È possibile creare un collegamento reale con più di un nome per lo stesso file. Quando crei un collegamento reale, crea anche un nuovo nome nella tabella con l'inode ma non sposta il file.

Se dovessi spostare un file di grandi dimensioni, ci vorrebbe molto tempo. È più efficiente creare la voce del nome in una nuova directory ed eliminare la voce precedente. Puoi anche rinominare i file allo stesso modo.

La parte superiore della gerarchia è il file system stesso. All'interno del file system ci sono i nomi dei file. I nomi dei file si collegano agli inode. Gli inode si collegano ai dati fisici.

Cosa sono gli inode in Linux?(What Are Inodes In Linux?)

Un inode è una struttura dati. Definisce un file o una directory nel file system e viene memorizzato nella voce della directory. Gli inode puntano ai blocchi che compongono un file. L'inode contiene tutti i dati amministrativi necessari per leggere un file. I metadati di (metadata)ogni(Every) file sono archiviati in inode in una struttura di tabella.

Quando si utilizza un programma che fa riferimento a un file per nome, il sistema cercherà nel file di voce della directory in cui esiste per richiamare l'inode corrispondente. Ciò fornisce al sistema i dati e le informazioni sui file necessari per eseguire processi o operazioni.

Gli inode si trovano solitamente vicino all'inizio di una partizione(beginning of a partition) . Memorizzano tutte le informazioni associate a un file tranne il nome del file ei dati effettivi. Tutti i file in qualsiasi directory Linux hanno un nome file e un numero di inode. Gli utenti possono recuperare i metadati per un file facendo riferimento al numero di inode.

I nomi dei file(File) e i numeri di inode sono memorizzati in un indice separato e si collegano all'inode. Puoi collegarti ai metadati che rappresentano il file. È possibile avere più nomi di file che si collegano a un dato o a un inode, come puoi vedere nell'immagine qui sotto.

Qual è il numero di inode?(What Is The Inode Number?)

Ogni inode nella struttura Linux ha un numero univoco identificato con esso. Viene anche chiamato numero di indice e ha i seguenti attributi:

  • Misurare
  • Proprietario
  • Appuntamento
  • Permessi e controllo accessi
  • Posizione sul disco
  • Tipi di file
  • Numero di collegamenti
  • Metadati aggiuntivi sul file

Per controllare l'elenco dei numeri di inode, utilizzare il comando seguente:

ls -i

Lo screenshot seguente mostra una directory con i numeri di inode che appaiono nella colonna all'estrema sinistra.

Come funzionano gli inode?(How Do Inodes Work?)

Quando crei un nuovo file, gli viene assegnato un nome file e un numero di inode. Entrambi sono memorizzati come voci in una directory. L'esecuzione del comando ls (ls -li ) ti mostrerà un elenco dei nomi dei file e dei numeri di inode che sono memorizzati in una directory.

Utilizzare il comando seguente per elencare le informazioni sugli inode per ciascun file system.

df -ciao(df -hi)

Quanti inode stai usando?

Un modo per esaurire lo spazio in un filesystem è utilizzare tutti i tuoi inode. Anche se hai abbastanza spazio libero sul tuo disco, non sarai in grado di creare nuovi file.

L'esaurimento di tutti gli inode può anche causare l'arresto improvviso del sistema. Per visualizzare un elenco di statistiche sull'utilizzo dell'inode come usato, gratuito e percentuale utilizzata, digitare il comando seguente:

sudo df -ih

Ulteriori modi in cui vengono utilizzati gli inode(Additional Ways Inodes Are Used)

Il modo in cui funzionano gli inode in Linux rende impossibile avere numeri di inode in conflitto. Non è possibile creare un collegamento fisico tra diversi file system. Tuttavia, è possibile utilizzare i collegamenti software su diversi file system. È possibile eliminare i file originali e avere ancora i dati disponibili tramite un collegamento fisico.

Eliminando un file, tutto ciò che hai fatto è rimuovere uno dei nomi che puntano a un numero di inode specifico. I dati rimarranno fino a quando non eliminerai tutti i nomi associati allo stesso numero di inode. I sistemi Linux(Linux) si aggiornano senza richiedere il riavvio del sistema in gran parte a causa del modo in cui funzionano gli inode. 

Un processo può utilizzare un file di libreria nello stesso momento in cui un altro processo sostituisce lo stesso file con una versione aggiornata più recente e crea un nuovo inode. Il processo in esecuzione continua a utilizzare il vecchio file. La prossima volta che utilizzerai lo stesso processo, utilizzerà la nuova versione.

Gli utenti non interagiscono direttamente con gli inode, ma rappresentano una componente fondamentale delle strutture dei file Linux .



About the author

Sono un ingegnere del software con oltre 10 anni di esperienza nel lavoro su Apple iOS e dispositivi edge. La mia esperienza nell'ingegneria hardware mi ha appassionato nell'assicurarmi che i dispositivi dei nostri clienti siano il più affidabili e fluidi possibile. Ho scritto codice negli ultimi anni e ho imparato a usare Git, Vim e Node.js.



Related posts