Điều đó làm việc cho tôi, đầu ra là strace ln -f -s /var/www/html/releases/build1390 app-current
gì?
Ồ, vì nó là một thư mục bạn cần thêm -n
mà không có sự thiếu sót nào và điều này sẽ giải quyết vấn đề. -f
thực sự tiện lợi hơn vì việc thêm -f chỉ khiến nó không liên kết được. Mặc dù tôi đoán nó có thể sẽ xảy ra nhanh hơn vài trăm ms trên một hệ thống được tải bình thường.
Ví dụ: nếu arf đã trỏ đến / home:
bước đi với -n
:
strace ln -n -f -s / arf
...
symlink("/", "arf") = -1 EEXIST (File exists)
unlink("arf") = 0
symlink("/", "arf") = 0
không có -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
Vì vậy, không có -n
arf bị hủy đăng ký nên tôi coi nó như arf như thể nó thực sự /
. Trong ví dụ cụ thể của bạn, nếu không có lỗi, tôi nghĩ có lẽ bạn đã tạo một liên kết tượng trưng mới bên trong /var/www/html/releases/build1390 app-current
và sẽ muốn dọn sạch nó.