символическая ссылка на существующий каталог

символическая ссылка на существующий каталог

Я пытаюсь изменить /var/logкаталог на символическую ссылку. Как /var/logсуществует, я попробовал, как показано ниже.

# cd /var
# mv log log.bk                             (1)
# ln -snf /path/to/somewhere/var/log log    (2)

Этот способ не работает должным образом, поскольку между и /var/logсоздается новый каталог (я полагаю, его создает какой-то системный демон), символическая ссылка создается внутри каталога.(1)(2)/var/log

# ls -l /var/log
     :
lrwxrwxrwx 1 root root    23 Sep  2 13:27 log -> /path/to/somewhere/var/log
-rw-r----- 1 root adm  38028 Sep  2 13:51 messages
     :

Мои ожидания следующие.

# ls -l /var
    :
lrwxrwxrwx 1 root root    23 Sep  2 13:27 log -> /path/to/somewhere/var/log
drwxr-xr-x 8 root root  1680 Sep  2 06:25 log.bk
    :

Как я могу это сделать?

решение1

саморазрешение.

Я использую mount --bindвместо символической ссылки.

mount --bind /path/to/somewhare/var/log log

решение2

Если вы действительно хотите сделать то, о чем говорите (а не то, на что согласились),

  1. Попробуйте выполнить это как одну командную строку: mv log log.bk && ln -snf /path/to/somewhere/var/log log.
  2. Попробуйте в однопользовательском режиме.

Связанный контент