M HYPE SPLASH
// general

symbolic link for existing directory

By Emma Terry

I am trying to change /var/log directory to symbolic link. As /var/log exists, I tried as below.

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

This way does not work well because a new /var/log directory is created between (1) and (2) ( I guess some system daemon creates it ), the symbolic link is created inside /var/log directory.

# 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 :

My expecting is as below.

# 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 :

How can I do this?

2 Answers

self resolved.

I use mount --bind instead of symbolic link.

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

If you really want to do what you say what you want to do (instead of what you settled for),

  1. Try it as one command line: mv log log.bk && ln -snf /path/to/somewhere/var/log log.
  2. Try it in single-user mode.

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy