Funziona per me, qual è l'output di strace ln -f -s /var/www/html/releases/build1390 app-current
?
Oh, dato che si tratta di una directory che è necessario aggiungere -n
senza alcuna dereferenza e questo dovrebbe risolvere il problema. -f
è molto più utile dal momento che l'aggiunta di -f causa solo il suo scollegamento comunque. Anche se immagino che probabilmente succederebbe qualche centinaio di ms più veloce su un sistema normalmente caricato.
Ad esempio, se arf punta già a / home:
straccia con -n
:
strace ln -n -f -s / arf
...
symlink("/", "arf") = -1 EEXIST (File exists)
unlink("arf") = 0
symlink("/", "arf") = 0
strace senza -n
:
strace ln -f -s / arf
...
write(2, "ln: "..., 4ln: ) = 4
write(2, "`arf/': cannot overwrite director"..., 34`arf/': cannot overwrite directory) = 34
write(2, "\n"..., 1) = 1
Quindi, senza che l' -n
arf venga dereferenziato, allora lo tratta come se fosse effettivamente /
. Nel tuo esempio particolare, se non ci sono errori, penso che tu abbia probabilmente creato un nuovo link simbolico all'interno di /var/www/html/releases/build1390 app-current
e vorresti ripulirlo.