[Nottingham] Gentoo experts: emerge file collisions!?
Richard Ward
daedalusfall at gmail.com
Fri Aug 14 13:47:39 UTC 2009
Martin wrote:
> So... What is the procedure to complete the update without breaking the
> system the update is running on?
>
> (Or is this just a case of over-caution in portage?)
>
> Cheers,
> Martin
>
Ok, I think the following should work, but *please* either backup your
root partition or make a copy and try it in a chroot on the copy first,
obviously a system with a broken glibc is going to be a huge PITA.
It may make it easier to first build a binary package for glibc, that
way you won't have to recompile every time you try something, and you'll
have a convenient backup of all the files that glibc wants:
emerge glibc --buildpkgonly
Then do `ls $PKGDIR' to check the file is there. next time you want to
try and install this glibc version you can use:
emerge -K glibc
The best thing to do is probably to just temporarily disable collision
detection:
COLLISION_IGNORE="/" emerge glibc
With any luck thats all it will take, check stuff is working, re-emerge
stuff to use the new glibc, and move on.
If, however, vital files turn up missing/broken, you can just `emerge -k
glibc' again afterwards, or if that doesn't work due to missing files
just mount your system in a live distro or similar, untar the package
that emerge built, and dump the files in their correct locations.
Once thats done it may be an idea to re-emerge your whole system,
starting with gcc.
I you get problems of vital utilities breaking the process half way
through because they won't work with the new libc or without the missing
files, you can start the process again but first re-emerge them with
USE="STATIC" so that they will no longer need the shared libraries (eg
tar, wget).
Keep us posted on how it goes, and do make a backup first!
Richard
P.S.
I've never used one, but there are such things as overlay filesystems,
where you mount a file system read-only, then mount another one 'on top'
of it, so it appears from your point ov view you are modifying the
original system, but when you get rid of the overlay the original is
unmodified. It strikes me this would be perfect for doing what you are
trying to do, and would save all the time it takes to to a backup.
P.P.S
Make a backup first! :)
More information about the Nottingham
mailing list