Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 10 Dec 1995 15:59:22 +0000 ()
From:      Michael Smith <>
To: (John Goerzen)
Subject:   Re: ****HELP*****
Message-ID:  <>
In-Reply-To: <> from "John Goerzen" at Dec 7, 95 04:54:53 pm

Next in thread | Previous in thread | Raw E-Mail | Index | Archive | Help
John Goerzen stands accused of saying:
> > Obviously not very experienced with UNIX.  If any of the programs
> > you are attempting to overwrite happen to be running, you won't be
> > able to open them for writing, even as root.  You'll obtain EBUSY
> Why would they be running if you boot of the install floppy?

Cross purposes here; he's talking about upgrading over a running system.

> It would seem to me that to overwrite a file _should_ make the
> change in-place, that is, without having to delete, recreate, etc.
> At least, that's what DOS and OS/2 do, and I wonder why FreeBSD
> would be worse?

You don't understand how executable files are handled by FreeBSD.  When
a program is run, its file effectively becomes a read-only part of the 
swap space, and parts of the file are swapped in as required to be run.

This means that while the program is running, the file can't be changed, 
or the running program would crash.

If you delete the file, it's still referenced (by the kernel, which is
running the program), so while the directory entry goes away, the file 
still exists and the program runs fine.  Once you've done this, you can 
create a new file and matching directory entry without causing any problems.

Having said this, I'm fairly sure that the extraction process as currently
implemented does actually do the Right Thing.

> John Goerzen, programmer and owner   | MICRO$oft only exists because some

]] Mike Smith, Software Engineer    [[
]] Genesis Software              [[
]] High-speed data acquisition and      (GSM mobile) 041-122-496        [[
]] realtime instrument control          (ph/fax)  +61-8-267-3039        [[
]] "Who does BSD?" "We do Chucky, we do."                               [[

Want to link to this message? Use this URL: <>