Recovering base system files after failed installworld

Matthew Seaman m.seaman at
Mon Mar 15 19:30:17 UTC 2010

Hash: SHA1

On 15/03/2010 18:16:17, Alejandro Imass wrote:
> Hi,
> I tried upgrading from 6.2 STABLE to 7.3 RELEASE, and everything went
> very smooth until I rebooted the new kernel. Make installworld failed
> complaining that cc1 was not executable. After a lot of tests, I came
> to the conclusion that the new 7.3 kernel had some sort of problem
> with my gvinum partitions, since executables were mysteriously
> becoming corrupt and the miraculously fixed after reboot. So I
> reverted to the old kernel and the system booted without any problems.
> I reverted with csup to 6.2 STABLE sources, but now I realize that
> some binaries of the base system were modified by the failed
> installworld. For example, it seems that libc.a is not compatible with
> the compiler as I now get:
> /usr/lib/libc.a: could not read symbols: Malformed archive
> Now, the question I have is: is there any way to revert all system
> binaries to 6.2 STABLE without a previous backup? Can a utility like
> freebsd-update help me restore these binaries?

Yes.  In essence what you need to do is obtain the 6.2 sources and run
through a standard buildworld type update.  In principle, you could use
freebsd-update similarly, but 6.2 is out of support and not available
that way. 6.4 is still under support, and the 6.2 -> 6.4 upgrade should
be a lot less risky than 6.2 -> 7.3 if you're still eager t try

It is possible that you will have files installed by 7.3 still on your
hard drive. Ones that don't exist in 6.X and so don't get overwritten by
reinstalling 6.X.  As the prime candidates for that sort of thing are
the updated shlibs from 7.3, you need to check into that, and remove
anything that shouldn't be there.  Otherwise you can run into trouble if
you update any ported software -- programs crashing because they try and
dynamically link against two different versions of the same shlib.  It's
the same problem you can encounter after a major version upgrade (and
the reason for the recommended practice of reinstalling all ported
software), just in reverse.

I don't recall any warnings of possible problems with gvinum
compatibility between versions 6, 7 or 8.  However, that does not in any
way mean there weren't any, and you should check the release notes for
the various releases since 6.2 carefully.  It may be a worst case
scenario of backing the system up, and then reinstalling from scratch --
in which case, a good strategy would be to have a RAID1 mirror (ie.
gmirror(8)) for the OS and separate data partitions using whatever RAID
level you had implemented using gvinum.  Or else go the whole hog and
build the system using ZFS.  Either of those should give you good future
proofing against this sort of thing happening to you again.



- -- 
Dr Matthew J Seaman MA, D.Phil.                   7 Priory Courtyard
                                                  Flat 3
PGP:     Ramsgate
                                                  Kent, CT11 9PW
Version: GnuPG/MacGPG2 v2.0.14 (Darwin)
Comment: Using GnuPG with Mozilla -


More information about the freebsd-questions mailing list