"Douglas A. Tutty" <dtu...@vianet.ca> writes: >On Sat, May 02, 2009 at 09:04:38PM +0000, T o n g wrote: >> Hi, >> >> I want to tar up a symbolic linked directory as if it is a real >> directory. Is there any easy way to do it? >> >> Let me explain with an example (that you can try): >> >> mkdir d1 >> touch d1/{a,b,c} >> ln -s c d1/d >> ln -s d1 d2 >> >> I want that the result tar file looks like this: >> >> tar -tvzf d2.tgz >> drwxrwx--x tong/tong 0 2009-05-01 09:38 d2/ >> -rw-rw---- tong/tong 0 2009-05-01 09:37 d2/a >> -rw-rw---- tong/tong 0 2009-05-01 09:37 d2/b >> -rw-rw---- tong/tong 0 2009-05-01 09:37 d2/c >> lrwxrwxrwx tong/tong 0 2009-05-01 09:38 d2/d -> c >> >> Any easy way to do it?
>add -h to the tar parameters. It dereferences the symbolic lyinks. >However, then you won't get the d2/d -> c reference. I can't see that it would be possible to dereference the top-level symlink but no others. No commands that I know of support selective symlink dereferencing, except find(1) with -H. That lead me to try: $ find -H d2 | cpio -o -L -H ustar > d2.tar This comes close, storing d2/d as a link, but as a hardlink, not a symlink. -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org