यह मेरे लिए काम करता है, का आउटपुट क्या है strace ln -f -s /var/www/html/releases/build1390 app-current?
ओह, चूंकि यह एक निर्देशिका है जिसे आपको -nबिना किसी रोक-टोक के जोड़ना होगा और इस मुद्दे को हल करना चाहिए। -fवास्तव में एक सुविधा के बाद से -f जोड़ने के लिए यह वैसे भी अनलिंक करने का कारण बनता है। हालांकि मुझे लगता है कि यह सामान्य रूप से भरी हुई प्रणाली पर कुछ सौ एमएस तेजी से होगा।
उदाहरण के लिए, यदि arf पहले से ही / घर को इंगित करता है:
स्ट्रेस विद -n:
strace ln -n -f -s / arf
...
symlink("/", "arf") = -1 EEXIST (File exists)
unlink("arf") = 0
symlink("/", "arf") = 0
बिना स्ट्रेस -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
तो बिना -narf के dereferenced हो जाता है इसलिए ln इसे उतना ही सही मानते हैं जितना कि वास्तव में /। आपके विशेष उदाहरण में, अगर कोई त्रुटि नहीं है, तो मुझे लगता है कि आपने शायद अंदर एक नया प्रतीकात्मक लिंक बनाया है /var/www/html/releases/build1390 app-currentऔर इसे साफ करना चाहते हैं।