David Brownlee <[email protected]> writes: > On Tue, 12 Nov 2019 at 11:33, Jaromír Doleček <[email protected]> > wrote: >> >> Le mar. 12 nov. 2019 à 12:05, Martin Husemann <[email protected]> a écrit : >>> >>> Not seen this locally, but that would be the switch to bsd/libarchive tar. >>> Maybe it does not unlink files before extraction and replaces them in-space? >>> >>> I do the same kind of updates, but usually on a very quiet system. >>> >>> The crashes you see are from other running processes? Joerg would likely >>> say: "don't do that" ;-) >>> >> >> I thought we do unlink by default, I think I remember a commit to that >> effect in past. The unlink is very useful default behaviour of GNU tar. >> In-place overwrite is very rarely the wanted behaviour. > > Aha thanks! > > I would argue the switch to unlink no longer being the default is a > regression. If its mandated by standards or we're the only outlier > then it probably makes sense to switch, but otherwise its sprinkling > occasional non deterministic breakage across a bunch of scripts which > previously ran fine on NetBSD.
I'm not quite clear on 'unlink by default', but it seems to me the replacement files should be written to a temporary name and then renamed() into place so the file is either the old version or the new version. Despite it being technically irregular, unpacking sets on a running system is a very normal thing to do. So I'm with abs@ ont this - the old behavior should be default.
