symbolic link 만들기에 대한 질문입니다.

study의 이미지

아래와 같이 symbolic link를 만들어보았습니다.

$ln -s $TEST_PATH/aaa/test.data $TEST_PATH/bbb/test.data

TEST_PATH는 /home/work1/test/level1/level2입니다.
위와같이 만들고 /home/work1/test/level1/level2/bbb에서 ls -la를 해보면 아래와 같이 symbolic link가
/home/work1/test/level1/level2/bbb에 만들어져 있습니다.

$ ls -la
total 8
drwxrwxr-x 2 work1 work1 4096 Feb  6 14:32 .
drwxrwxr-x 4 work1 work1 4096 Feb  6 14:31 ..
lrwxrwxrwx 1 work1 work1   45 Feb  6 14:32 test.data -> /home/work1/test/level1/level2/aaa/test.data

여기서 test 아래를 tar로 묶어서, 다른 direcotry로 가서 untar를 했습니다.

$ tar cvf test.tar ./test

이렇게 만든 test.tar를 /home/work2 로 가지고 가서 untar를 했습니다.

$ tar xvf test.tar

이렇게 하고 /home/work2/test/level1/level2/bbb로 가서보면 symbolic link가 예전 위치를 가리키고 있습니다.

$ ls -la
total 8
drwxrwxr-x 2 work2 work2 4096 Feb  6 14:32 .
drwxrwxr-x 4 work2 work2 4096 Feb  6 14:31 ..
lrwxrwxrwx 1 work2 work2   45 Feb  6 14:32 test.data -> /home/work1/test/level1/level2//aaa/test.data

이걸 work2에서도 test.data 가 /home/work2/test/level1/level2/aaa/test.data 를 가리키게 하려면 어떻게 해야할까요?

조언 부탁드립니다.

Prentice의 이미지

$TEST_PATH 내용을 절대 경로로 정의하셨으니 shell expansion 후 절대 경로로 명령이 실행되어 filesystem에 절대 경로로 저장되고 있는 상황 같습니다.

cd $TEST_PATH/bbb/
ln -s ../aaa/test.data test.data

이런 식으로 상대 경로로 지정하시면 원하시는 결과가 나올까요?