[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Bug-tar] tar-1.13.25: unable to restore hardlink
From: |
Paul Eggert |
Subject: |
Re: [Bug-tar] tar-1.13.25: unable to restore hardlink |
Date: |
Wed, 06 Oct 2004 12:29:15 -0700 |
User-agent: |
Gnus/5.1006 (Gnus v5.10.6) Emacs/21.3 (gnu/linux) |
Joerg Schilling <address@hidden> writes:
> If GNU tar by default skips leading '/' characters it should do the same
> with hard link names. This is what star does since 1995.
Yes, GNU tar does that; I just checked with tar 1.14.
$ cd /tmp
$ touch a
$ ln a b
$ tar -Pcf tar /tmp/a /tmp/b
$ tar tvf tar
-rw-r--r-- eggert/eggert 0 2004-10-06 12:24:34 /tmp/a
hrw-r--r-- eggert/eggert 0 2004-10-06 12:24:34 /tmp/b link to /tmp/a
$ mkdir d
$ cd d
$ tar xvf ../tar
/tmp/a
tar: Removing leading `/' from member names
/tmp/b
tar: Removing leading `/' from hard link targets
$ ls -li tmp
total 0
66600 -rw-r--r-- 2 eggert eggert 0 2004-10-06 12:24 a
66600 -rw-r--r-- 2 eggert eggert 0 2004-10-06 12:24 b
> Note that is is most likely wrong to do the same with symlinks.
Correct. Tar doesn't do it for symlinks. For example:
$ cd /tmp
$ touch a
$ ln -s /tmp/a b
$ tar -Pcf tar /tmp/a /tmp/b
$ tar tvf tar
-rw-r--r-- eggert/eggert 0 2004-10-06 12:27:53 /tmp/a
lrwxrwxrwx eggert/eggert 0 2004-10-06 12:27:58 /tmp/b -> /tmp/a
$ mkdir d
$ cd d
$ tar xvf ../tar
/tmp/a
tar: Removing leading `/' from member names
/tmp/b
$ ls -li tmp
total 0
66599 -rw-r--r-- 1 eggert eggert 0 2004-10-06 12:27 a
66600 lrwxrwxrwx 1 eggert eggert 6 2004-10-06 12:28 b -> /tmp/a