O que são inodos no Linux e como eles são usados?

O que são inodos no Linux e como eles são usados?

Tudo no Linux é considerado um arquivo para manter a consistência. Isso inclui dispositivos de hardware, impressoras, diretórios e processos. Arquivos regulares, como música, texto, vídeos e outros arquivos multimídia, também têm dados adicionais associados a eles chamados metadados.

O que são inodos no Linux? Entradas de inode são a base do sistema de arquivos Linux. Eles gerenciam os metadados sobre um arquivo e são peças essenciais do funcionamento interno do Linux. 

Índice

    O que são inodos no Linux?

    Um inode é uma estrutura de dados. Ele define um arquivo ou um diretório no sistema de arquivos e é armazenado na entrada do diretório. Inodes apontam para blocos que compõem um arquivo. O inode contém todos os dados administrativos necessários para ler um arquivo. Os metadados de cada arquivo são armazenados em inodos em uma estrutura de tabela.

    Ao usar um programa que se refere a um arquivo pelo nome, o sistema procurará no arquivo de entrada do diretório onde existe para puxar o inode correspondente. Isso fornece ao seu sistema os dados e informações de arquivo necessários para executar processos ou operações.

    Os inodos geralmente estão localizados perto do início de uma partição. Eles armazenam todas as informações associadas a um arquivo, exceto o nome do arquivo e os dados reais.   Todos os arquivos em qualquer diretório Linux têm um nome de arquivo e um número de inode. Os usuários podem recuperar os metadados para um arquivo referenciando o número do inode.

    Nomes de arquivos e números de inode são armazenados em um índice separado e link para o inode. Você pode vincular aos metadados que representam o arquivo. É possível ter vários nomes de arquivos que vinculam a uma parte de dados ou inode, como você pode ver na imagem abaixo.

    Qual é o número do inode?

    Cada inode na estrutura Linux tem um número único identificado com ele. Também é chamado de número de índice e possui os seguintes atributos:

    • Tamanho
    • Proprietário
    • Data hora
    • Permissões e controle de acesso
    • Localização no disco
    • Tipos de arquivo
    • Número de links
    • Metadados adicionais sobre o arquivo

    Para verificar a lista de números de inode, use o seguinte comando:

    LS -I

    A captura de tela abaixo mostra um diretório com números de inode aparecendo na coluna de extrema esquerda.

    Fonte: Linux.com

    Como os inodos funcionam?

    Quando você cria um novo arquivo, ele recebe um nome de arquivo e número de inode. Ambos são armazenados como entradas em um diretório. Executando o comando ls (ls -li) mostrará uma lista dos nomes de arquivos e números de inode armazenados em um diretório.

    Use o comando abaixo para listar informações de inode para cada sistema de arquivos.

    df -hi

    Quantos inodos você está usando?

    Uma maneira de ficar sem espaço em um sistema de arquivos é usar todos os seus inodos. Mesmo se você tiver espaço livre suficiente em seu disco, não poderá criar novos arquivos.

    Usando todos os inodos também pode resultar em seu sistema parar de repente. Para ver uma lista de estatísticas sobre o uso de inode, como usado, livre e porcentagem, digite o seguinte comando:

    sudo df -ih

    Maneiras adicionais inodes são usadas

    A maneira como os inodos funcionam no Linux tornam impossível ter números de inode conflitantes. Não é possível criar um link rígido em diferentes sistemas de arquivos. No entanto, você pode usar links suaves em diferentes sistemas de arquivos. Você pode excluir os arquivos originais e ainda ter os dados disponíveis através de um link rígido.

    Ao excluir um arquivo, tudo o que você fez é remover um dos nomes apontando para um número de inode específico. Os dados permanecerão até que você exclua todos os nomes associados ao mesmo número de inode. Atualização de sistemas Linux sem exigir uma reinicialização do sistema em grande parte devido à maneira como os inodos funcionam. 

    Um processo pode usar um arquivo de biblioteca ao mesmo tempo, outro processo substitui o mesmo arquivo por uma versão mais recente e cria um novo inode. O processo de execução continua usando o arquivo antigo. Na próxima vez que você usar o mesmo processo, ele usará a nova versão.

    Os usuários não interagem diretamente com os inodos, mas representam um componente fundamental das estruturas de arquivos Linux.