Date: Mon, 23 Jul 2001 00:20:58 -0400 (EDT) From: Jim Durham <durham@w2xo.pgh.pa.us> To: Erik Trulsson <ertr1013@student.uu.se> Cc: Mark Rowlands <mark.rowlands@minmail.net>, matt <matt@bluemoon.27south.com>, <freebsd-questions@FreeBSD.ORG> Subject: Re: Security Issues And Iso Images Message-ID: <Pine.BSF.4.33.0107230017550.2936-100000@jimslaptop.int> In-Reply-To: <20010723034216.A36349@student.uu.se>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.33.0107230017550.2936-100000>