Не удается изменить назначение символической ссылки

Я хочу изменить пункт назначения существующей символической ссылки, не удаляя ссылку или старый пункт назначения.

Ранее я создал символическую ссылку на каталог, например:

$ cd /usr/lib/jvm/

$ ls -lh
drwxr-xr-x 8 uucp  143 4.0K Sep 10 20:22  jdk1.7.0_04
drwxr-xr-x 8 uucp  143 4.0K Aug 29 05:42  jdk1.7.0_07

$ sudo ln -s jdk1.7.0_04 oracle-jdk-7

$ ls -lh
drwxr-xr-x 8 uucp  143 4.0K Sep 10 20:22  jdk1.7.0_04
drwxr-xr-x 8 uucp  143 4.0K Aug 29 05:42  jdk1.7.0_07
lrwxrwxrwx 1 root root   12 May 11 11:27  oracle-jdk-7 -> jdk1.7.0_04/

Теперь я хочу изменить это, чтобы связать его с другим каталогом:

$ sudo ln --force -s jdk1.7.0_07 oracle-jdk-7

Но Это не работает без ошибок:

$ ls -lh
drwxr-xr-x 8 uucp  143 4.0K Sep 10 20:36  jdk1.7.0_04
drwxr-xr-x 8 uucp  143 4.0K Aug 29 05:42  jdk1.7.0_07
lrwxrwxrwx 1 root root   12 May 11 11:27  oracle-jdk-7 -> jdk1.7.0_04/

Любая помощь?

21
задан 10 September 2012 в 20:30

1 ответ

Для создания символьной ссылки на каталог используйте 'n' опцию:

ln -sfn DESTINATION_DIRECTORY LINK_NAME
  • DESTINATION_DIRECTORY название цели ссылки;
  • LINK_NAME название ссылки.
  • f опция означает заменять существующую ссылку (т.е., удалять ее сначала).

n опция является немного сложной. Я полагаю, что Ваша команда, возможно, создала ссылку на jdk1.7.0_07 в каталоге jdk1.7.0_04, по ссылке oracle-jdk-7 вместо того, чтобы заменять ссылку. Если так, необходимо удалить ссылку для предотвращения беспорядка.

31
ответ дан 10 September 2012 в 20:30

Другие вопросы по тегам:

Похожие вопросы: