bug-tar
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-tar] Bug with files which have hardlinks


From: Joerg Schilling
Subject: Re: [Bug-tar] Bug with files which have hardlinks
Date: Sat, 09 Oct 2010 20:38:39 +0200
User-agent: nail 11.22 3/20/05

Bob Proulx <address@hidden> wrote:

> That does seem odd to me.  Compare these two cases:
>
>   $ date -R > afile
>   $ ls -l afile
>   -rw-rw-r-- 1 bob bob 32 2010-10-09 01:07 afile
>   $ tar cvvf x.tar afile afile afile
>   -rw-rw-r-- bob/bob          32 2010-10-09 01:07 afile
>   -rw-rw-r-- bob/bob          32 2010-10-09 01:07 afile
>   -rw-rw-r-- bob/bob          32 2010-10-09 01:07 afile
>
> All three copies of the file are in the archive.  Now let's add a hard
> link to the file.

This case is not really different as SUSv2 permitted tar to include data even 
for hardlinks on files.

>   $ ln afile hlink
>   $ ls -l afile
>   -rw-rw-r-- 2 bob bob 32 2010-10-09 01:07 afile
>
> Then try the tar archive creation again.
>
>   $ tar cvvf x.tar afile afile afile
>   -rw-rw-r-- bob/bob          32 2010-10-09 01:07 afile
>   hrw-rw-r-- bob/bob           0 2010-10-09 01:07 afile link to afile
>   hrw-rw-r-- bob/bob           0 2010-10-09 01:07 afile link to afile
>
> Why did having afile hardlinked to another file change the behavior of
> tar?  Why did having afile's hardlink count greater than 1 cause tar
> to think that afile was a hardlink to afile?  It is reporting it as
> being a hard link to itself.  That doesn't look right.  Why didn't it
> just archive the file again as it did in the first case?

For many tar implementation, this changes the behavior during extract.

> Of course when untar'ing the archive the file is restored okay.  So
> this seems like a completely academic question of why did tar behave
> differently and show a cosmetic difference in behavior trace output.
> As opposed to actually producing a result on disk which is incorrect.

Extracting the second archive only works correctly if the implementors of this
tar variant listened to the security warning related to hard links I put 
out in summer 2003.

The other tar implementations will remove the existing plain file while 
preparing to create the hardlink.

Jörg

-- 
 EMail:address@hidden (home) Jörg Schilling D-13353 Berlin
       address@hidden                (uni)  
       address@hidden (work) Blog: http://schily.blogspot.com/
 URL:  http://cdrecord.berlios.de/private/ ftp://ftp.berlios.de/pub/schily



reply via email to

[Prev in Thread] Current Thread [Next in Thread]