Em sistemas de arquivos no estilo Unix, tudo o que o sistema conhece sobre um arquivo (exceto seu nome) é armazenado no inode ou em um local apontado pelo inode. Isso inclui seu conteúdo, propriedade, datas de modificação e permissões. Uma entrada de diretório Unix é apenas um nome e um ponteiro para o inode e é usada apenas quando um processo está abrindo um arquivo. Quando o arquivo estiver aberto, a entrada do diretório é irrelevante.
O que isso significa é que é possível excluir um arquivo que está aberto no momento sem atrapalhar os processos que estão lendo ou gravando esse arquivo. Excluir o arquivo simplesmente remove a entrada do diretório. O inode permanece até que todos os processos tenham fechado o arquivo, ponto no qual o inode e todos os outros dados do arquivo são excluídos (ou pelo menos marcados como não mais em uso e disponíveis para recuperação). Isso é tratado por um campo, chamado "contagem de links", parte da estrutura do inode.
Portanto, se você quiser atualizar uma biblioteca compartilhada que esteja sendo usada por um programa em execução, basta excluir o arquivo da biblioteca. Como o programa já tem o arquivo aberto, ele não será afetado por isso. Então você instala a nova versão da biblioteca como um novo arquivo (que recebe um novo inode).