Por que os arquivos às vezes mudam, mas não o inode ou vice-versa?

0

Quando um arquivo é atualizado, o inode correspondente é atualizado. Mas às vezes ocorre a seguinte condição

  1. o arquivo é o mesmo e o inode é novo
  2. o arquivo é alterado, mas o inode correspondente é mais antigo

Por quê?

    
por Abhishek Inamdar 08.02.2017 / 18:02

1 resposta

2

A sua pergunta é um pouco incerta, mas vou tentar ...

+++

Se você editar um arquivo com um editor e tal, geralmente um novo arquivo (com um novo inode) será criado - mas contendo os mesmos dados / editados. O arquivo original (com inode original) pode ser mantido como backup.

As re-instruções do shell ( > e >> ), por outro lado, reutilizam o inode, então o inode permanece o mesmo depois que você sobrescreve / adiciona o arquivo. (A desvantagem é que o conteúdo antigo normalmente será substituído, portanto, não há como resgatar o conteúdo antigo se você o tiver feito por engano.)

+++

Não há garantia de que os inodes sejam usados "em ordem" - com o menor inodo possível usado primeiro. Nem o inode "mais antigo" (primeiro excluído) necessariamente será usado antes de um inode "mais novo". Quando você apaga um arquivo, os recursos liberados são adicionados a duas listas que o sistema de arquivos mantém - um com blocos livres (ou seja, espaço no disco) e outro com inodes livres. Essas listas não estão em nenhuma ordem específica - os recursos liberados são adicionados apenas quando os arquivos são excluídos.

Geralmente, essas duas listas são mantidas em "blocos" - de modo que vários inodes ou vários blocos livres são agrupados livremente. Ao precisar de recursos para um novo arquivo, o sistema de arquivos geralmente terminará usando os recursos do "bloco", antes de passar para o próximo.

Assim resumido; você não sabe em qual ordem um inode ou um bloco de espaço é reutilizado - ele não é classificado por inode-number nem na ordem em que foi excluído. Nem todos os inodes ou todos os espaços têm que "esperar" igualmente antes de serem reutilizados - alguns serão usados quase que imediatamente, enquanto outros não serão reutilizados por um longo tempo (isso dependerá de qual "bloco" na lista terminou em). .

    
por 08.02.2017 / 18:33

Tags