O que é um inode?


Comandos intermediários do GNU/Linux
INODES
Inodes são estruturas a qual são responsável por conter informações básicas sobre arquivos e pastas, como permissões de acesso, identificação dos donos dos arquivos, data e hora do último acesso e alterações, tamanho e o mais importante, os famosos ponteiros para o arquivo em si. De modo geral, o INODE é a identidade de um arquivo ou diretório, é uma identificação única para ele.
Ao ler qualquer arquivo ou diretório, o kernel trata de ler primeiramente o INODE do arquivo para depois chegar no arquivo ou diretório. Ao ler essa estrutura, são checadas as permissões e em caso de negada é retornada a famosa mensagem de “Permission denied”, caso contrário o procedimento segue normalmente.
Irei agora trabalhar um pouco em cima desses conceitos. Para visualizar os inodes dos seus arquivos, basta usar o parâmetro -i no comando lspara ver os inodes de cada um.Links simbólicos e hard links
Começarei então executando o seguinte comando:
1
Aqui tenho alguns arquivos e os números antes do nome é o inode de cada um. Para aproveitar esse estudo irei comentar novamente sobre  os conceitos de link simbólico e hard link que são comentários ao usar o comando ln para a criação de links.Quando uso o comando “ln -s” estarei criando um link simbólico para um determinado arquivo. Esse tipo de link segue os padrões Windows, que é criado um tipo de arquivo especial que contém somente o caminho ou o nome do arquivo original. Veja o exemplo.
2
Com isso terei uma listagem mais detalhada dos arquivos.
O que irei fazer agora é criar um link simbólico para o arquivo ntp-3.pdf que ira se chamar de ntp-3.pdf.link, para isso usei o seguinte comando:
3
ln -s ntp-3.pdf ntp-3.pdf.link
4
ls -lhi
Terei o seguinte resultado, de início verei que a letra “l” está definida no arquivo ntp-3.pdf.link, indicando que ele é um link. Mas agora vem o que já não é surpresa pra mim, o tamanho desse link são 9 bytes, ou seja, o tamanho do nome do arquivo que criei o link.
Outro detalhe importante é que esse link possui um inode diferente do arquivo original, ou seja, trata-se oficialmente de um arquivo diferente, mas que serve como “apontador” para aquele que contém descrito dentro dele. Agora irei criar um hard link usando o seguinte comando:
5
ln ntp3.pdf ntp-3.pdf.hard
6
ls -lhi
Observe agora que o link ntp-3.pdf.hard e o arquivo original ntp-3pdf possuem o mesmo inode, então trata-se exatamente do mesmo arquivo.Com isso irão possuir AS MESMAS PERMISSÕES, O MESMO PROPRIETÁRIO, O MESMO GRUPO, pois essas informação são guardadas no INODE.

Importante saber
Utilidades para o Hard Link
1 – Criar cópias de arquivos comuns para usuários, sem revelar (diretamente) onde esse arquivo está instalado
2 – Diminuir a quantidade de INODES no disco
3 – Acelerar o acesso ao arquivo (como o link possui o mesmo INODE, o gerenciador de arquivos não necessita fazer uma consula ao INODE do link simbolico, consultar o HD para saber para onde ele aponta, para só então acessar o arquivo verdadeiro, esse acesso é feito diretamente)
4 – Backup dos ponteiros dos arquivos (Talvez essa seja uma das principais utilidades para os HARD LINKS, pois um arquivo só é perdido quando não se existe nenhum ponteiro, nenhum meio de se chegar até ele. Quando vc cria uma pasta de backup contendo apenas HARD LINK para os arquivos originais, vc terá uma “cópia do ponteiro do arquivo”, o que serve como “backup de onde o arquivo está no HD”, para o caso de uma remoção acidental. ESSE BACKUP NÃO COPIA O CONTEÚDO DO ARQUIVO, SOMENTE O LOCAL ONDE O ARQUIVO SE ENCONTRA NO HD)

Pra finalizar, vale mais algumas curiosidades sobre inode, por exemplo, formatação rápida que trata apenas de “apagar” os índices da partição, pois bem, os inodes estão nessa jogada, pois o que ocorre é a “quebra” dos ponteiros para os arquivos, indicando que estão livres, ou seja, espaço disponível em disco, mesmo se os dados ainda estarem gravados no HD.

Outra curiosidade é que os inodes possuem um limite, por isso é possível “lotar” um HD, esgotando os inodes disponíveis, criando “vários” arquivos pequenos.

Outro detalhe importante é que normalmente na formatação de uma partição, quando estou por exemplo instalando um novo sistema, ele questiona o tamanho para os nossos inodes (4k – 2k – 1k), que normalmente defino para 4k, levando em conta que estou formatando como ReiserFS.

Isso implica justamente na quantidade de inodes disponíveis e no limite do tamanho dos arquivos e partições que eles poderão trabalhar, se eu usar o padrão de 4k, terei um limite de 2T para arquivos e de 16T para a partição, agora se usar 1k para inode, terei o limite do tamanho de arquivo para 16G e da partição para 2T.


4 comentários sobre “O que é um inode?

Os comentários estão desativados.