From owner-freebsd-questions Sun Jul 22 21:23:23 2001 Delivered-To: freebsd-questions@freebsd.org Received: from w2xo.pgh.pa.us (18.gibs5.xdsl.nauticom.net [209.195.184.19]) by hub.freebsd.org (Postfix) with ESMTP id 88E4037B401 for ; Sun, 22 Jul 2001 21:23:18 -0700 (PDT) (envelope-from durham@w2xo.pgh.pa.us) Received: from jimslaptop.int (jimslaptop.int [192.168.5.8]) by w2xo.pgh.pa.us (8.11.3/8.11.3) with ESMTP id f6N4ULm30653; Mon, 23 Jul 2001 00:30:22 -0400 (EDT) (envelope-from durham@w2xo.pgh.pa.us) Date: Mon, 23 Jul 2001 00:20:58 -0400 (EDT) From: Jim Durham X-X-Sender: To: Erik Trulsson Cc: Mark Rowlands , matt , Subject: Re: Security Issues And Iso Images In-Reply-To: <20010723034216.A36349@student.uu.se> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-questions@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Mon, 23 Jul 2001, Erik Trulsson wrote: > On Sun, Jul 22, 2001 at 09:04:50PM -0400, Jim Durham wrote: > > > > > > On Mon, 23 Jul 2001, Erik Trulsson wrote: > > > > > On Sun, Jul 22, 2001 at 08:04:27PM -0400, Jim Durham wrote: > > > > On Sun, 22 Jul 2001, Mark Rowlands wrote: > > > > > > > > > 9) cd /usr/src > > > > > > > > > > make buildworld && make buildkernel KERNCONF=YOURKERNEL \ > > > > > > > > I don't want to confuse the issue... but I have "an issue" 8-) . Aren't > > > > you building your kernel against old libs? IMHO you want to do your > > > > buildworld, then drop to single-user (you can't install a running binary), > > > > do your installworld, then buildkernel, then installkernel, so that your > > > > new kernel is built against the newly installed libraries. > > > > > > Nope, make buildkernel will use the libraries in /usr/obj that were > > > built by the previous buildworld. > > > builworld, buildkernel, installkernel, installworld is the correct > > > sequence. > > > > > You might want to drop into single user mode before the installworld > > > but as long as the system is quiet that isn't necessary. > > > > > > > Maybe I'm out of date, but how do you replace a running binary that > > is mapped into address space while it's running? The only way to do > > it, as far as I know, is to rename it and then create a new binary > > which will run after a reboot, leaving the old file there with another > > name. Does the script do all this, or have the rules changed? > > (Note that dropping into single user mode would not change anything > about this.) > > Replacing the binary of running program is no problem. You just > overwrite the old file with the new one. The system automatically > keeps track of the parts of the old binaries that it needs. > This is similar to how you can delete a file that another program hold > open. The other program can still read and write to the file even > though it no longer appears in a directory listing. The space for the > file won't be reclaimed until no program is using it any more. > I don't know for how long this has been true but several years at least > I believe. Quite possibly forever. > Not forever. I know this has come up from time to time when I've tried to delete the file entry of a running process. I'm quite sure 4.3 BSD was this way. Maybe since 4.4? > (Although I have run into problems on a Solaris system with NFS-mounted > directories a couple of years ago where removing the binary of a > running program caused a program crash fairly quickly. That system has > since been upgraded and the problem disappeared.) > > > > > Also, in my reading somewhere, and I can't find it now of course, > > it was mentioned that you had to specifically ask for the /obj libs > > to be used, and the person didn't feel this worked well for some > > reason I also forget (I forget a lot lately) > > This might be from before the new buildkernel target was introduced. > Back then the installed files were used and not the ones in /usr/obj. > > Note also that for quite some time you could not even do a 'make > buildkernel' without first having done a 'make buildworld'. This was > because the buildkernel target tried to use the files built by a > buildworld and failed if they weren't found. I believe this has since > been fixed. > > > > > > If you can amplify on the whys of all this, I'm sure there are others > > who would be very interested. > > > > Thanks, > > > > Jim > > > If in doubt please see /usr/src/UPDATING which describes the official > way of upgrading which is: > > To update from 4.0-RELEASE or later to the most current > 4.x-STABLE > ---------- > make buildworld > make buildkernel KERNCONF=YOUR_KERNEL_HERE > make installkernel KERNCONF=YOUR_KERNEL_HERE > reboot (in single user) [1] > make installworld > mergemaster > reboot > > (The reboot before installworld can usually be skipped on quiet systems.) > Thanks, Eric. -Jim To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message