Предоставляет ли какая-либо операционная система механизм (системный вызов, а не программа командной строки), чтобы изменить путь, на который ссылается символическая ссылка (символическая ссылка), - иначе, чем отключение старого и создание нового?
В стандарте POSIX нет. Solaris 10 - нет. MacOS X 10.5 (Leopard) нет. (Я уверен, что ни AIX, ни HP-UX не делают этого. Судя по этому списку системные вызовы Linux, Linux не имеет такой системы вызовите.)
Есть ли что-нибудь, что делает?
(Я ожидаю, что ответ будет "Нет".)
Так как доказательство отрицательного жестко, реорганизуйте вопрос.
Если вы знаете, что некоторая (Unix-подобная) операционная система, которая еще не указана, не имеет системного вызова для перезаписи значения символической ссылки (строка, возвращаемая readlink()
), не удаляя старую символическую ссылку и создавая новую, пожалуйста добавьте его - или их - в ответ.