Dois arquivos com link físico compartilham o inode

1

Estou trabalhando em uma tarefa para o meu curso universitário, e uma das perguntas pede o comando usado para criar um link físico de um arquivo para outro, de modo que eles apontem para o mesmo inode. Estávamos vinculados a um arquivo .pdf, mas isso não explica o processo. É diferente de criar um link rígido padrão?

    
por Brad Boisen 16.09.2015 / 20:51

2 respostas

4

Links físicos não estão "entre" os arquivos, há um inode , com > 1 entradas em vários diretórios apontando para esse inode. ls -i deve mostrar os inodes, depois experimentar com ln (hard link) e ln -s (soft ou simbólico):

$ touch afile
$ ln -s afile symbolic
$ ln afile bfile
$ ls -1 -i afile symbolic bfile
7602191 afile
7602191 bfile
7602204 symbolic
$ readlink symbolic
afile
$
    
por 16.09.2015 / 20:54
2

Não há nada chamado inode que é concedido para existir.

O que as pessoas geralmente acreditam sobre o que é inode é um detalhe de implementação do sistema de arquivos UNIXv6 / UNIXv7 que foi reimplementado no UFS. Observe que você não pode confiar nos detalhes da implementação.

Não há concessão de que haja inode structure , o que é concedido para existir é apenas um inode number que pode ser usado para identificar um arquivo específico.

Quando você faz um "link físico" de um arquivo, tudo o que o sistema faz é organizar uma entrada de diretório de forma a obter o mesmo número de inode ao emitir a chamada do sistema stat () para todos os arquivos vinculados.

Em sistemas de arquivos que ainda usam estruturas de inode, isso é feito colocando as entradas de diretório na mesma estrutura de inode.

Em sistemas de arquivos modernos que usam copy on write e, portanto, foram derivados do meu documento WOFS de 1991 (o ZFS é um sistema de arquivos), não há estrutura inode.

Meu WOFS usa gnodes com um número de gnode que é substituído por um novo número com cada operação de gravação no arquivo (já que há um novo gnode gravado em um local diferente nesse caso). No entanto, existe um número adicional de inode que é mantido estável ao longo do tempo. No WOFS, um "hard link" é implementado como um link simbólico relativo ao inode, enquanto um "symlink" no WOFS é um link simbólico relativo ao nome. Observe que, para um arquivo de link fixo com 5 nomes que apontam para o mesmo arquivo, existem 5 estruturas de gnode.

O ZFS usa uma mistura do conceito inode e gnode. O ZFS como um sistema de arquivos moderno, no entanto, não funciona como as coisas funcionavam na década de 1970.

    
por 16.09.2015 / 23:01