On Wed, Jan 5, 2011 at 3:41 PM, Paul Eggert <[email protected]> wrote:
> On 01/05/11 13:58, Michael Lawrence wrote: > > > If I understand you correctly, with -h there should be no links > > within the archive, i.e., there are two copies of foo in the > > archive. This is not how tar >= 1.24 behaves. > > I'm afraid it's not that simple. -h prevents *soft* links in the > archive, but it doesn't prevent *hard* links: > > $ touch foo > $ ln foo foo-hard > $ ln -s foo foo-soft > $ ls -l foo-hard foo-soft > -rw-r--r-- 2 eggert eggert 0 Jan 5 15:02 foo-hard > lrwxrwxrwx 1 eggert eggert 3 Jan 5 15:03 foo-soft -> foo > $ tar chf x.tar foo-hard foo-soft > $ tar tvf x.tar > -rw-r--r-- eggert/eggert 0 2011-01-05 15:02 foo-hard > hrw-r--r-- eggert/eggert 0 2011-01-05 15:02 foo-soft link to foo-hard > > This behavior is the same in tar 1.22 and 1.25 (I just checked). > > What's different in tar 1.24 and later, is that tar's behavior > does not change based on whether foo-hard's link count is > 2 or more. As Joerg Schilling notes, earlier versions of GNU tar > treat foo-soft differently if foo-hard's link count is 1. However, > this was a bug in GNU tar. > > It looks like I completely screwed up the initial bug report. I apologize for wasting everyone's time. Please forget everything and consider the following. I'm only talking about symlinks here, not hard links. There's a difference between tar 1.24/1.25 and 1.23: $ ls -l foo bar lrwxrwxrwx 1 larman larman 3 Jan 4 15:06 bar -> foo -rw-r--r-- 1 larman larman 0 Jan 4 15:06 foo $ tar --version tar (GNU tar) 1.25 [clipped] $ tar cfh foo.tar foo bar $ tar tfv foo.tar -rw-r--r-- larman/larman 0 2011-01-04 15:06 foo hrw-r--r-- larman/larman 0 2011-01-04 15:06 bar link to foo The above looks broken to me. The symlink becomes a hard link in the archive. I would have expected the following: $ tar --version tar (GNU tar) 1.23 $ tar cfh foo.tar foo bar $ tar tfv foo.tar -rw-r--r-- larman/larman 0 2011-01-04 15:06 foo -rw-r--r-- larman/larman 0 2011-01-04 15:06 bar Thanks, Michael As far as I can tell, this issue is irrelevant to Amanda. > The problem with Amanda that Gene Heskett is referring to > was fixed in a November 22 patch > <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00089.html>. > It may be time to distribute a new version of GNU tar, which > incorporates that patch. > >
