Subject: Re: Upgrading
To: Chris Jones <cjones@honors.montana.edu>
From: Bill Studenmund <skippy@macro.stanford.edu>
List: port-pmax
Date: 05/01/1998 11:47:29
On Fri, 1 May 1998, Chris Jones wrote:

> Instead, you may want to do this:
> 
> tar --unlink -x -z -v -p -f foo.tar.gz
> 
> The "--unlink" is the key option; it says to unlink the destination file,
> if it exists, before writing any data into it.  If the underlying inode is
> in use by any running processes, it'll hang around until said processes
> exit.

In the part I snipped, you said, "at one time." 1.3's tar will do the
--unlink by default, so 1.3 & post upgrades will be fine. Though doing it
manually on a 1.2 system will need the --unlink option.

Another place this is important is if the new package has different files
whose names were hardlinked together previously. Mainly fsck and fsck_ffs.
In 1.2, they were the same thing. In 1.3, they're not. If you didn't use
--unlink, then you'd end up with fsck and fsck_ffs being the same thing
(ffs_fsck since it is written later).

fsck and fsck_ffs now take different command line options. Specifically,
fsck_ffs doesn't take the "-p  " option alone to mean check all fs's, as
does fsck. So the "fsck -p" in rc crashes. We've seen this a lot on
port-mac68k :-)

Take care,

Bill