Date: Mon, 15 Mar 2010 19:29:47 +0000 From: Matthew Seaman <m.seaman@infracaninophile.co.uk> To: Alejandro Imass <ait@p2ee.org> Cc: freebsd-questions@freebsd.org Subject: Re: Recovering base system files after failed installworld Message-ID: <4B9E8AAB.9040204@infracaninophile.co.uk> In-Reply-To: <a14066a01003151116v6327e0c2u4c0f2df449ca35f7@mail.gmail.com> References: <a14066a01003151116v6327e0c2u4c0f2df449ca35f7@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
-----BEGIN PGP SIGNED MESSAGE----- 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 freebsd-update. 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. Cheers, Matthew - -- Dr Matthew J Seaman MA, D.Phil. 7 Priory Courtyard Flat 3 PGP: http://www.infracaninophile.co.uk/pgpkey Ramsgate Kent, CT11 9PW -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.0.14 (Darwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkueiqsACgkQ8Mjk52CukIwKhgCgjgS/cxaA4tk22gKBC9fhxonk a1kAn1kffiZwlV5ydvLiDUWlCALeiDY5 =TfeA -----END PGP SIGNATURE-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4B9E8AAB.9040204>