My server is live and serving customers. I can't afford to take the box down for a whole day while I upgrade ports. Is there any intelligent way to do this?
For example, could I do everything on a second disk while running the live system on the first disk? For example using a chroot so it thinks it's For example, might this work? 1) upgrade system in the canonical way: # make buildworld # make buildkernel # make installkernel # reboot # mergemaster -p # make installworld # mergemaster # reboot 2) make sure misc/compat6x is installed 3) on a second disk or in a directory somewhere like /new a) nullfs mount read-only all the things one needs inside a chroot to work except /usr/local b) create a writable /usr/local, /usr/X11R6, /compat/linux and /var/db in the chroot 4) then for each package installed, install it within the chroot 5) when all that's done, drop into single-user mode and move /usr/local, /usr/X11R6, /compat/linux, and /var/db/pkg to the real system (saving the old ones) 6) reboot Warning, I have never tried this. -Mike On Wed, Mar 19, 2008 at 11:47 AM, Oliver Fromme <[EMAIL PROTECTED]> wrote: > Hello Marko, > > I'm very sorry that you have trouble updating your FreeBSD > installation, but there are very good technical reasons to > update your packages, as others have already explained in > detail (i.e. library conflicts). > > When I updated my home workstation from FreeBSD 6 to 7, > I used the opportunity to clean up my installed packages, > which was long overdue anyway. > > First I saved the output from "pkg_info" in a file. Then > I edited it and removed everything that I don't need. > There was lots of superfluous crap in it, like ports that > I installed once out of curiosity but never continued to > use them, and ports that were installed as a dependency > once but aren't required anymore because the dependent > software is long gone. > > Then I did "pkg_delete \*", checked for left-overs in > /usr/local because not everything was removed cleanly, > and then installed the ports from my text file again. > I chose to compile from ports instead of installing > precompiled packages because the machine is fairly fast > (if you have a slow machine, installing packages will > be much faster, of course). > > It certainly went a lot quicker than if I had blindly > updated all ports without cleaning up. And now all of > my installed packages are guaranteed to be fresh and > up to date, and I only have the stuff on my harddisk > that I really need. > > Really, such situations where you should update all of > your packages is the best opportunity to clean up the > mess that has accumulated on your disk in a long time. > I recommend that everyone considers doing that, too, > instead of blindly running portupgrade. Of course, > the latter would work, too, but it takes longer and > will rather add to the mess instead of cleaning it. ;-) > > Best regards > Oliver > > -- > Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M. > Handelsregister: Registergericht Muenchen, HRA 74606, Geschäftsfuehrung: > secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün- > chen, HRB 125758, Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart > > FreeBSD-Dienstleistungen, -Produkte und mehr: http://www.secnetix.de/bsd > > Python is executable pseudocode. Perl is executable line noise. > > > _______________________________________________ > freebsd-stable@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-stable > To unsubscribe, send any mail to "[EMAIL PROTECTED]" > > _______________________________________________ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "[EMAIL PROTECTED]"