Bu benim için çalışıyor, çıktısı strace ln -f -s /var/www/html/releases/build1390 app-current
nedir?
Oh, bu bir zorunluluk olmadan eklemeniz gereken bir dizin olduğundan -n
ve bu sorunu çözmelidir. -f
gerçekten çok daha fazla kolaylık sağlıyor çünkü -f'yi eklemek yine de bağlantının kopmasına neden oluyor. Her ne kadar normal yüklü bir sistemde birkaç yüz ms daha hızlı olacağını tahmin etsem de.
Örneğin, eğer arf zaten / home'u gösteriyorsa:
Strace -n
: ile
strace ln -n -f -s / arf
...
symlink("/", "arf") = -1 EEXIST (File exists)
unlink("arf") = 0
symlink("/", "arf") = 0
Olmadan strace -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
Öyleyse -n
arf onaysız kaldığı için , sanki gerçekte olduğu gibi arf gibi davranır /
. Özel örneğinizde, eğer bir hata yoksa, muhtemelen içinde yeni bir sembolik bağlantı oluşturduğunuzu /var/www/html/releases/build1390 app-current
ve bunu temizlemek isteyeceğinizi düşünüyorum.