não pode criar link simbólico no CentOS 5.6 - Arquivo existe erro

1

Estou tentando configurar um link simbólico na minha máquina do CentOS 5.6 para apontar dev_crmpicco/ para ~/vhosts/dev/dev_crmpicco/web/

Estou usando o seguinte comando:

[crmpicco@devel dev]$ ln -s ~/vhosts/dev/dev_crmpicco/web/ dev_crmpicco/

No entanto, recebo este erro:

ln: creating symbolic link 'dev_crmpicco/web' to '/home/crmpicco/vhosts/dev/dev_crmpicco/web/': File exists

Estou ciente de que o arquivo existe, pois quero que dev_crmpicco/ aponte para ele.

Basicamente, meu DOCROOT costumava estar em dev_crmpicco/ , mas agora tudo foi movido para um diretório web/ e eu não quero ter que mudar a configuração do Apache e prefiro fazê-lo um link simbólico, se possível.

    
por crmpicco 28.06.2013 / 13:31

2 respostas

1

Você deve verificar se dev_crmpicco/web existe de uma tentativa anterior de vincular (ou de copiar em vez de mover). Você teria que remover isso se existir (seja arquivo, link ou diretório), pois é isso que o comando tenta criar.

Após verificar essa tentativa:

ln -s ~/vhosts/dev/dev_crmpicco/web/ dev_crmpicco

sem o / à direita, como sugerido por @Johan.

    
por 28.06.2013 / 13:38
0

Se você especificar um diretório explicitamente como o destino (por exemplo, fornecendo o trailing / after dev_crmpicco/ , como no seu exemplo, o link será criado com o mesmo nome (web neste caso) dentro esse diretório (e um diretório ausente é um erro nesta situação)

ln -s path/target link/

criará

link/target -> path/target

Não forneça a barra ao final se você quiser que dev_crmpicco seja o link para o original. Nesse caso, o link será nomeado dev_crmpicco e, se existir um arquivo ou diretório com esse nome, será um erro.

De qualquer forma, você terá que renomear ou excluir os arquivos / diretórios existentes antes de criar o link.

ln -s path/target link

criará

link > path/target

    
por 28.06.2013 / 14:05