Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 19 Mar 2008 13:46:07 +0100
From:      "Michael Grant" <mg-fbsd3@grant.org>
To:        freebsd-stable@freebsd.org
Subject:   Re: Upgrading to 7.0 - stupid requirements
Message-ID:  <62b856460803190546t4abfcb9fu7d3410646d81b656@mail.gmail.com>
In-Reply-To: <200803191047.m2JAl7YL070946@lurza.secnetix.de>
References:  <867igo3cih.fsf@zid.claresco.hr> <200803191047.m2JAl7YL070946@lurza.secnetix.de>

next in thread | previous in thread | raw e-mail | index | archive | help
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 <olli@lurza.secnetix.de> wr=
ote:
> 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=E4ftsfuehru=
ng:
>  secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht M=
=FCn-
>  chen, HRB 125758,  Gesch=E4ftsf=FChrer: Maik Bachmann, Olaf Erb, Ralf Ge=
bhart
>
>  FreeBSD-Dienstleistungen, -Produkte und mehr:  http://www.secnetix.de/bs=
d
>
>  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 "freebsd-stable-unsubscribe@freebsd.org=
"
>
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?62b856460803190546t4abfcb9fu7d3410646d81b656>