Link simbólico desativado renomeando o arquivo vinculado original

0

Aprendi que, diferentemente do HardLink, o SoftLink armazena informações sobre o arquivo original no disco rígido. E fiz teste1 (arquivo original) e test2 (softlink do test1) E então eu mv (renomeado) test1 para test3 Então o teste de softlink2 - > test1 ficou vermelho e desativado. Eu pensei que o Linking usasse o número do Inode e o test1 e o test3 tivessem o mesmo número de Inode, mas o SoftLink não funcionou.

Aqui está a pergunta: que informação o softlink requer para ativar o Link ??

    
por TaeHyeong Kim 14.03.2018 / 03:57

2 respostas

4

Um link, também conhecido como link simbólico , rastreia um arquivo pelo seu nome, não por seu inode. Por causa disso, o arquivo ao qual você está vinculado pode estar localizado em qualquer lugar, não apenas no mesmo sistema de arquivos (ao contrário dos hard links); Outra característica é que os soft links podem apontar para outros soft links, até um máximo. O link flexível é essencialmente um arquivo especial que armazena o caminho de destino, mas o Linux conhece esse tipo de arquivo e lê o caminho "interno" e tenta acessar o arquivo, usando as permissões no arquivo de destino. Os programas podem pedir ao Linux para não seguir o link, mas dar informações sobre o próprio arquivo (que é como ls pode mostrar a você qual é o caminho de destino); no entanto, a maioria dos programas só se preocupa com o local para o qual o link aponta.

Então, para responder à sua pergunta, um link flexível contém todas as informações necessárias dentro de si. O sistema operacional faz todo o trabalho de rastreamento para o qual o link aponta.

    
por 14.03.2018 / 04:53
0

Links suaves são vinculados apenas ao nome do arquivo e não ao número do inode. Se o arquivo original for renomeado, o link flexível será quebrado e o link agora não saberá para onde está apontando. Postando esta foto de uma das respostas (que não me lembro, salvei esta foto no meu telefone há muito tempo):

Se o arquivo original for renomeado, my-soft-link apontará para um nome de arquivo que não existe mais e, portanto, ficará vermelho quando o link ou o ponteiro forem quebrados. Nesse caso, my-soft-link seria semelhante a um ponteiro pendente. Aponta para um arquivo que não existe.

Por outro lado, não existe esse problema em links físicos, pois os links físicos apontam diretamente para o número do inode. Portanto, se o arquivo original for renomeado, my-hard-link não se tornará um ponteiro pendente.

Assim, para reativar seu link simbólico, você pode atualizar seu link simbólico apontando para o arquivo renomeado.

ln -sfn test3 test2
    
por 15.03.2018 / 16:27