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úsicas, textos, vídeos e outros arquivos multimídia, também possuem dados adicionais associados a eles, chamados metadados.
O que são inodes no Linux? Entradas de inode são a base do Sistema de arquivos Linux. Eles gerenciam os metadados sobre um arquivo e são partes essenciais do funcionamento interno do Linux.
Qual é a estrutura de um sistema de arquivos?
Um sistema de arquivos é dividido em duas partes - blocos de dados e inodes. O número de blocos é fixo depois de criado e não pode ser alterado.
O nome, caminho, local, links e outros atributos de arquivo não estão localizados no diretório. Diretórios são simplesmente tabelas que contêm os nomes dos arquivos com o número de inode correspondente.
Você pode criar um link físico resultando em mais de um nome para o mesmo arquivo. Quando você cria um link físico, ele também cria um novo nome na tabela com o inode, mas não move o arquivo.
Se você mover um arquivo grande, levará muito tempo. É mais eficiente criar a entrada de nome em um novo diretório e excluir a entrada antiga. Você também pode renomear arquivos da mesma maneira.
In_content_1 all: [300x250] / dfp: [640x360]->A parte superior da hierarquia é o próprio sistema de arquivos. Dentro do sistema de arquivos estão os nomes dos arquivos. Os nomes dos arquivos são vinculados aos inodes. Os inodes são vinculados aos dados físicos.
O que são inodes no Linux?
Um inode é uma estrutura de dados. Ele define um arquivo ou diretório no sistema de arquivos e é armazenado na entrada do diretório. Os inodes apontam para blocos que compõem um arquivo. O inode contém todos os dados administrativos necessários para ler um arquivo. O metadados de cada arquivo é armazenado em inodes 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 em que ele existe para puxar o inode correspondente. Isso fornece ao sistema os dados e as informações do arquivo necessário para executar processos ou operações.
Os inodes geralmente estão localizados perto dos 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 possuem um nome de arquivo e um número de inode. Os usuários podem recuperar os metadados de um arquivo fazendo referência ao número do inode.
Os nomes dos arquivos e os números dos inodes são armazenados em um índice separado e vinculados ao inode. Você pode vincular aos metadados que representam o arquivo. É possível ter vários nomes de arquivos vinculados a um dado ou inode, como você pode ver na imagem abaixo.
Qual é o número do inode?
Todo inode na estrutura Linux possui um número único identificado com ele. É também chamado de número de índice e possui os seguintes atributos:
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 que aparecem na coluna da extrema esquerda.
Como os inodes funcionam?
Quando você cria um novo arquivo, é atribuído um nome de arquivo e um número de inode. Ambos são armazenados como entradas em um diretório. A execução do comando ls (ls -li) mostra uma lista dos nomes dos arquivos e dos números de inode armazenados em um diretório.
Use o comando abaixo para listar as informações do inode para cada sistema de arquivos.
df -hi
Quantos inodes você está usando?
Uma maneira de ficar sem espaço em um sistema de arquivos é usar todos os seus inodes. Mesmo se você tiver espaço livre suficiente no disco, não poderá criar novos arquivos.
O uso de todos os inodes também pode resultar na parada repentina do sistema. Para ver uma lista de estatísticas sobre o uso de inode, como usado, livre e porcentagem usado, digite o seguinte comando:
sudo df -ih
Formas adicionais de uso de inodes
A maneira como os inodes funcionam no Linux torna impossível ter números de inodes conflitantes. Não é possível criar um link físico entre diferentes sistemas de arquivos. No entanto, você pode usar links simples em diferentes sistemas de arquivos. Você pode excluir os arquivos originais e ainda ter os dados disponíveis através de um link físico.
Ao excluir um arquivo, tudo o que você fez foi remover um dos nomes que aponta para um número de inode específico. Os dados permanecerão até você excluir todos os nomes associados ao mesmo número de inode. Os sistemas Linux são atualizados sem a necessidade de uma reinicialização do sistema em grande parte devido à maneira como os inodes funcionam.
Um processo pode usar um arquivo de biblioteca ao mesmo tempo, outro processo substitui o mesmo arquivo por uma versão atualizada mais recente e cria um novo inode. O processo em 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 inodes, mas representam um componente fundamental das estruturas de arquivos do Linux.