यह मेरे लिए काम करता है, का आउटपुट क्या है 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
तो बिना -n
arf के dereferenced हो जाता है इसलिए ln इसे उतना ही सही मानते हैं जितना कि वास्तव में /
। आपके विशेष उदाहरण में, अगर कोई त्रुटि नहीं है, तो मुझे लगता है कि आपने शायद अंदर एक नया प्रतीकात्मक लिंक बनाया है /var/www/html/releases/build1390 app-current
और इसे साफ करना चाहते हैं।