Eso funciona para mí, ¿cuál es la salida de strace ln -f -s /var/www/html/releases/build1390 app-current
?
Oh, dado que es un directorio que debe agregar -n
sin desreferencia y esto debería resolver el problema. -f
es realmente más conveniente ya que agregar el -f solo hace que se desvincula de todos modos. Aunque supongo que probablemente sucedería unos cientos de ms más rápido en un sistema normalmente cargado.
Por ejemplo, si arf ya apunta a / home:
strace con -n
:
strace ln -n -f -s / arf
...
symlink("/", "arf") = -1 EEXIST (File exists)
unlink("arf") = 0
symlink("/", "arf") = 0
strace Sin -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
Entonces, sin que el -n
arf sea desreferenciado, entonces lo trata como un arf como si fuera realmente /
. En su ejemplo particular, si no hay ningún error, creo que probablemente ha creado un nuevo enlace simbólico dentro /var/www/html/releases/build1390 app-current
y querrá limpiarlo.