Há alguma pegadinha comum sobre symlink?

2

Parte da minha estratégia de migração para o Amazon EC2 para nossos servidores envolve o uso de links simbólicos para manter instalações e arquivos em seus locais "padrão" nos servidores, mas o armazenamento real de arquivos de logs, dados etc. no armazenamento do EBS , por persistência. Depois que o servidor é iniciado, eu executo scripts que criam links simbólicos para os arquivos de configuração e dados armazenados no EBS para 'converter' o servidor para a configuração que eu preciso.

Desde que eu não sou um verdadeiro administrador de sistemas Linux, estou nervoso sobre qualquer tipo de pegadinhas que eu não conheço usando symlinks. Coisas como quebrar pacotes de software ou outras dificuldades em que os aplicativos podem não gostar de usar links simbólicos são o que me preocupa.

Existe alguma armadilha comum usando links simbólicos ou eles são bastante infalíveis?

    
por ahanson 14.07.2009 / 18:21

3 respostas

4

Se você é apenas um diretório de links simbólicos, em vez de arquivos, eles devem se comportar de maneira totalmente transparente.

O único problema que você pode encontrar são alguns aplicativos que resolvem e continuam a se referir ao caminho real do link. O que pode causar problemas se você optar por alterar a origem do link em um estágio posterior.

    
por 14.07.2009 / 18:30
2

Sim, fique longe de links "hard", pois você pode facilmente criar um caos com eles. Os links simbólicos strongs são apenas uma "reapresentação" do mesmo arquivo em uma parte diferente do sistema de arquivos, ou seja, ele literalmente cria uma segunda entrada na estrutura de diretórios do sistema de arquivos com um link direto para os dados do arquivo. Eles têm seus usos, mas, em geral, é melhor você ter os links simbólicos "Soft", que são semelhantes aos atalhos do Windows (embora muito diferentes na implementação), pois são apenas um ponteiro para o arquivo original. Esta é sua melhor aposta.

A exclusão de um link simbólico suave exclui o link. Apagar um link simbólico pode deletar o arquivo se você não for cuidadoso.

    
por 14.07.2009 / 18:29
1

Hard links, como alguém apontou, fazem as segundas entradas no sistema de arquivos. Você só pode usar isso na mesma partição e para arquivos, não diretórios. Se você excluir todos os links para um arquivo, o arquivo será excluído.

Soft links, ou seja, links simbólicos, basta fazer uma entrada no diretório que permite ver facilmente, ONE DIRECTION, onde o arquivo real está armazenado.

O que você não consegue é qualquer conhecimento do outro lado que vários links simbólicos apontam para um arquivo. Se você mover ou excluir o arquivo, todos os links simbólicos serão quebrados.

Usado com moderação, os links simbólicos estão bem. Você deve pensar seriamente se achar que um link simbólico aponta para um symlink que aponta para outro link simbólico antes de chegar ao arquivo real. Você provavelmente está fazendo algo errado então ...

    
por 14.07.2009 / 21:35